Re: [PATCH v17 28/47] dept: add documentation for dept

Byungchul Park
2025-10-13T01:29:01Z

On Fri, Oct 03, 2025 at 09:44:28AM +0700, Bagas Sanjaya wrote:
> On Thu, Oct 02, 2025 at 05:12:28PM +0900, Byungchul Park wrote:
> > This document describes the concept and APIs of dept.
> >
> > Signed-off-by: Byungchul Park <byungchul@sk.com>
> > ---
> > Documentation/dependency/dept.txt | 735 ++++++++++++++++++++++++++
> > Documentation/dependency/dept_api.txt | 117 ++++
> > 2 files changed, 852 insertions(+)
> > create mode 100644 Documentation/dependency/dept.txt
> > create mode 100644 Documentation/dependency/dept_api.txt
>
> What about writing dept docs in reST (like the rest of kernel documentation)?

Sorry for late reply, but sure. I should and will. Thank you!

> ---- >8 ----
> diff --git a/Documentation/dependency/dept.txt b/Documentation/locking/dept.rst
> similarity index 92%
> rename from Documentation/dependency/dept.txt
> rename to Documentation/locking/dept.rst
> index 5dd358b96734e6..7b90a0d95f0876 100644
> --- a/Documentation/dependency/dept.txt
> +++ b/Documentation/locking/dept.rst

However, I'm not sure if dept is about locking. dept is about general
waits e.g. wait_for_completion(), wait_event(), and so on, rather than
just waits involved in typical locking mechanisms e.g. spin lock, mutex,
and so on.

[snip]

> > +
> > + context X context Y
> > +
/*
* Acquired A.
*/
> > + mutex_lock A

/*
* Request something that will be handled
* through e.g. wq, deamon or any its own
* way, and then do 'complete B'.
*/
request_xxx_and_complete_B();
/*
* The request from
* context Y has been
* done. So running
* toward 'complete B'.
*/

/*
* Wait for A to be
* released, but will
* never happen.
*/
> > + mutex_lock A <- DEADLOCK
/*
* Wait for 'complete B' to happen, but
* will never happen.
*/
> > + wait_for_complete B <- DEADLOCK
/*
* Never reachable.
*/
> > + complete B

/*
* Never reachable.
*/
> > + mutex_unlock A
> > + mutex_unlock A
>
> Can you explain how DEPT detects deadlock on the second example above (like
> the first one being described in "How DEPT works" section)?

Sure. I added the explanation inline above. Don't hesitate if you have
any questions. Thanks.

Byungchul
>
> Confused...
>
> --
> An old man doll... just what I always wanted! - Clara