,---- [Heiko Wundram (Beenic) wrote:] | Am Montag, 25. Februar 2008 10:10:56 schrieb Sharad Chandra: | > So does it mean, freebsd has limitation. sleeping will only work for its | > value more than 1 milli sec because % of +- error value is comparitivly | > low? I am curious to know, is there any method which sleeps for few | > microseconds. Some one please give me link where to look for "select". | | No, this does not mean that FreeBSD has a limitation, but rather that | FreeBSD is not a real-time operating system. You'll see the similar | behaviour on pretty much any other operating system that is _not_ a RTOS | (for example, Windows has a fixed resolution of non-Multimedia-Timers of | around 10ms [where Multimedia Timers are a specific interface to sleep with | a higher resolution, designed for Multimedia applications, but the | resolution isn't that much higher, anyway], and on Linux, it also depends | on the Tick-Frequency, similar to FreeBSD's HZ setting, but actually I | don't know how the tickless Linux-kernel [which is implemented only in the | latest versions, and not default anyway] behaves here). | | There is no way (AFAIK) for a userland application to _sleep_ for a finer | grained amount of time than a timeslice, except in a busy loop which calls | gettimeofday or similar repeatedly to break when the "timeout" occurs, but | even then you don't have a guarantee that you won't sleep longer, simply | because the process might be preempted just before the timeout occurs | because another process also wants its timeslice. | | But, more specifically, why do you need to sleep for a short time in a user | process anyway? Normally, you're blocking on some form of condition, which | will "wake you up" as soon as the condition triggers and you can be | scheduled (and in this "active scheduling" case the time-slice "rule" | doesn't apply).
I got out-of-order captured packets on my starfire dual port card ie ack get lower time-stamp than its corresponding seq in tcp traffic. I don't have much nic card level knowledge, so decided to produce delay to send ack and increase it till no out-of-order packet. delay in 1000 micro seconds or above will not let me know the time difference figure. I am also searching for what kind of scheduling this card do in picking the one of buffer by time stamper and for what much time. Where should i look for these info? | | If you give some more info on what you're trying to do (and why you need | such a high resolution sleep), maybe someone will be able to help you | better and show you how to achieve what you're trying to do without | blocking on a timeout. `---- -- Thanks in advance. Sharad Chandra _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"