Messages in this thread | | | Subject | Re: slow nanosleep? | From | Peter Zijlstra <> | Date | Wed, 08 Sep 2010 15:51:08 +0200 |
| |
On Wed, 2010-09-08 at 15:44 +0200, Joakim Tjernlund wrote: > Peter Zijlstra <peterz@infradead.org> wrote on 2010/09/08 15:00:18: > > > > On Wed, 2010-09-08 at 14:43 +0200, Thomas Gleixner wrote: > > > > However nanosleep with 1 ns and prctl(PR_SET_TIMERSLACK, 1) takes > > > > about 8 us on x86(Intel(R) Core(TM)2 Duo CPU E8500 @ 3.16GHz) > > > > and 20 us on my slower ppc board. Is that system call overhead > > > > or possibly some error? > > > > > > That's overhead I fear. We go way up to enqueue/arm the timer until we > > > figure out that the timeout already happened. > > > > Well, there's also the fact that his ppc board is simply dead slow, > > using the freq ratio: 3166/266 you'd expect (at a similar ins/clock > > ratio) the ppc to take 95us. > > > > So in fact the pcc taking 20us is actually quite good. > > Actually, it takes 120 us. The 20 us was when I had Thomas > timeout == 0 fast path patch applied(forgot to remove it). > Without that patch it takes about 115 us. So it seems it takes > 115-20=95 us to turn the timer wheel on my ppc.
hrtimers don't have a timer wheel, but it does poke at the hardware, could be programming timers on that ppc is terribly slow.
| |