[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190619170940.GG17978@ZenIV.linux.org.uk>
Date: Wed, 19 Jun 2019 18:09:40 +0100
From: Al Viro <viro@...iv.linux.org.uk>
To: Vicente Bergas <vicencb@...il.com>
Cc: linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will.deacon@....com>
Subject: Re: d_lookup: Unable to handle kernel paging request
On Wed, Jun 19, 2019 at 06:51:51PM +0200, Vicente Bergas wrote:
> > What's your config, BTW? SMP and DEBUG_SPINLOCK, specifically...
>
> Hi Al,
> here it is:
> https://paste.debian.net/1088517
Aha... So LIST_BL_LOCKMASK is 1 there (same as on distro builds)...
Hell knows - how about
static inline void hlist_bl_lock(struct hlist_bl_head *b)
{
BUG_ON(((u32)READ_ONCE(*b)&~LIST_BL_LOCKMASK) == 0x01000000);
bit_spin_lock(0, (unsigned long *)b);
}
and
static inline void hlist_bl_unlock(struct hlist_bl_head *b)
{
__bit_spin_unlock(0, (unsigned long *)b);
BUG_ON(((u32)READ_ONCE(*b)&~LIST_BL_LOCKMASK) == 0x01000000);
}
to see if we can narrow down where that happens?
Powered by blists - more mailing lists