policer: don't compute CPU clock frequency for each API call 17/43217/10
authorArthur de Kerhor <[email protected]>
Tue, 17 Jun 2025 14:30:51 +0000 (16:30 +0200)
committerBenoit Ganne <[email protected]>
Mon, 30 Jun 2025 06:47:49 +0000 (06:47 +0000)
commit834bb74b1567e26ce2bbaa1a9626b3bd73fae0dd
tree079b0ee2dd3d96d5043b1d7749faf09f3d943f8d
parent75fd8adb48d7ca47dac9b2b7b227fd07b434fcf0
policer: don't compute CPU clock frequency for each API call

In some virtualized environments, where we can't get TSC from
clib_get_cpuid, os_cpu_clock_frequency can take more than 1ms
to return. As the TSC value is invariant over time, it can be
cached in policer_init instead of being recalculated everytime
a policer is created/updated.

Type: improvement
Change-Id: Icfd00feac76f35d562546a17e4830efb91dba219
Signed-off-by: Arthur de Kerhor <[email protected]>
src/vnet/policer/policer.c
src/vnet/policer/policer.h
src/vnet/policer/xlate.c