Messages in this thread | | | Date | Wed, 8 Sep 2010 15:52:23 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: slow nanosleep? |
| |
On Wed, 8 Sep 2010, 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.
You might fire up the tracer to look where it spends that time.
Thanks,
tglx
| |