> 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.

> Signed-off-by: Nikhil Rao <nikhil.rao at intel.com>

Acked-by: Gage Eads <gage.e...@intel.com>

Thanks,
Gage

Reply via email to