08/01/2018 16:43, Jasvinder Singh: > From: Cristian Dumitrescu <cristian.dumitre...@intel.com> > > This patch adds support for meter configuration profiles. > Benefits: simplified configuration procedure, improved performance. > > Q1: What is the configuration profile and why does it make sense? > A1: The configuration profile represents the set of configuration > parameters for a given meter object, such as the rates and sizes for > the token buckets. The configuration profile concept makes sense when > many meter objects share the same configuration, which is the typical > usage model: thousands of traffic flows are each individually metered > according to just a few service levels (i.e. profiles). > > Q2: How is the configuration profile improving the performance? > A2: The performance improvement is achieved by reducing the memory > footprint of a meter object, which results in better cache utilization > for the typical case when large arrays of meter objects are used. The > internal data structures stored for each meter object contain: > a) Constant fields: Low level translation of the configuration > parameters that does not change post-configuration. This is > really duplicated for all meters that use the same > configuration. This is the configuration profile data that is > moved away from the meter object. Current size (implementation > dependent): srTCM = 32 bytes, trTCM = 32 bytes. > b) Variable fields: Time stamps and running counters that change > during the on-going traffic metering process. Current size > (implementation dependant): srTCM = 24 bytes, trTCM = 32 bytes. > Therefore, by moving the constant fields to a separate profile > data structure shared by all the meters with the same > configuration, the size of the meter object is reduced by ~50%. > > Signed-off-by: Cristian Dumitrescu <cristian.dumitre...@intel.com> > Signed-off-by: Jasvinder Singh <jasvinder.si...@intel.com>
Applied for 18.05 (was postponed to preserve 18.02 ABI), thanks.