Re: [PATCH] nohz: Fix missing tick reprog while interrupting inline timer softirq

From: Grygorii Strashko
Date: Tue Aug 28 2018 - 13:57:07 EST




On 08/24/2018 01:41 PM, Frederic Weisbecker wrote:
> On Fri, Aug 24, 2018 at 11:10:44AM -0500, Grygorii Strashko wrote:
>> Yes. i do not see local_softirq_pending messages any more
>>
>> But one question, just to clarify, after patch "nohz: Fix missing tick reprog while interrupting inline timer softirq"
>> the tick_nohz_irq_exit() will be called few times in case of nested interrupts (min 2):
>> gic_handle_irq
>> |- irq_exit
>> |- preempt_count_sub(HARDIRQ_OFFSET);
>> |-__do_softirq
>> <irqs enabled>
>> |- gic_handle_irq()
>> |- irq_exit()
>> |- tick_irq_exit()
>> if (!in_irq())
>> tick_nohz_irq_exit(); <-- [1]
>> |- tick_irq_exit()
>> if (!in_irq())
>> tick_nohz_irq_exit(); <-- [2]
>>
>> Is it correct? in 4.14 tick_nohz_irq_exit() is much more complex then in LKML now,
>> and this is hot path.
>
> That's correct and it's indeed more costly in 4.14 as then the tick is going to be programmed
> twice.
>

Sry, that disturbing you all, but what are the conclusion here for 4.14.y?
- take Thomas's patch https://lore.kernel.org/patchwork/patch/969521/#1162900
- revert commit 2d898915ccf4838c04531c51a598469e921a5eb5


--
regards,
-grygorii