From: "Michael Kerrisk (man-pages)" <mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Mike Frysinger <vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
Cc: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Andy Lutomirski <luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org>
Subject: Re: vdso(7): new man page
Date: Wed, 01 Jan 2014 23:36:22 +1300 [thread overview]
Message-ID: <52C3EFA6.7080507@gmail.com> (raw)
In-Reply-To: <201312310232.23392.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
Hi Mike,
Thanks for following up on this.
On 12/31/13 20:32, Mike Frysinger wrote:
> 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) ?
Yes, thanks.
>>> 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.
Okay.
>>> 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) ...
I should have been clearer. I disfavor the use of "e.g." and "i.e.", except
in parenthetical asides. There were a very few exceptions to that guideline,
and I just now went through and stamped out most of them. And I edited your
page to be consistent with the guideline.
>>> 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 ...
Sorry -- I still don't get it... (See my other reply.)
Cheers,
Michael
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2014-01-01 10:36 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
[not found] ` <201312310232.23392.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2014-01-01 10:36 ` Michael Kerrisk (man-pages) [this message]
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=52C3EFA6.7080507@gmail.com \
--to=mtk.manpages-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org \
--cc=vapier-aBrp7R+bbdUdnm+yROfE0A@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.