lkml.org 
[lkml]   [2007]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
    On Mon, 26 Feb 2007, Evgeniy Polyakov wrote:

    > 2. its notifications do not go through the second loop, i.e. it is O(1),
    > not O(ready_num), and notifications happens directly from internals of
    > the appropriate subsystem, which does not require special wakeup
    > (although it can be done too).

    Sorry if I do not read kevent code correctly, but in kevent_user_wait()
    there is a:

    while (num < max_nr && ((k = kevent_dequeue_ready(u)) != NULL)) {
    ...
    }

    loop, that make it O(ready_num). From a mathematical standpoint, they're
    both O(ready_num), but epoll is doing three passes over the ready set.
    I always though that if the number of ready events is so big that the more
    passes over the ready set becomes relevant, probably the "work" done by
    userspace for each fetched event would make the extra cost irrelevant.
    But that can be fixed by a patch that will follow on lkml ...



    - Davide


    -
    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: 2007-02-27 03:21    [W:4.065 / U:0.120 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site