From: "Jason A. Donenfeld" <Jason@zx2c4.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
linux-kernel@vger.kernel.org, Ingo Molnar <mingo@redhat.com>,
Will Deacon <will@kernel.org>, Waiman Long <longman@redhat.com>,
Boqun Feng <boqun.feng@gmail.com>, Theodore Ts'o <tytso@mit.edu>,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH] locking/lockdep: Use sched_clock() for random numbers.
Date: Mon, 13 Jun 2022 10:16:17 +0200 [thread overview]
Message-ID: <YqbyUfp8e4CZoFBT@zx2c4.com> (raw)
In-Reply-To: <Yqbv17P9eLH0YdPG@hirez.programming.kicks-ass.net>
On Mon, Jun 13, 2022 at 10:05:43AM +0200, Peter Zijlstra wrote:
> On Tue, May 17, 2022 at 11:53:43AM +0200, Jason A. Donenfeld wrote:
> > Hi Sebastian,
> >
> > Interesting RT consideration. I hope there aren't too many of these
> > special cases that would necessitate a general mechanism. Fingers
> > crossed this is the only one.
> >
> > On Tue, May 17, 2022 at 11:16:14AM +0200, Sebastian Andrzej Siewior wrote:
> > > - cookie.val = 1 + (prandom_u32() >> 16);
> > > + cookie.val = 1 + (sched_clock() & 0xffff);
> > > hlock->pin_count += cookie.val;
> >
> > I have no idea what the requirements here are.
>
> Mostly nothing. It's debug code, and if someone wants to circumvent they
> can, but then their code is ugly and stands out like a sort thumb which
> then serves its goal as it won't pass review etc..
>
> > What would happen if you
> > just did atomic_inc_return(&some_global) instead? That'd be faster
> > anyhow, and it's not like 16 bits gives you much variance anyway...
>
> That would in fact be slower, sched_clock() will, on any sane hardware,
> be a rdtsc, mul and shr, which are all local.
Fine by me. Given Sasha's comment, we should probably get this queued up
in somebody's tree asap?
Jason
next prev parent reply other threads:[~2022-06-13 8:16 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-17 9:16 [PATCH] locking/lockdep: Use sched_clock() for random numbers Sebastian Andrzej Siewior
2022-05-17 9:53 ` Jason A. Donenfeld
2022-05-17 9:59 ` Jason A. Donenfeld
2022-05-17 12:08 ` Sebastian Andrzej Siewior
2022-06-13 8:11 ` Peter Zijlstra
2022-06-13 8:05 ` Peter Zijlstra
2022-06-13 8:16 ` Jason A. Donenfeld [this message]
2022-06-07 16:51 ` Sebastian Andrzej Siewior
2022-06-12 15:43 ` Sasha Levin
2022-06-13 8:36 ` [tip: locking/urgent] " tip-bot2 for Sebastian Andrzej Siewior
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=YqbyUfp8e4CZoFBT@zx2c4.com \
--to=jason@zx2c4.com \
--cc=bigeasy@linutronix.de \
--cc=boqun.feng@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=longman@redhat.com \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=tytso@mit.edu \
--cc=will@kernel.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