On Wed, 29 Aug 2018 12:23:15 +0200, Paolo Abeni wrote: > On Thu, 2018-08-23 at 20:14 +0200, Jakub Kicinski wrote: > > I asked Louis to run some tests while I'm travelling, and he reports > > that my worry about reporting the extra stats was unfounded. Update > > function does not show up in traces at all. It seems under stress > > (generated with stress-ng) the thread dumping the stats in userspace > > (in OvS it would be the revalidator) actually consumes less CPU in > > __gnet_stats_copy_basic (0.4% less for ~2.0% total). > > > > Would this match with your results? I'm not sure why dumping would be > > faster with your change.. > > Wild guess on my side: the relevant patch changes a bit the binary > layout of the 'tc_action' struct, possibly (I still need to check with > pahole) moving the tcf_lock and the stats field on different > cachelines, reducing false sharing that could affect badly such test.
I think in our tests we tried with and without pinning relevant processing to one core, and both results shown improvement. I don't have the actual samples any more, just perf script dump without CPU IDs to confirm things were pinned correctly.. :(