From: Mike Frysinger <vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
To: "Michael Kerrisk (man-pages)"
<mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v3] vdso(7): new man page
Date: Wed, 1 Jan 2014 12:44:13 -0500 [thread overview]
Message-ID: <201401011244.13632.vapier@gentoo.org> (raw)
In-Reply-To: <52C3F01C.9080803-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
[-- Attachment #1.1: Type: Text/Plain, Size: 3221 bytes --]
On Wednesday 01 January 2014 05:38:20 Michael Kerrisk (man-pages) wrote:
> On 12/31/13 20:41, Mike Frysinger wrote:
> > +The "vDSO" is a small shared library that the kernel automatically maps
> > into the +address space of all user-space applications.
> > +Applications themselves usually need not concern themselves with these
> > details +as the vDSO is most commonly called by the C library.
> > +This way you can write using standard functions and the C library will
> > take care
>
> After "write" I added "programs". Okay?
you can write libraries too, but i think either wording is fine. or maybe
change "write" to "code" ?
> > +of using any available functionality.
>
> I made this piece:
>
> of using any functionality that is available via the vDSO.
>
> Okay?
np
> > +Why does the vDSO exist at all?
> > +There are some facilities the kernel provides that user space ends up
> > using
>
> I changed "facilities" to "system calls". Okay?
that wasn't exactly what i was going for, but the nuances are probably lost,
so it doesn't matter (the vDSO isn't purely a replacement for syscalls).
> > +Note that the terminology can be confusing.
> > +On x86 systems, the vDSO function is named "__kernel_vsyscall", but on
> > x86_64,
>
> After "function" I added
>
> used to determine the preferred method of making a system call is
>
> Okay?
maybe put in paren ? either works.
> > Note that the vDSO that is used is based on the ABI of your user-space
> > code and not the ABI of the kernel.
> > i.e. If you run an i386 32-bit ELF under an i386 32-bit kernel or under
> > an x86_64 64-bit kernel, you'll get the same vDSO.
> > So when referring to sections below, use the user-space ABI.
>
> I still can't make any sense of that last sentence. What are "sections"
> in this context?
"sections" refers to the .SS stuff following this paragraph. e.g.
.SS i386 functions
.SS x86_64 functions
.SS x86/x32 functions
so if your userspace program is compiled as a 32bit i386 ELF, you should refer
to the "i386 functions" section even if your kernel is a 64bit x86_64 build.
but if your userspace program is a 64bit x86_64 program, then refer to the
x86_64 section. a single kernel can support many ABIs and execute them
simultaneously. but the vDSO that is available is determined by the format of
your program, not the kernel.
> What does it mean to "*use* the user-space ABI"?
use the userspace ABI as the index into the following sections.
> > +.SS aarch64 functions
> > +.\" See linux/arch/arm64/kernel/vdso/vdso.lds.S
> > +.if t \{\
> > +.ft CW
> > +\}
> > +.TS
> > +l l.
> > +symbol version
>
> You don't explicitly say what tables such as the below are about.
> Could you provide me with a sentence to describe them?
i only documented the deviations as they don't follow the vDSO standards (ELF
object that has dynamic symbol information available). all the standard ones
may follow Documentation/ABI/stable/vdso/ and Documentation/vDSO/*. but i
guess a one line sentence could be added to each of these telling people to
look at the kernel's vDSO/ dir for more details.
-mike
[-- Attachment #1.2: 0xB902B5271325F892AC251AD441633B9FE837F581.asc --]
[-- Type: application/pgp-keys, Size: 46825 bytes --]
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2014-01-01 17:44 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)
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 [this message]
[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=201401011244.13632.vapier@gentoo.org \
--to=vapier-abrp7r+bbdudnm+yrofe0a@public.gmane.org \
--cc=linux-man-u79uwXL29TY76Z2rM5mHXA@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.