Date: Wed, 11 Apr 2001 16:18:58 -0700 From: Alfred Perlstein <bright@wintelcom.net> To: Doug White <dwhite@resnet.uoregon.edu> Cc: Dan Phoenix <dphoenix@bravenet.com>, freebsd-hackers@FreeBSD.ORG Subject: Re: lockf in apache Message-ID: <20010411161858.T15938@fw.wintelcom.net> In-Reply-To: <Pine.BSF.4.33.0104111606560.46537-100000@resnet.uoregon.edu>; from dwhite@resnet.uoregon.edu on Wed, Apr 11, 2001 at 04:07:25PM -0700 References: <20010410131254.V15938@fw.wintelcom.net> <Pine.BSF.4.33.0104111606560.46537-100000@resnet.uoregon.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
* Doug White <dwhite@resnet.uoregon.edu> [010411 16:07] wrote: > On Tue, 10 Apr 2001, Alfred Perlstein wrote: > > > Basically, when apache is listening on multiple IPs/ports it needs > > to select() on several filedescriptors. The problem (under FreeBSD > > at least) is that whenever you have some process select()'ing on > > a descriptor and another process wants to do the same you get a > > "select collision", a collision requires that all processes waiting > > on the same select channel wake up then reassert thier desire to > > select. So... if you have 500 apache processes select()'ing and > > one wakes up to service a request, finished serving, then goes to > > select again, all the rest (499) have to wake up and reaffirm thier > > desire to select(). > > We haven't applied wakeup_one() to select() yet? (I think I've argued > about this before.) > > Someone get cracking! :) I'm not sure it's possible without redesigning the way select works. -- -Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org] Daemon News Magazine in your snail-mail! http://magazine.daemonnews.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010411161858.T15938>