Re: [PATCH 1/7] General notification queue with user mmap()'able ring buffer

From: Peter Zijlstra
Date: Fri May 31 2019 - 07:18:53 EST


On Wed, May 29, 2019 at 10:02:43PM +0100, David Howells wrote:
> Jann Horn <jannh@xxxxxxxxxx> wrote:
>
> > Does this mean that refcount_read() isn't sufficient for what you want
> > to do with tracing (because for some reason you actually need to know
> > the values atomically at the time of increment/decrement)?
>
> Correct. There's a gap and if an interrupt or something occurs, it's
> sufficiently big for the refcount trace to go weird.
>
> I've seen it in afs/rxrpc where the incoming network packets that are part of
> the rxrpc call flow disrupt the refcounts noted in trace lines.

Can you re-iterate the exact problem? I konw we talked about this in the
past, but I seem to have misplaced those memories :/

FWIW I agree that kref is useless fluff, but I've long ago given up on
that fight.