From: Andrea Arcangeli <andrea@novell.com>
To: P@draigBrady.com
Cc: netdev@oss.sgi.com, Ingo Molnar <mingo@elte.hu>
Subject: Re: gettimeofday scalability
Date: Tue, 5 Oct 2004 21:35:45 +0200 [thread overview]
Message-ID: <20041005193545.GI26820@dualathlon.random> (raw)
In-Reply-To: <4162F311.4050009@draigBrady.com>
On Tue, Oct 05, 2004 at 08:16:33PM +0100, P@draigBrady.com wrote:
> Andrea Arcangeli wrote:
> >On Tue, Oct 05, 2004 at 05:36:06PM +0100, P@draigBrady.com wrote:
> >
> >>So can anyone summarise the relative merits of these locking
> >>mechanisms, before I start benchmarking?
> >
> >
> >frlock/seqlock (2.4/2.6 respectively) is the way to go, no write
> >starvation, and zero cacheline bouncing.
>
> Cheers.
>
> Perhaps the confusing comment wrt brlock at the
> top of seqlock.h can be changed so?
I guess so.
> This is all in kernel space.
vsyscalls are in userspace, but you will not notice the difference.
Or do you mean your code is in kernel space? vsyscalls would run from
kernel space too, but then you can use gettimeofday by hand with seqlock
and it won't be any different.
> However Stephen's suggestion of reading the tsc in user space
> may be a runner, as I just care about relative times.
Stephen's suggestion will lead to your app breaking on asymmetric TSC on
SMP if you're not careful, if you use the vsyscall on a correct kernel
(like x86-64) you won't take that risk (HPETS avoids that, slower than
the tsc but the only safe one). Otherwise you've to use process affinity
+ tsc, only with cpu binding you're safe. Some big app uses TSC but only
optionally, so you can turn it on/off depending on the hardware (on
x86-64 this obsoleted by vgettimeofday, that's a x86-only hack).
hope this helps ;)
next prev parent reply other threads:[~2004-10-05 19:35 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-05 16:36 gettimeofday scalability P
2004-10-05 18:35 ` David S. Miller
2004-10-05 18:48 ` Stephen Hemminger
2004-10-05 18:55 ` Andrea Arcangeli
2004-10-05 19:16 ` P
2004-10-05 19:35 ` Andrea Arcangeli [this message]
2004-10-05 19:18 ` Ingo Molnar
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=20041005193545.GI26820@dualathlon.random \
--to=andrea@novell.com \
--cc=P@draigBrady.com \
--cc=mingo@elte.hu \
--cc=netdev@oss.sgi.com \
/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).