[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220222082723.rddf4typah3wegrc@quack3.lan>
Date: Tue, 22 Feb 2022 09:27:23 +0100
From: Jan Kara <jack@...e.cz>
To: Byungchul Park <byungchul.park@....com>
Cc: torvalds@...ux-foundation.org, damien.lemoal@...nsource.wdc.com,
linux-ide@...r.kernel.org, adilger.kernel@...ger.ca,
linux-ext4@...r.kernel.org, mingo@...hat.com,
linux-kernel@...r.kernel.org, peterz@...radead.org,
will@...nel.org, tglx@...utronix.de, rostedt@...dmis.org,
joel@...lfernandes.org, sashal@...nel.org, daniel.vetter@...ll.ch,
chris@...is-wilson.co.uk, duyuyang@...il.com,
johannes.berg@...el.com, tj@...nel.org, tytso@....edu,
willy@...radead.org, david@...morbit.com, amir73il@...il.com,
bfields@...ldses.org, gregkh@...uxfoundation.org,
kernel-team@....com, linux-mm@...ck.org, akpm@...ux-foundation.org,
mhocko@...nel.org, minchan@...nel.org, hannes@...xchg.org,
vdavydov.dev@...il.com, sj@...nel.org, jglisse@...hat.com,
dennis@...nel.org, cl@...ux.com, penberg@...nel.org,
rientjes@...gle.com, vbabka@...e.cz, ngupta@...are.org,
linux-block@...r.kernel.org, axboe@...nel.dk,
paolo.valente@...aro.org, josef@...icpanda.com,
linux-fsdevel@...r.kernel.org, viro@...iv.linux.org.uk,
jack@...e.cz, jack@...e.com, jlayton@...nel.org,
dan.j.williams@...el.com, hch@...radead.org, djwong@...nel.org,
dri-devel@...ts.freedesktop.org, airlied@...ux.ie,
rodrigosiqueiramelo@...il.com, melissa.srw@...il.com,
hamohammed.sa@...il.com
Subject: Re: Report 1 in ext4 and journal based on v5.17-rc1
On Thu 17-02-22 20:10:03, Byungchul Park wrote:
> [ 7.009608] ===================================================
> [ 7.009613] DEPT: Circular dependency has been detected.
> [ 7.009614] 5.17.0-rc1-00014-g8a599299c0cb-dirty #30 Tainted: G W
> [ 7.009616] ---------------------------------------------------
> [ 7.009617] summary
> [ 7.009618] ---------------------------------------------------
> [ 7.009618] *** DEADLOCK ***
> [ 7.009618]
> [ 7.009619] context A
> [ 7.009619] [S] (unknown)(&(bit_wait_table + i)->dmap:0)
> [ 7.009621] [W] down_write(&ei->i_data_sem:0)
> [ 7.009623] [E] event(&(bit_wait_table + i)->dmap:0)
> [ 7.009624]
> [ 7.009625] context B
> [ 7.009625] [S] down_read(&ei->i_data_sem:0)
> [ 7.009626] [W] wait(&(bit_wait_table + i)->dmap:0)
> [ 7.009627] [E] up_read(&ei->i_data_sem:0)
> [ 7.009628]
Looking into this I have noticed that Dept here tracks bitlocks (buffer
locks in particular) but it apparently treats locks on all buffers as one
locking class so it conflates lock on superblock buffer with a lock on
extent tree block buffer. These are wastly different locks with different
locking constraints. So to avoid false positives in filesystems we will
need to add annotations to differentiate locks on different buffers (based
on what the block is used for). Similarly how we e.g. annotate i_rwsem for
different inodes.
Honza
--
Jan Kara <jack@...e.com>
SUSE Labs, CR
Powered by blists - more mailing lists