From: Mike Frysinger <vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
To: Michael Kerrisk <mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Andy Lutomirski <luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org>
Subject: Re: vdso(7): new man page
Date: Tue, 31 Dec 2013 02:32:22 -0500 [thread overview]
Message-ID: <201312310232.23392.vapier@gentoo.org> (raw)
In-Reply-To: <519CC681.6080502-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
[-- Attachment #1: Type: Text/Plain, Size: 2749 bytes --]
On Wednesday 22 May 2013 09:22:09 Michael Kerrisk wrote:
> On 04/12/13 03:28, Mike Frysinger wrote:
> > here's v2 w/Andy's feedback
>
> Thanks for this--it's a nice piece of work. Could you take a
> look at my comments below and send a v3, please.
anything i didn't explicitly respond to below i merged with my version
> > the kernel you wish to make a syscall.
> > However, this instruction is expensive: it goes through the full
> > interrupt handling paths in the processor's microcode as well as in the
> > kernel. Newer processors have faster (but backwards incompatible)
> > instructions to initiate system calls.
> > Rather than require the C library to figure out if this functionality is
> > available at runtime itself, it can use functions provided by the kernel
> > in the vDSO.
>
> That last point (after the comma) is the most interesting (IMO) of the use
> cases of the vDSO. If you cared to expand on the details (i.e., are what
> are mechanics of the operation of those functions provided by the kernel),
> I think that would be interesting for the reader.
i think the paragraph after this explains things somewhat as you'd like (where
it talks about gettimeofday) ?
> > All symbols are also versioned (using the GNU version format).
> > This allows the kernel (in the very unlikely situation) to update the
> > function
>
> s/situation/case that it is necessary/
hmm, i see what you mean, but i think your version isn't really better ...
just different. i'll just delete the (...) text.
> > You use the standard C calling conventions when calling any of these
> > functions. No need to worry about weird register or stack behavior.
>
> That last sentence is a little incomplete. Could you expand/reword a little
> please.
it's meant as a follow up to the previous sentence. so the implication is
that there are no functions which violate the C ABI for your particular
target. arguments get passed in the standard way (registers/stack), and all
the registers have corresponding behavior: scratch are scratch, caller-
preserved are caller-preserved, callee-preserved are callee-preserved, etc...
> > Note that the vDSO that is used is based on the ABI of your userspace
> > code and not the ABI of the kernel.
> > i.e. If you run an i386 32bit ELF under an i386 32bit kernel or under an
>
> s/i.e. If/In other words, if/
i.e. shows up a lot in man pages as does e.g. (and both show up in this new
vdso(7) page) ...
> > So when referring to sections below, use the userspace ABI.
>
> It's not clear what you mean here when you say "use the userspace ABI."
> Could you clarify?
the two sentences that preceded this one explained things ...
-mike
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2013-12-31 7:32 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-10 3:17 vdso(7): new man page Mike Frysinger
[not found] ` <201304092317.01590.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-04-11 18:31 ` Andy Lutomirski
[not found] ` <CALCETrXwfpH=dRZ82MqjWWL0oFohigcUHgLPnRPpnisOHYxKQQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-12 1:28 ` Mike Frysinger
2013-04-12 1:28 ` Mike Frysinger
[not found] ` <201304112128.47633.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-05-22 13:22 ` Michael Kerrisk
[not found] ` <519CC681.6080502-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-06-27 0:00 ` Michael Kerrisk (man-pages)
[not found] ` <CAKgNAkgwmfBeyijCHj+y2FSQbgSDY8izW-9DAqbw4wgD2y1pAA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-12-30 11:27 ` Michael Kerrisk (man-pages)
2013-12-31 7:32 ` Mike Frysinger [this message]
[not found] ` <201312310232.23392.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2014-01-01 10:36 ` Michael Kerrisk (man-pages)
2013-12-31 7:41 ` [PATCH v3] " Mike Frysinger
[not found] ` <1388475665-18491-1-git-send-email-vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2014-01-01 10:38 ` Michael Kerrisk (man-pages)
[not found] ` <52C3F01C.9080803-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-01-01 17:44 ` Mike Frysinger
[not found] ` <201401011244.13632.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2014-01-01 19:56 ` Michael Kerrisk (man-pages)
[not found] ` <52C472DF.8020107-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-01-02 12:29 ` Mike Frysinger
[not found] ` <201401020729.05590.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2014-01-02 19:13 ` Michael Kerrisk (man-pages)
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=201312310232.23392.vapier@gentoo.org \
--to=vapier-abrp7r+bbdudnm+yrofe0a@public.gmane.org \
--cc=linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org \
--cc=mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.