Re: [PATCH] smp: Wake ksoftirqd on PREEMPT_RT instead do_softirq().

From: Christoph Hellwig
Date: Sat Sep 25 2021 - 06:32:39 EST


On Fri, Sep 24, 2021 at 11:47:55AM +0200, Sebastian Andrzej Siewior wrote:
> + if (local_softirq_pending()) {
> +
> + if (!IS_ENABLED(CONFIG_PREEMPT_RT)) {
> + do_softirq();
> + } else {
> + struct task_struct *ksoftirqd = this_cpu_ksoftirqd();
> +
> + if (ksoftirqd && !task_is_running(ksoftirqd))
> + wake_up_process(ksoftirqd);
> + }
> + }

At a cosmetic level this looks pretty weird. Why the empty line inside
the indented block? Why the pointless negation instead of the obvious
more straightforward order?