From: Steven Rostedt <rostedt@goodmis.org>
To: Matthew Wilcox <willy@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Al Viro <viro@zeniv.linux.org.uk>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
Thomas Gleixner <tglx@linutronix.de>,
linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: [git pull] vfs.git pile 3 - dcache
Date: Wed, 3 Aug 2022 21:32:55 -0400 [thread overview]
Message-ID: <20220803213255.3ab719e3@gandalf.local.home> (raw)
In-Reply-To: <YusV8cr382PeBNLM@casper.infradead.org>
On Thu, 4 Aug 2022 01:42:25 +0100
Matthew Wilcox <willy@infradead.org> wrote:
> > So let's make it verbose and clear and unambiguous. It's not like I
> > expect to see a _lot_ of those. Knock wood.
>
> Should we have it take a spinlock_t pointer? We could have lockdep
> check it is actually held.
We don't care if the lock is held or not. The point of the matter is that
spinlocks in RT do not disable preemption. The code that the
preempt_disable_under_spinlock() is inside, can not be preempted. If it is,
bad things can happen.
Currently this code assumes that spinlocks disable preemption, so there's
no need to disable preemption here. But in RT, just holding the spinlock is
not enough to disable preemption, hence we need to explicitly call it here.
As Linus's name suggests, the "preempt_enable_under_spinlock" is to make
sure preemption is disabled regardless if it's under a normal spinlock that
disables preemption, or a RT spinlock that does not.
I wonder if raw_preempt_disable() would be another name to use? We have
raw_spin_lock() to denote that it's a real spinlock even under PREEMPT_RT.
We could say that "raw_preempt_disable()" makes sure the location really
has preemption disabled regardless of PREEMPT_RT.
-- Steve
next prev parent reply other threads:[~2022-08-04 1:33 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-03 18:39 [git pull] vfs.git pile 3 - dcache Al Viro
2022-08-03 18:57 ` Linus Torvalds
2022-08-03 19:49 ` Al Viro
2022-08-03 21:54 ` Steven Rostedt
2022-08-03 22:09 ` Linus Torvalds
2022-08-03 22:59 ` Steven Rostedt
2022-08-03 23:24 ` Matthew Wilcox
2022-08-03 23:42 ` Linus Torvalds
2022-08-04 0:42 ` Matthew Wilcox
2022-08-04 1:32 ` Steven Rostedt [this message]
2022-08-04 2:16 ` Linus Torvalds
2022-08-04 10:52 ` Steven Rostedt
2022-08-08 22:06 ` Thomas Gleixner
2022-08-08 22:43 ` Linus Torvalds
2022-08-09 16:00 ` Thomas Gleixner
2022-08-09 16:15 ` Matthew Wilcox
2022-08-09 17:58 ` Thomas Gleixner
2022-08-03 19:00 ` pr-tracker-bot
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=20220803213255.3ab719e3@gandalf.local.home \
--to=rostedt@goodmis.org \
--cc=bigeasy@linutronix.de \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=viro@zeniv.linux.org.uk \
--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;
as well as URLs for NNTP newsgroup(s).