Re: kernel BUG at fs/dcache.c:648! with v3.11-7890-ge5c832d

From: Al Viro
Date: Tue Sep 10 2013 - 23:56:45 EST


On Tue, Sep 10, 2013 at 08:22:56PM -0700, Linus Torvalds wrote:
> On Tue, Sep 10, 2013 at 6:48 PM, Waiman Long <waiman.long@xxxxxx> wrote:
> >
> > I need to clean up some comments in the code. The other thing that I want to
> > do is to introduce read_seqlock/read_sequnlock() primitives that do the
> > locking without incrementing the sequence number.
>
> I don't understand. That's the whole *point* of sequence numbers. The
> read-locker doesn't ever change the number, only the write-locker
> does.
>
> So I don't see what you would change.

I do. What we need on the second pass (one where we currently
take seq_writelock()) is exclusion against writers; nothing we are
doing is worth disturbing the readers - we don't change any data
structures. And simple grabbing the spinlock, without touching the
sequence number would achieve exactly that. Writers will have to
wait and won't be able to disturb us, readers won't notice anything
happening. So yes, this extra primitive does make sense here.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/