Peter Zijlstra
2017-Mar-22 14:33 UTC
[Bridge] [PATCH 07/17] net: convert sock.sk_refcnt from atomic_t to refcount_t
On Wed, Mar 22, 2017 at 06:22:16AM -0700, Eric Dumazet wrote:> But admittedly we can replace all these by standard refcount_inc() and > simply provide a CONFIG option to turn off the checks, and let brave > people enable this option.Still brings us back to lacking a real reason to provide that CONFIG option. Not to mention that this CONFIG knob will kill the warnings for everything, even the code that might not be as heavily audited as network and which doesn't really care much about the performance of refcount operations. So I'm actually in favour of _nocheck variants, if we can show the need for them. And I like your idea of being able to dynamically switch them back to full debug as well. But I would feel a whole lot better about the entire thing if we could measure their impact. It would also give us good precedent to whack other potential users of _nocheck over the head with -- show numbers.
Eric Dumazet
2017-Mar-22 14:54 UTC
[Bridge] [PATCH 07/17] net: convert sock.sk_refcnt from atomic_t to refcount_t
On Wed, 2017-03-22 at 15:33 +0100, Peter Zijlstra wrote:> > But I would feel a whole lot better about the entire thing if we could > measure their impact. It would also give us good precedent to whack > other potential users of _nocheck over the head with -- show numbers.I wont be able to measure the impact on real workloads, our productions kernels are based on 4.3 at this moment. I guess someone could code a lib/test_refcount.c launching X threads using either atomic_inc or refcount_inc() in a loop. That would give a rough estimate of the refcount_t overhead among various platforms.