From c7f942175b8c25c77ddc21561b52e3e6b5620b80 Mon Sep 17 00:00:00 2001 From: Alberto Compagno Date: Sat, 19 Jan 2019 17:28:57 +0100 Subject: Improved performance on data-fwd node: - Removed full pit entry initialization in favor of a lighter initialization on few fields - Squeezed pit entry size in order to store only the number of incomplete faces (as set in HICN_PARAM_PIT_ENTRY_PHOPS_MAX). The bitmap size is now determined by HICN_PARAM_FACES_MAX and optimized to do a fast lookup Replaced the field is_appface with the field flags in the hicn_buffer_t: - is_appface is now a flag with value 0x01 (HICN_BUFFER_FLAGS_FACE_IS_APP) - Added flag HICN_BUFFER_FLAGS_PKT_LESS_TWO_CL (0x02) to handle the copy of pkt with length < than 2*CACHE_LINES (in this case cloning is prevented by the cloning function in vpp). Such flag is initialized by the incoming face of the pkt. Change-Id: Ia956fd5719a28ee29f7fa2fd23d283964743efd8 Signed-off-by: Alberto Compagno --- hicn-plugin/src/hashtb.h | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'hicn-plugin/src/hashtb.h') diff --git a/hicn-plugin/src/hashtb.h b/hicn-plugin/src/hashtb.h index 1690419a1..b74e972b2 100755 --- a/hicn-plugin/src/hashtb.h +++ b/hicn-plugin/src/hashtb.h @@ -125,19 +125,15 @@ typedef struct * bucket. the node contains an embedded key; long keys are stored as chains * of keys. * - * The memory block for a node includes space for client data, additional memory - * located off the end of the htnode data structure. Size of client-supplied - * data is fixed, so we can use vpp pools. The PIT and FIB need to ensure - * that they fit within the available data area, or change the size to - * accomodate their needs. + * The memory block for a node includes space for storing outgoing faces for + * interests, additional memory located off the end of the htnode data structure. * - * NOTE: app_data_size currently applies to all apps, i.e. bigger FIB nodes - * means (leads to, requires) bigger PCS nodes */ -/* Size this so that we can offer 64B aligned on 64-bits to the applications */ -/* New PIT entry syze 62B */ -#define HICN_HASH_NODE_APP_DATA_SIZE 4184 //to support 512 entry //96 //190 to support 50 faces +/* Size this so that we can offer 64B aligned on 64-bits for storing outgoing + * faces information + */ +#define HICN_HASH_NODE_APP_DATA_SIZE 64 /* How to align in the right way */ typedef struct __attribute__ ((packed)) hicn_hash_node_s -- cgit 1.2.3-korg