lkml.org 
[lkml]   [2014]   [May]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: futex(2) man page update help request
    On 05/14/2014 07:34 PM, Thomas Gleixner wrote:
    > On Wed, 14 May 2014, Carlos O'Donell wrote:
    >
    >> On 05/14/2014 03:03 PM, Michael Kerrisk (man-pages) wrote:
    >>>> However, unless I'm sorely mistaken, the larger problem is that glibc
    >>>> removed the futex() call entirely, so these man pages don't describe
    >>>
    >>> I don't think futex() ever was in glibc--that's by design, and
    >>> completely understandable: no user-space application would want to
    >>> directly use futex(). (BTW, I mispoke in my earlier mail when I said I
    >>> wanted documentation suitable for "writers of library functions" -- I
    >>> meant suitable for "writers of *C library*".)
    >>
    >> I fully agree with Michael here.
    >>
    >> The futex() syscall was never exposed to userspace specifically because
    >> it was an interface we did not want to support forever with a stable ABI.
    >> The futex() syscall is an implementation detail that is shared between
    >> the kernel and the writers of core runtimes for Linux.
    >
    > Nonsense.

    What is nonsense?

    I do not want to be responsible for the futex API by having glibc provide
    wrappers. That can't be nonsense since it's a glibc community decision to
    make.

    Perhaps the point at which we disagree is that I said "writers of core runtimes"
    and you would rather I have said "any application wishing to use raw syscalls."
    That's fine, I concede that point, I have no right to restrict raw syscall
    usage.

    > If we change that interface (aside of adding functionality or some new
    > error return) it would break the world and some more, simply because
    > out of the blue glibc-2.xx would stop to work on linux-3.yy.

    No disagreement from me.

    > Aside of that the futex syscall is used as a bare interface without
    > any glibc interaction:
    >
    > - It's handy to implement user space wait queues
    >
    > - It's (ab)used in very interesting ways by data base apps
    >
    > - It's (ab)used by some Java monstrosities.
    >
    > Nothing you care about and you really don't want to see the gory
    > details, but you have to accept that there is an universe which is
    > happy to deal with the raw syscalls instead of going through some ill
    > defined posix interfaces.

    Sure :-)

    Cheers,
    Carlos.



    \
     
     \ /
      Last update: 2014-05-15 05:41    [W:9.436 / U:0.100 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site