Re: liveloock using PREEMPT_RT with i915 driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> So you are not using clock_nanosleep() but something like a POSIX timer?

No, I was using timerfd_create() and then calling read() in a loop in
my timer thread.  Is it recommended to use clock_nanosleep() instead?

-Mike


On Wed, Jun 18, 2025 at 8:16 AM Sebastian Andrzej Siewior
<bigeasy@xxxxxxxxxxxxx> wrote:
>
> On 2025-06-18 07:34:25 [-0400], Michael Schanne wrote:
> > I found my issue, I am using several SCHED_FIFO threads, one was spinning
> > waiting on a timer to update, another thread which was supposed to update
> > the timer count is higher priority, but with the RT patch applied there is
> > also a ktimers thread set to RT priority 1, so it was never getting a
> > chance to run and my timer would never fire.  I adjusted the ktimers thread
> > to a higher priority and things started working again.  This thread does
> > not exist in the vanilla kernel even with CONFIG_PREEMPT_RT enabled, so
> > that is why I wasn't seeing it there.  The i915 driver was a red herring.
>
> Okay not the i915.
> The ktimers thread wakes only SCHED_OTHER tasks. The SCHED_FIFO/RR
> threads should be woken up directly (without the need of the ktimers
> thread).
> So you are not using clock_nanosleep() but something like a POSIX timer?
>
> > Thanks,
> > Mike
>
> Sebastian





[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux