From: Boqun Feng <boqun.feng@gmail.com>
To: Gary Guo <gary@garyguo.net>
Cc: Alice Ryhl <aliceryhl@google.com>,
lina@asahilina.net, alex.gaynor@gmail.com, alyssa@rosenzweig.io,
asahi@lists.linux.dev, benno.lossin@proton.me,
bjorn3_gh@protonmail.com, daniel@ffwll.ch,
linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org,
llvm@lists.linux.dev, marcan@marcan.st, masahiroy@kernel.org,
nathan@kernel.org, ndesaulniers@google.com, nicolas@fjasle.eu,
ojeda@kernel.org, rust-for-linux@vger.kernel.org,
sven@svenpeter.dev, trix@redhat.com, wedsonaf@gmail.com
Subject: Re: [PATCH RFC 00/11] rust: Implicit lock class creation & Arc Lockdep integration
Date: Tue, 18 Jul 2023 09:48:01 -0700 [thread overview]
Message-ID: <ZLbCQX4uS5kk8U1q@boqun-archlinux> (raw)
In-Reply-To: <20230715152554.5b585d22.gary@garyguo.net>
On Sat, Jul 15, 2023 at 03:25:54PM +0100, Gary Guo wrote:
[...]
> > > I don't think the fallibility is an issue. Lockdep is a debugging tool,
> > > and it doesn't have to handle all possible circumstances perfectly. If
> > > you are debugging normal lock issues you probably shouldn't be running
> > > out of RAM, and if you are debugging OOM situations the lock keys would
> > > normally have been created long before you reach an OOM situation, since
> > > they would be created the first time a relevant lock class is used. More
> > > objects of the same class don't cause any more allocations. And the code
> > > has a fallback for the OOM case, where it just uses the Location object
> > > as a static lock class. That's not ideal and degrades the quality of the
> > > lockdep results, but it shouldn't completely break anything.
> >
> > If you have a fallback when the allocation fails, that helps ...
>
> I am pretty sure lockdep needs to do some internal allocation anyway
> because only address matters for lock class keys. So some extra
> allocation probably is fine...
>
Lockdep uses a few static arrays for its own allocation, but doesn't use
"external" allocatin (i.e. kalloc() and its friends. IIUC, originally
this has to do in this way to avoid recursive calls like:
lockdep->slab->lockdep, but now lockdep has a recursion counter, that's
not a problem any more. However, it's still better that lockdep can work
on its own without relying on other components.
Regards,
Boqun
prev parent reply other threads:[~2023-07-18 16:48 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-14 9:13 [PATCH RFC 00/11] rust: Implicit lock class creation & Arc Lockdep integration Asahi Lina
2023-07-14 9:13 ` [PATCH RFC 01/11] rust: types: Add Opaque::zeroed() Asahi Lina
2023-07-14 10:15 ` Alice Ryhl
2023-07-15 14:27 ` Gary Guo
2023-07-14 9:13 ` [PATCH RFC 02/11] rust: lock: Add Lock::pin_init() Asahi Lina
2023-07-15 14:29 ` Gary Guo
2023-07-14 9:13 ` [PATCH RFC 03/11] rust: Use absolute paths to build Rust objects Asahi Lina
2023-07-15 14:35 ` Gary Guo
2023-07-16 7:53 ` Asahi Lina
2023-07-14 9:13 ` [PATCH RFC 04/11] rust: siphash: Add a simple siphash abstraction Asahi Lina
2023-07-14 14:28 ` Martin Rodriguez Reboredo
2023-07-15 14:52 ` Gary Guo
2023-07-14 9:13 ` [PATCH RFC 05/11] rust: sync: Add dummy LockClassKey implementation for !CONFIG_LOCKDEP Asahi Lina
2023-07-14 14:57 ` Martin Rodriguez Reboredo
2023-07-14 9:13 ` [PATCH RFC 06/11] rust: sync: Replace static LockClassKey refs with a pointer wrapper Asahi Lina
2023-07-14 15:10 ` Martin Rodriguez Reboredo
2023-07-14 9:13 ` [PATCH RFC 07/11] rust: sync: Implement dynamic lockdep class creation Asahi Lina
2023-07-14 19:56 ` Martin Rodriguez Reboredo
2023-07-15 15:47 ` Gary Guo
2023-07-14 9:14 ` [PATCH RFC 08/11] rust: sync: Classless Lock::new() and pin_init() Asahi Lina
2023-07-14 9:14 ` [PATCH RFC 09/11] rust: init: Update documentation for new mutex init style Asahi Lina
2023-07-14 9:14 ` [PATCH RFC 10/11] rust: sync: Add LockdepMap abstraction Asahi Lina
2023-07-14 9:14 ` [PATCH RFC 11/11] rust: sync: arc: Add lockdep integration Asahi Lina
2023-07-15 16:00 ` Gary Guo
2023-07-14 10:13 ` [PATCH RFC 00/11] rust: Implicit lock class creation & Arc Lockdep integration Alice Ryhl
2023-07-14 12:20 ` Asahi Lina
2023-07-14 13:59 ` Alice Ryhl
2023-07-14 15:21 ` Boqun Feng
2023-07-16 6:56 ` Asahi Lina
2023-07-15 14:25 ` Gary Guo
2023-07-18 16:48 ` Boqun Feng [this message]
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=ZLbCQX4uS5kk8U1q@boqun-archlinux \
--to=boqun.feng@gmail.com \
--cc=alex.gaynor@gmail.com \
--cc=aliceryhl@google.com \
--cc=alyssa@rosenzweig.io \
--cc=asahi@lists.linux.dev \
--cc=benno.lossin@proton.me \
--cc=bjorn3_gh@protonmail.com \
--cc=daniel@ffwll.ch \
--cc=gary@garyguo.net \
--cc=lina@asahilina.net \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=marcan@marcan.st \
--cc=masahiroy@kernel.org \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
--cc=nicolas@fjasle.eu \
--cc=ojeda@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=sven@svenpeter.dev \
--cc=trix@redhat.com \
--cc=wedsonaf@gmail.com \
/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;
as well as URLs for NNTP newsgroup(s).