From: "David S. Miller" <davem@redhat.com>
To: Mitchell Blank Jr <mitch@sfgoth.com>
Cc: netdev@oss.sgi.com
Subject: Re: do_gettimeofday
Date: Fri, 3 Oct 2003 01:52:20 -0700 [thread overview]
Message-ID: <20031003015220.7ee6e451.davem@redhat.com> (raw)
In-Reply-To: <20031003084847.GH42593@gaz.sfgoth.com>
On Fri, 3 Oct 2003 01:48:47 -0700
Mitchell Blank Jr <mitch@sfgoth.com> wrote:
> David S. Miller wrote:
> > Doesn't work as-is. You'd have to not only store the timestamp and
> > the cpu it was stored on, but also cross-call to that cpu to compute
> > the correct timeval.
>
> That's definately the worst case. You could have each CPU periodically
> store its current {tsc,timeval} tuple in a per-cpu location and extrapolate
> from that.
Right, that would work.
There is the weird issue (with both the sparc64 example and your's
here) of whether we should care about what happens when settimeofday()
occurs. We probably shouldn't worry about it... as it gives weird
results even currently.
> It all depends on what percentage of skb's have ->stamp computed on a
> CPU different from the one they came it on. For the common users of
> ->stamp won't they have stayed on the same CPU? The worst case of
> doing a cross-cpu-call should only happen relatively rarely.
No, they typically won't. The packet comes in on cpu X, we stamp
it on X, and we do a wakeup of tcpdump which will typically get
scheduled first onto some other processor before X is done processing
incoming packets. The higher the packet load the more likely this will
happen.
But forget this, as your dual tsc+timeval recording idea would work
well and doesn't need a cross-cpu call. Although we'd need to think
about how costly the cacheline activity is going to be with your idea
compared to the seqlocked accesses to xtime. This is mainly a product
of how often you intend to update the tsc+timeval thingy.
next prev parent reply other threads:[~2003-10-03 8:52 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-10-02 18:32 do_gettimeofday Steve Modica
2003-10-02 19:29 ` do_gettimeofday Andi Kleen
2003-10-02 19:56 ` do_gettimeofday Stephen Hemminger
2003-10-02 20:46 ` do_gettimeofday Mitchell Blank Jr
2003-10-03 7:41 ` do_gettimeofday David S. Miller
2003-10-03 8:26 ` do_gettimeofday Mitchell Blank Jr
2003-10-03 8:27 ` do_gettimeofday David S. Miller
2003-10-03 8:48 ` do_gettimeofday Mitchell Blank Jr
2003-10-03 8:52 ` David S. Miller [this message]
2003-10-03 9:26 ` do_gettimeofday Mitchell Blank Jr
2003-10-03 9:23 ` do_gettimeofday David S. Miller
2003-10-03 16:42 ` do_gettimeofday Ben Greear
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=20031003015220.7ee6e451.davem@redhat.com \
--to=davem@redhat.com \
--cc=mitch@sfgoth.com \
--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).