From 54be0cc044f445853fae7b8995c477605250af16 Mon Sep 17 00:00:00 2001 From: Brian Russell Date: Mon, 15 Feb 2021 11:49:42 +0000 Subject: policer: improve policer struct Ensure policer struct is cache aligned and fits in one cache line. Give it a simpler name to reflect its job as the representation of a policer. Type: improvement Signed-off-by: Brian Russell Change-Id: If1ae4931c818b86eee20306e503f4e5d6b84bd0d --- src/vnet/policer/police.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/vnet/policer/police.h') diff --git a/src/vnet/policer/police.h b/src/vnet/policer/police.h index 7867a2e2f33..f780bf65c50 100644 --- a/src/vnet/policer/police.h +++ b/src/vnet/policer/police.h @@ -71,7 +71,7 @@ typedef enum typedef struct { - + CLIB_CACHE_LINE_ALIGN_MARK (cacheline0); u32 lock; // for exclusive access to the struct u32 single_rate; // 1 = single rate policer, 0 = two rate policer @@ -97,11 +97,12 @@ typedef struct u32 thread_index; // Tie policer to a thread, rather than lock u32 pad32; -} policer_read_response_type_st; +} policer_t; + +STATIC_ASSERT_SIZEOF (policer_t, CLIB_CACHE_LINE_BYTES); static inline policer_result_e -vnet_police_packet (policer_read_response_type_st * policer, - u32 packet_length, +vnet_police_packet (policer_t *policer, u32 packet_length, policer_result_e packet_color, u64 time) { u64 n_periods; -- cgit 1.2.3-korg