[PATCH v3 0/2] allow creating thread with real-time priority

Stephen Hemminger stephen at networkplumber.org
Thu Oct 26 18:28:40 CEST 2023


On Thu, 26 Oct 2023 16:08:02 +0200
Morten Brørup <mb at smartsharesystems.com> wrote:

> > > In our recent tests, nanosleep() itself took around 50 us. So you need to  
> > sleep longer than that for your thread not to be runnable when the nanosleep()
> > wakes up again, because 50 us has already passed in "nanosleep overhead".  
> > > 10 milliseconds provides plenty of margin, and corresponds to 10 jiffies on  
> > a 1000 Hz kernel. (I don't know if it makes any difference for the kernel
> > scheduler if the timer crosses a jiffy border or not.)
> > 
> > 10 ms looks like an eternity.  
> 
> Agree. It is only for functional testing, not for production!

To be safe the sleep has to be longer than the system clock tick.
Most systems are built today with HZ=250 but really should be using HZ=1000
on modern CPU's.


More information about the dev mailing list