lkml.org 
[lkml]   [2008]   [Apr]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 0/3] clone64() and unshare64() system calls
    sukadev@us.ibm.com wrote:
    > This is a resend of the patch set Cedric had sent earlier. I ported
    > the patch set to 2.6.25-rc8-mm1 and tested on x86 and x86_64.
    > ---
    >
    > We have run out of the 32 bits in clone_flags !
    >
    > This patchset introduces 2 new system calls which support 64bit clone-flags.
    >
    > long sys_clone64(unsigned long flags_high, unsigned long flags_low,
    > unsigned long newsp);
    >
    > long sys_unshare64(unsigned long flags_high, unsigned long flags_low);
    >
    > The current version of clone64() does not support CLONE_PARENT_SETTID and
    > CLONE_CHILD_CLEARTID because we would exceed the 6 registers limit of some
    > arches. It's possible to get around this limitation but we might not
    > need it as we already have clone()
    >

    I really dislike this interface.

    If you're going to make it a 64-bit pass it in as a 64-bit number,
    instead of breaking it into two numbers. Better yet, IMO, would be to
    pass a pointer to a structure like:

    struct shared {
    unsigned long nwords;
    unsigned long flags[];
    };

    ... which can be expanded indefinitely.

    -hpa


    \
     
     \ /
      Last update: 2008-04-10 02:05    [W:3.199 / U:0.380 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site