[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YgpybD+PeQ5Az7CJ@linutronix.de>
Date: Mon, 14 Feb 2022 16:17:00 +0100
From: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
To: "Jason A. Donenfeld" <Jason@...c4.com>
Cc: LKML <linux-kernel@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Peter Zijlstra <peterz@...radead.org>,
Theodore Ts'o <tytso@....edu>,
Jonathan Neuschäfer <j.neuschaefer@....net>,
Sultan Alsawaf <sultan@...neltoast.com>,
Dominik Brodowski <linux@...inikbrodowski.net>
Subject: Re: [PATCH v2] random: set fast pool count to zero in cpuhp teardown
On 2022-02-14 16:10:36 [+0100], Jason A. Donenfeld wrote:
> Hi Sebastian,
Hi Jason,
> On Mon, Feb 14, 2022 at 4:06 PM Sebastian Andrzej Siewior
> <bigeasy@...utronix.de> wrote:
> > But you acked my question regarding boot-up? So the teardown callback
> > won't happen during boot-up.
>
> I'd like to do only one method here, so we can set those fields in
> startup, provided it happens early enough.
> > > So I think it seems better to keep it before CPUHP_TIMERS_PREPARE, but
> > > do it on startup rather than teardown. Seem reasonable? Would that
> > > mean we zero out before IRQs are enabled?
> > I would only zero it if the upper-most bit is there.
>
> I still don't quite understand: why can't we just unconditionally
> zero, always, before CPUHP_TIMERS_PREPARE?
If you have a rollback before CPUHP_TIMERS_PREPARE you don't notice it
and your worker may have skipped this work because it run on the wrong
CPU. Also, I *think* that if you happen to have 64 interrupts between
CPUHP_AP_ONLINE_IDLE … CPUHP_AP_WORKQUEUE_ONLINE
then the scheduled worker is unbound and may run on the "wrong" CPU.
> > And then have another one after
>
> Two of them seems a little bit out of hand in complexity here... Let's
> just find one phase where we can simply set variables without too much
> fiddly logic. I'll send a v+1 of what I have in mind for the startup
> path.
Oki.
> Jason
Sebastian
Powered by blists - more mailing lists