From: Arnd Bergmann <arnd@arndb.de>
To: Arjan van de Ven <arjan@infradead.org>
Cc: linux-kernel@vger.kernel.org, mingo@elte.hu, tglx@tglx.de,
torvalds@linux-foundation.org,
David Woodhouse <dwmw2@infradead.org>
Subject: Re: [patch 0/5] Nano/Microsecond resolution for select() and poll()
Date: Fri, 29 Aug 2008 17:54:27 +0200 [thread overview]
Message-ID: <200808291754.28241.arnd@arndb.de> (raw)
In-Reply-To: <20080829080549.6906b744@infradead.org>
On Friday 29 August 2008, Arjan van de Ven wrote:
> With this patch series, the internals of select() and poll() interfaces are
> changed such that they work on the nanosecond level (using hrtimers). The
> userspace interface for select() is in microseconds, for pselect() and
> ppoll() this is in nanoseconds.
Nice work, seems a lot better thought through than my previous attempt [1],
which unfortunately never saw any reactions.
> even though poll() (as opposed to ppoll()) only accepts milliseconds
> as userspace interface, the behavior will still improve because the current
> time no longer needs to be rounded up to the next jiffie, so on average
> a 500 milliseconds behavior improvement.
That would be 500 microseconds I think.
> I'd like to get rid of the jiffies timeout entirely over time, and
> only use hrtimers (makes the code a lot nicer) but that's for now
> a separate step, first I'd like to see how this change pans out.
You mean entirely entirely getting rid of jiffies in the kernel, or just
with user facing interfaces like epoll_wait, rt_sigtimedwait etc?
I think if we want to replace more code with hr timers, we will need
something like dwmw2's range timers based on that in order to keep the
wakeup rate low. These are still jiffies based, which doesn't help
your case, but they should be easy to change to ktime or timespec.
Arnd <><
[1] http://www.ussg.iu.edu/hypermail/linux/kernel/0703.0/1319.html
[2] http://lwn.net/Articles/291159/
next prev parent reply other threads:[~2008-08-29 15:55 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-29 15:05 [patch 0/5] Nano/Microsecond resolution for select() and poll() Arjan van de Ven
2008-08-29 15:06 ` [PATCH 1/5] select: add a timespec version of the timeout to select/poll Arjan van de Ven
2008-08-30 2:10 ` Andrew Morton
2008-08-30 2:54 ` Linus Torvalds
2008-08-29 15:07 ` [PATCH 2/5] select: return accurate remainer in select() and ppoll() Arjan van de Ven
2008-08-29 15:07 ` [PATCH 3/5] select: introduce a schedule_hrtimeout() function Arjan van de Ven
2008-08-29 15:08 ` [PATCH 4/5] select: make select() use schedule_hrtimeout() Arjan van de Ven
2008-08-29 15:36 ` Arnd Bergmann
2008-08-29 15:59 ` Daniel Walker
2008-08-29 16:20 ` Linus Torvalds
2008-08-29 16:11 ` Alan Cox
2008-08-29 17:26 ` Linus Torvalds
2008-08-29 17:42 ` Arjan van de Ven
2008-08-29 18:18 ` Alan Cox
2008-08-29 18:46 ` Linus Torvalds
2008-08-29 18:33 ` Alan Cox
2008-08-30 15:25 ` Arjan van de Ven
2008-08-29 16:30 ` Arjan van de Ven
2008-08-29 15:08 ` [PATCH 5/5] select: make poll() use schedule_hrtimeout() as well Arjan van de Ven
2008-08-29 15:54 ` Arnd Bergmann [this message]
2008-08-29 16:12 ` [patch 0/5] Nano/Microsecond resolution for select() and poll() Arjan van de Ven
2008-08-29 22:15 ` Brian Wellington
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=200808291754.28241.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=arjan@infradead.org \
--cc=dwmw2@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@tglx.de \
--cc=torvalds@linux-foundation.org \
/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