lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.00.1009081442390.2477@localhost6.localdomain6>
Date:	Wed, 8 Sep 2010 14:43:39 +0200 (CEST)
From:	Thomas Gleixner <tglx@...utronix.de>
To:	Joakim Tjernlund <joakim.tjernlund@...nsmode.se>
cc:	Eric Dumazet <eric.dumazet@...il.com>, linux-kernel@...r.kernel.org
Subject: Re: slow nanosleep?

On Wed, 8 Sep 2010, Joakim Tjernlund wrote:

> Thomas Gleixner <tglx@...utronix.de> wrote on 2010/09/08 11:51:13:
> >
> > On Wed, 8 Sep 2010, Joakim Tjernlund wrote:
> >
> > > Eric Dumazet <eric.dumazet@...il.com> wrote on 2010/09/08 10:24:49:
> > > >
> > > > Le mercredi 08 septembre 2010 à 10:04 +0200, Joakim Tjernlund a écrit :
> > > >
> > > > > That makes litte difference:
> > > > > root@...alhost ~ # ./nanosleep
> > > > > nanosleep
> > > > > req:0 :0
> > > > > tv_res:0 :112
> > > > >
> > > >
> > > > Here, result is 30 (with prctl())
> > > > instead of 95 (without)
> > >
> > > On x86 I notice a difference:
> > >   7 vs 57.
> > > however select is still faster: 2
> > > The system call OH seems to be bigger for nanosleep than
> > > for select and on my ppc is is about 112 us. Can anything
> > > be done about that?
> >
> > Hmm, the only reason I can see is that select calls finally
> > schedule_hrtimeout_range_clock() which optimizes the expiry = 0 case
> > while nanosleep does not. So the difference is only visiable when the
> > relative timeout is 0. For timeouts > 0 nanosleep and select should
> > behave the same way.
> 
> Yes, that is it. Thanks
> 
> 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.

Thanks,

	tglx

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ