Re: > 15,000 Simultaneous Connections

Mike Jagdis (mike@roan.co.uk)
Wed, 15 Sep 1999 17:23:45 +0100 (GMT/BST)


On Wed, 15 Sep 1999, Stephen C. Tweedie wrote:

> The cost per fd is miniscule.

Taking the 15000 fds in the subject select would need to do a
4 page kmalloc and the current poll would do a 32 page kmalloc.
Then you have to loop over all the descriptors calling their poll
handlers.

Incidentally, it looks like there is a possible DoS with queued
signals. If you flood the queue with signals but keep them blocked
no one else will get a look in.

Then again, I'm not convinced that the sigio approach is what
we really want anyway. Looking at, for instance, drivers/char/n_tty.c
we seem to queue a signal on every new line if ICANON is set and
for every character (after VMIN) if it isn't. All we really want
to know is that something happened since we last paid attention
to the fd, preferably with a quick way of getting the current
state (POLL_* flags).

Oh, and the pipe code doesn't seem to call kill_fasync (which is
what does sigio). Anyone want to look in to that?

Mike

-- 
         Failure isn't an option - it's built in to Windows
.----------------------------------------------------------------------.
|  Mike Jagdis                  |  Internet:  mailto:mike@roan.co.uk   |
|  Roan Technology Ltd.         |                                      |
|  2 Markham Mews, Broad Street |  Telephone:  +44 118 989 0403        |
|  Wokingham ENGLAND            |  Fax:        +44 118 989 1195        |
`----------------------------------------------------------------------'

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/