[lkml]   [2007]   [Feb]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH 2 of 4] Introduce i386 fibril scheduling
    On Mon, 5 Feb 2007, Zach Brown wrote:

    > > The "result" of one async operation is basically a cookie and a result
    > > code. Eight or sixteen bytes at most.
    > s/basically/minimally/
    > Well, yeah. The patches I sent had:
    > struct asys_completion {
    > long return_code;
    > unsigned long cookie;
    > };
    > That's as stupid as it gets.

    No, that's *really* it ;)
    The cookie you pass, and the return code of the syscall.
    If there other data transfered? Sure, but that data transfered during the
    syscall processing, and handled by the syscall (filling up a sys_read
    buffer just for example).

    > > IMO, before going wacko designing
    > > complex shared userspace-kernel result buffers, I think it'd be better
    > > measuring the worth-value of the thing ;)
    > Obviously, yes.
    > The potential win is to be able to have one place to wait for collection from
    > multiple sources. Some of them might want more data per event. They can
    > always indirect out via a cookie pointer, sure, but at insanely high message
    > rates (10gige small messages) one might not want that.

    Did I miss something? The async() syscall will allow (with few
    restrictions) to execute whatever syscall in an async fashion. An syscall
    returns a result code (long). Plus, you need to pass back the
    userspace-provided cookie of course. A cookie is very likely a direct
    pointer to the userspace session the async syscall applies to, so a
    "(my_session *) results[i].cookie" will bring you directly on topic.
    Collection of multiple sources? What do you mean? What's wrong with:

    int async_wait(struct asys_completion *results, int nresults);

    Is saving an 8/16 bytes double copy worth going wacko in designing shared
    userspace/kernel buffers, when the syscall that lays behind an
    asys_completion is prolly touching KBs of RAM during its execution?

    - Davide

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2007-02-05 21:13    [W:0.021 / U:143.784 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site