lkml.org 
[lkml]   [2001]   [Jun]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Collapsing RT signals ...
Davide Libenzi <davidel@xmailserver.org> wrote:
> I'm making some test with RT signals and looking at how they're implemented
> inside the kernel.
> After having experienced frequent queue overflow signals I looked at how
> signals are queued inside the task_struct.
> There's no signals optimization inside and this make the queue length depending
> on the request rate instead of the number of connections.
> It can happen that two ( or more ) POLL_IN signals are queued with a single
> read() that sweep the buffer leaving other signals to issue reads ( read this
> as user-mode / kernel-mode switch ) that will fail due lack of data.
> So for every "superfluous" signal we'll have two user-mode / kernel-mode
> switches, one for signal delivery and one for a failing read().
> I'm just thinking at a way to optimize the signal delivery that is ( draft ) :
> ...

I agree, the queue overflow case is a pain in the butt.

Before you get too far coding up your idea, have you read
http://marc.theaimsgroup.com/?l=linux-kernel&m=99023775430848&w=2
? He's already implemented and benchmarked a variation on this
idea, maybe you could vet his code. He has taken it a step
further than perhaps you were going to.

(See also http://www.kegel.com/c10k.html#nb.sigio )

- Dan
-
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 12:55    [W:0.040 / U:0.184 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site