lkml.org 
[lkml]   [2001]   [Sep]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] /dev/epoll update ...

On 24-Sep-2001 Jamie Lokier wrote:
> Davide Libenzi wrote:
>> > You could even keep the memory for the queued signal / event inside
> the file structure.
>>
>> By keeping the event structure inside the file* require you to collect
>> these events ( read memory moves ) at peek time.
>> With /dev/epoll the event is directly dropped inside the mmaped area.
>
> Well, memory move consists of 2 words: (a) file descriptor; (b) poll
> state/edge flags.

2-words * number-of-ready-fds == pretty-high-cache-drain


> That will be completely swamped by the system calls and so on needed to
> processes each of the file descriptors. I.e. no scalability problem here.

The other issue is that by keeping infos in file* you'll have to scan each fd
to report the ready ones, that will make the method to fall back in O(n).
Anyway there's a pretty good patch ( http://www.luban.org/GPL/gpl.html ),
that has been tested here :

http://www.xmailserver.org/linux-patches/nio-improve.html

that implement the signal-per-fd mechanism and it achieves a very good scalability too.





- 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: 2005-03-22 13:03    [W:0.053 / U:21.968 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site