Hi Sebastian, Peter

Thursday, January 7, 2021 11:29 PM, Sebastian Siewior wrote:
> 
> On 2021-01-07 11:45:39 [+0100], Peter Zijlstra wrote:
> > On Thu, Jan 07, 2021 at 05:18:41PM +0800, Ran Wang wrote:
> > > +
> > > +                 if (IS_ENABLED(CONFIG_PREEMPT_RT) &&
> > > +                     !strncmp(p->comm, "ksoftirqd/", 10))
> > > +                         schedule_hrtimeout(&to,
> > > +                                 HRTIMER_MODE_REL | HRTIMER_MODE_HARD);
> > > +                 else
> > > +                         schedule_hrtimeout(&to, HRTIMER_MODE_REL);
> >
> > This is horrific, why did you not self-censor and spare me the mental
> > anguish of having to formulate a CoC compliant response?
> >
> > It also violates coding style, but given the total lack of any sense,
> > that seems like a minor detail.
> >
> > Why can't we use HRTIMER_MODE_HARD unconditionally?
> 
> I had a similar patch in -RT and dropped it in v5.10-rc7-rt16.
> It was added because RT couldn't boot since creating the boot-threads didn't 
> work before the ksoftirqd was up. This was fixed by commit
>    26c7295be0c5e ("kthread: Do not preempt current task if it is going to 
> call schedule()")

I tried applying above commit to linux-5.6.y-rt, it could resolve my problem on 
LX2160ARDB, THANKS!

> and live was good again.
> tglx (also) suggested to add HRTIMER_MODE_HARD unconditionally (it looked at 
> SYSTEM_STATE back then) and I was only worried some
> abuse via userland.

Got it.

Regards,
Ran

> This sleep can be triggered by ptrace/strace() and with brief testing I can 
> trigger the sleep there but I don't get it anywhere near where I
> would notice it with cyclictest.
> 
> Sebastian

Reply via email to