[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YjQ19nUE010AOboS@linutronix.de>
Date: Fri, 18 Mar 2022 08:34:14 +0100
From: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
To: linux-kernel@...r.kernel.org
Cc: Thomas Gleixner <tglx@...utronix.de>,
Christoph Hellwig <hch@...radead.org>,
Peter Zijlstra <peterz@...radead.org>
Subject: Re: [PATCH v3] smp: Wake ksoftirqd on PREEMPT_RT instead
do_softirq().
On 2022-02-08 17:54:08 [+0100], To linux-kernel@...r.kernel.org wrote:
> --- a/kernel/smp.c
> +++ b/kernel/smp.c
> @@ -691,10 +691,25 @@ void flush_smp_call_function_from_idle(v
> cfd_seq_store(this_cpu_ptr(&cfd_seq_local)->idle, CFD_SEQ_NOCPU,
> smp_processor_id(), CFD_SEQ_IDLE);
> local_irq_save(flags);
> - flush_smp_call_function_queue(true);
> - if (local_softirq_pending())
> - do_softirq();
One thing I noticed while looking for a possible PI-boost from idle/
sched_core_balance(): Interrupts are disabled by the caller right before
calling this function or that local_irq_save() here. That do_softirq()
below, may enable interrupts while invoking softirqs. Both caller don't
have a lock acquired so it should be okay.
Sebastian
Powered by blists - more mailing lists