From: Greg KH <gregkh@linuxfoundation.org>
To: Byungchul Park <byungchul@sk.com>
Cc: linux-kernel@vger.kernel.org, kernel_team@skhynix.com,
torvalds@linux-foundation.org, damien.lemoal@opensource.wdc.com,
linux-ide@vger.kernel.org, adilger.kernel@dilger.ca,
linux-ext4@vger.kernel.org, mingo@redhat.com,
peterz@infradead.org, will@kernel.org, tglx@linutronix.de,
rostedt@goodmis.org, joel@joelfernandes.org, sashal@kernel.org,
daniel.vetter@ffwll.ch, duyuyang@gmail.com,
johannes.berg@intel.com, tj@kernel.org, tytso@mit.edu,
willy@infradead.org, david@fromorbit.com, amir73il@gmail.com,
kernel-team@lge.com, linux-mm@kvack.org,
akpm@linux-foundation.org, mhocko@kernel.org, minchan@kernel.org,
hannes@cmpxchg.org, vdavydov.dev@gmail.com, sj@kernel.org,
jglisse@redhat.com, dennis@kernel.org, cl@linux.com,
penberg@kernel.org, rientjes@google.com, vbabka@suse.cz,
ngupta@vflare.org, linux-block@vger.kernel.org,
paolo.valente@linaro.org, josef@toxicpanda.com,
linux-fsdevel@vger.kernel.org, viro@zeniv.linux.org.uk,
jack@suse.cz, jlayton@kernel.org, dan.j.williams@intel.com,
hch@infradead.org, djwong@kernel.org,
dri-devel@lists.freedesktop.org, rodrigosiqueiramelo@gmail.com,
melissa.srw@gmail.com, hamohammed.sa@gmail.com,
42.hyeyoo@gmail.com, chris.p.wilson@intel.com,
gwan-gyeong.mun@intel.com, max.byungchul.park@gmail.com,
boqun.feng@gmail.com, longman@redhat.com, hdanton@sina.com,
her0gyugyu@gmail.com
Subject: Re: [PATCH v10 00/25] DEPT(Dependency Tracker)
Date: Mon, 26 Jun 2023 15:02:22 +0200 [thread overview]
Message-ID: <2023062627-chooser-douche-6613@gregkh> (raw)
In-Reply-To: <20230626115700.13873-1-byungchul@sk.com>
On Mon, Jun 26, 2023 at 08:56:35PM +0900, Byungchul Park wrote:
> >From now on, I can work on LKML again! I'm wondering if DEPT has been
> helping kernel debugging well even though it's a form of patches yet.
>
> I'm happy to see that DEPT reports a real problem in practice. See:
>
> https://lore.kernel.org/lkml/6383cde5-cf4b-facf-6e07-1378a485657d@I-love.SAKURA.ne.jp/#t
> https://lore.kernel.org/lkml/1674268856-31807-1-git-send-email-byungchul.park@lge.com/
>
> Nevertheless, I apologize for the lack of document. I promise to add it
> before it gets needed to use DEPT's APIs by users. For now, you can use
> DEPT just with CONFIG_DEPT on.
>
> ---
>
> Hi Linus and folks,
>
> I've been developing a tool for detecting deadlock possibilities by
> tracking wait/event rather than lock(?) acquisition order to try to
> cover all synchonization machanisms. It's done on v6.2-rc2.
>
> Benifit:
>
> 0. Works with all lock primitives.
> 1. Works with wait_for_completion()/complete().
> 2. Works with 'wait' on PG_locked.
> 3. Works with 'wait' on PG_writeback.
> 4. Works with swait/wakeup.
> 5. Works with waitqueue.
> 6. Works with wait_bit.
> 7. Multiple reports are allowed.
> 8. Deduplication control on multiple reports.
> 9. Withstand false positives thanks to 6.
> 10. Easy to tag any wait/event.
>
> Future work:
>
> 0. To make it more stable.
> 1. To separates Dept from Lockdep.
> 2. To improves performance in terms of time and space.
> 3. To use Dept as a dependency engine for Lockdep.
> 4. To add any missing tags of wait/event in the kernel.
> 5. To deduplicate stack trace.
If you run this today, does it find any issues with any subsystems /
drivers that the current lockdep code does not find? Have you run your
tool on patches sent to the different mailing lists for new drivers and
code added to the tree to verify that it can find issues easily?
In other words, why do we need this at all? What makes it 'better' than
what we already have that works for us today? What benifit is it?
thanks,
greg k-h
next prev parent reply other threads:[~2023-06-26 13:02 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-26 11:56 Byungchul Park
2023-06-26 11:56 ` [PATCH v10 01/25] llist: Move llist_{head,node} definition to types.h Byungchul Park
2023-06-26 11:56 ` [PATCH v10 02/25] dept: Implement Dept(Dependency Tracker) Byungchul Park
2023-06-26 11:56 ` [PATCH v10 03/25] dept: Add single event dependency tracker APIs Byungchul Park
2023-06-26 11:56 ` [PATCH v10 04/25] dept: Add lock " Byungchul Park
2023-06-26 11:56 ` [PATCH v10 05/25] dept: Tie to Lockdep and IRQ tracing Byungchul Park
2023-06-26 11:56 ` [PATCH v10 06/25] dept: Add proc knobs to show stats and dependency graph Byungchul Park
2023-06-26 11:56 ` [PATCH v10 07/25] dept: Apply sdt_might_sleep_{start,end}() to wait_for_completion()/complete() Byungchul Park
2023-06-26 11:56 ` [PATCH v10 08/25] dept: Apply sdt_might_sleep_{start,end}() to PG_{locked,writeback} wait Byungchul Park
2023-06-26 11:56 ` [PATCH v10 09/25] dept: Apply sdt_might_sleep_{start,end}() to swait Byungchul Park
2023-06-26 11:56 ` [PATCH v10 10/25] dept: Apply sdt_might_sleep_{start,end}() to waitqueue wait Byungchul Park
2023-06-26 11:56 ` [PATCH v10 11/25] dept: Apply sdt_might_sleep_{start,end}() to hashed-waitqueue wait Byungchul Park
2023-06-26 11:56 ` [PATCH v10 12/25] dept: Distinguish each syscall context from another Byungchul Park
2023-06-26 11:56 ` [PATCH v10 13/25] dept: Distinguish each work " Byungchul Park
2023-06-26 11:56 ` [PATCH v10 14/25] dept: Add a mechanism to refill the internal memory pools on running out Byungchul Park
2023-06-26 11:56 ` [PATCH v10 15/25] locking/lockdep, cpu/hotplus: Use a weaker annotation in AP thread Byungchul Park
2023-06-26 11:56 ` [PATCH v10 16/25] dept: Apply sdt_might_sleep_{start,end}() to dma fence wait Byungchul Park
2023-06-26 11:56 ` [PATCH v10 17/25] dept: Track timeout waits separately with a new Kconfig Byungchul Park
2023-06-26 11:56 ` [PATCH v10 18/25] dept: Apply timeout consideration to wait_for_completion()/complete() Byungchul Park
2023-06-26 11:56 ` [PATCH v10 19/25] dept: Apply timeout consideration to swait Byungchul Park
2023-06-26 11:56 ` [PATCH v10 20/25] dept: Apply timeout consideration to waitqueue wait Byungchul Park
2023-06-26 11:56 ` [PATCH v10 21/25] dept: Apply timeout consideration to hashed-waitqueue wait Byungchul Park
2023-06-26 11:56 ` [PATCH v10 22/25] dept: Apply timeout consideration to dma fence wait Byungchul Park
2023-06-26 11:56 ` [PATCH v10 23/25] dept: Record the latest one out of consecutive waits of the same class Byungchul Park
2023-06-26 11:56 ` [PATCH v10 24/25] dept: Make Dept able to work with an external wgen Byungchul Park
2023-06-26 11:57 ` [PATCH v10 25/25] dept: Track the potential waits of PG_{locked,writeback} Byungchul Park
2023-06-26 13:02 ` Greg KH [this message]
2023-06-27 0:27 ` [PATCH v10 00/25] DEPT(Dependency Tracker) Byungchul Park
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2023062627-chooser-douche-6613@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=42.hyeyoo@gmail.com \
--cc=adilger.kernel@dilger.ca \
--cc=akpm@linux-foundation.org \
--cc=amir73il@gmail.com \
--cc=boqun.feng@gmail.com \
--cc=byungchul@sk.com \
--cc=chris.p.wilson@intel.com \
--cc=cl@linux.com \
--cc=damien.lemoal@opensource.wdc.com \
--cc=dan.j.williams@intel.com \
--cc=daniel.vetter@ffwll.ch \
--cc=david@fromorbit.com \
--cc=dennis@kernel.org \
--cc=djwong@kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=duyuyang@gmail.com \
--cc=gwan-gyeong.mun@intel.com \
--cc=hamohammed.sa@gmail.com \
--cc=hannes@cmpxchg.org \
--cc=hch@infradead.org \
--cc=hdanton@sina.com \
--cc=her0gyugyu@gmail.com \
--cc=jack@suse.cz \
--cc=jglisse@redhat.com \
--cc=jlayton@kernel.org \
--cc=joel@joelfernandes.org \
--cc=johannes.berg@intel.com \
--cc=josef@toxicpanda.com \
--cc=kernel-team@lge.com \
--cc=kernel_team@skhynix.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=longman@redhat.com \
--cc=max.byungchul.park@gmail.com \
--cc=melissa.srw@gmail.com \
--cc=mhocko@kernel.org \
--cc=minchan@kernel.org \
--cc=mingo@redhat.com \
--cc=ngupta@vflare.org \
--cc=paolo.valente@linaro.org \
--cc=penberg@kernel.org \
--cc=peterz@infradead.org \
--cc=rientjes@google.com \
--cc=rodrigosiqueiramelo@gmail.com \
--cc=rostedt@goodmis.org \
--cc=sashal@kernel.org \
--cc=sj@kernel.org \
--cc=tglx@linutronix.de \
--cc=tj@kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=tytso@mit.edu \
--cc=vbabka@suse.cz \
--cc=vdavydov.dev@gmail.com \
--cc=viro@zeniv.linux.org.uk \
--cc=will@kernel.org \
--cc=willy@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox