[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0702261811550.4949@alien.or.mcafeemobile.com>
Date: Mon, 26 Feb 2007 18:18:51 -0800 (PST)
From: Davide Libenzi <davidel@...ilserver.org>
To: Evgeniy Polyakov <johnpol@....mipt.ru>
cc: Ingo Molnar <mingo@...e.hu>, Ulrich Drepper <drepper@...hat.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Arjan van de Ven <arjan@...radead.org>,
Christoph Hellwig <hch@...radead.org>,
Andrew Morton <akpm@....com.au>,
Alan Cox <alan@...rguk.ukuu.org.uk>,
Zach Brown <zach.brown@...cle.com>,
"David S. Miller" <davem@...emloft.net>,
Suparna Bhattacharya <suparna@...ibm.com>,
Jens Axboe <jens.axboe@...cle.com>,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists