lkml.org 
[lkml]   [2003]   [May]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [patch] futex requeueing feature, futex-requeue-2.5.69-D3

    On Tue, 20 May 2003, Rusty Russell wrote:

    > > It wasn't Ingo's idea. I suggested it. Overloading parameter types is
    > > evil. This isn't an issue anymore if the extension is implemented as a
    > > new syscall which certainly is better.
    >
    > People are using the interface, [...]

    it's a _new_ argument, only used by new glibc. Like i mentioned it in the
    original announcement, it's fully backwards compatible with any older app.
    This is a minimum requirement for a live syscall!

    > [...] so I don't think changing it because "it's nicer this way" is
    > worthwhile: Ingo's "new syscall" patch has backwards compat code for the
    > old syscalls. That's fugly 8(

    yes, but the damage has been done already, and now we've got to start the
    slow wait for the old syscall to flush out of our tree. It will a few
    years to get rid of the compat code, but we better start now. hch is
    perfectly right that the old futex multiplexer interface is quite ugly,
    the requeue op only made this even more prominent.

    > Comment says: /* Must be "naturally" aligned */. This used to be true
    > in a much earlier version of the code, now AFAICT the requirement test
    > should be:
    >
    > /* Handling futexes on multiple pages? -ETOOHARD */
    > if (pos_in_page + sizeof(u32) > PAGE_SIZE)
    > return -EINVAL;

    yes - but i'd rather enforce this for every futex, than to hit it in every
    1000th app that manages to misalign a futex _and_ lay it across two pages.

    Also, it's only x86 that guarantees atomic instructions on misaligned
    futexes (even then it comes with a cycle penalty), are you sure this also
    works on other architectures? So i'd rather be a bit more strict with this
    requirement.

    Ingo

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:35    [W:5.958 / U:0.328 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site