Messages in this thread | | | Date | Thu, 17 Nov 2005 11:17:48 -0800 | From | Nish Aravamudan <> | Subject | Re: nanosleep with small value |
| |
On 11/17/05, Dag Nygren <dag@newtech.fi> wrote: > > On 11/17/05, Dag Nygren <dag@newtech.fi> wrote: > > > > The man page for nanosleep saya that times under 2 us are implemented > > > by a busywait and this is why I expected it to work. > > > > Update your manpages. You're depending on 2.4 behavior in a 2.6 kernel. > > You are right. The system is one I have upgraded piece by piece and the > manpages > weren't upgraded.
No problem.
> But what is the point of having a nanosleep() in that case when you could do > just fine with usleep() ?
Check the usleep() manpage:
This function is obsolete. Use nanosleep(2) or setitimer(2) instead.
And in any case, I think usleep() just ends up calling nanosleep()? It's not a sys-call in an of itself, like sys_nanosleep().
> > > OK, in that case the manpage should be changed. And an alternative > > > has to be worked out by me ;-). > > > > My man-pages are quite clear on what nanosleep() does. Nothing needs > > to be changed there. > > > > Alternative wise, I'm not sure, but you might want to look into the > > HRT stuff that's going on in Ingo's -RT tree. I don't know if / what > > changes have been made to sys_nanosleep(), but low-latency is most > > likely to occur there. > > I will look into that. > Quite annoying that software that worked just fine in 2.4 doesn't > work in 2.6.
Well, your general resolution also was improved quite a bit in 2.6 (HZ=1000 vs. HZ=100 is a 10-fold improvement). But I agree, is a big difference if you depend on that udelay() functionality -- but it was a delay of up to 2 milliseconds, which is generally frowned upon in the kernel.
> What does POSIX say about nanosleep()?
Not sure, but I think the only requirement is that we don't return early (i.e. request 2 milliseconds, return in 1 millisecond).
Thanks, Nish - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |