9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: erik quanstrom <quanstro@quanstro.net>
To: 9fans@9fans.net
Subject: Re: [9fans] sleep(2) historical question
Date: Thu, 29 Nov 2012 10:17:36 -0500	[thread overview]
Message-ID: <900e2db83396d5fedd3126336927fc62@kw.quanstro.net> (raw)
In-Reply-To: <CAOw7k5hHyHpRz=Qjb5KT4vGLqF_T8U-gwTDYLvr-Tqdj2s=5Jw@mail.gmail.com>

On Thu Nov 29 04:20:52 EST 2012, charles.forsyth@gmail.com wrote:
> My problem is that the kernel is not currently capable of supplying
> what Erik defines, to the process level even internally, and even for
> his described applications (delays of a small interval, tiny
> retransmission times), it's not clear that the traditional sleep,
> which has *always* been sloppy, is anyway the right model; and
> certainly not for any more general application.  I had a quick read
> through some papers and theses last night, and it certainly isn't
> clear cut.

i ran a little test.  the meat of the program is this

	cycles(t+0);
	for(i = 0; i < 5000000000ull; i += s)
		nsleep(s);
	cycles(t+1);

	print("%g\n", cyclestoseconds(t[1]-t[0]));

i get quite predictable results; there is no cliff.  

sleep in ns	elapsed time	calculated syscall overhead
1000000000	5.000012		# 2.40µs / syscall
100000000	5.000106		# 2.12µs / syscall
10000000	5.001097		# 2.19µs / syscall
1000000		5.01078		# 2.16µs / syscall
100000		5.102487		# 2.16µs / syscall
10000		6.081568		# 2.16µs / syscall

- erik



  reply	other threads:[~2012-11-29 15:17 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-27 23:19 erik quanstrom
2012-11-28  7:37 ` Charles Forsyth
2012-11-28 12:57   ` erik quanstrom
2012-11-28 13:10     ` Charles Forsyth
2012-11-28 13:30       ` erik quanstrom
2012-11-28 14:35         ` Charles Forsyth
2012-11-28 14:46           ` erik quanstrom
2012-11-28 18:58         ` Bakul Shah
2012-11-28 19:10           ` Charles Forsyth
2012-11-28 19:28             ` erik quanstrom
2012-11-28 18:56               ` cinap_lenrek
2012-11-28 19:38             ` Bakul Shah
2012-11-28 20:58               ` Charles Forsyth
2012-11-28 21:02                 ` erik quanstrom
2012-11-28 21:13                   ` Charles Forsyth
2012-11-28 21:19                     ` erik quanstrom
2012-11-28 21:21                     ` erik quanstrom
2012-11-28 21:43                 ` Bakul Shah
2012-11-29  0:12                   ` Charles Forsyth
2012-11-29  8:12                   ` arnold
2012-11-29  9:19                     ` Charles Forsyth
2012-11-29 15:17                       ` erik quanstrom [this message]
2012-11-28 19:27           ` David Arnold
2012-11-28 21:12             ` Charles Forsyth
2012-11-28 19:29           ` erik quanstrom
2012-11-28 19:54             ` Bakul Shah
2012-11-28 19:57               ` erik quanstrom

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=900e2db83396d5fedd3126336927fc62@kw.quanstro.net \
    --to=quanstro@quanstro.net \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).