On Mon, Sep 16, 2019 at 12:01 PM Nikhil Rao <nikhil....@intel.com> wrote: > > For a valid service, the core mask of the service > is checked against the current core and the corresponding > entry in the active_on_lcore array is set or reset. > > Upto 8 cores share the same cache line for their > service active_on_lcore array entries since each entry is a uint8_t. > Some number of these entries also share the cache line with > the internal_flags member of struct rte_service_spec_impl, > hence this false sharing also makes the service_valid() check > expensive. > > Eliminate false sharing by moving the active_on_lcore array to > a per-core data structure. The array is now indexed by service id.
Harry, any comments on this patch? Thanks. -- David Marchand