--MimeMultipartBoundary
Content-type: text/plain; charset=US-ASCII
Content-transfer-encoding: 7BIT
On 27 May 98, at 11:17, Michael O'Reilly <michael@metal.iinet.net.au> wrote:
> > 	The solution you propose will then suffer from starvation problems.
> 
> Indeed. That should be a
> 	for (loop = 0; loop < 16 ; ++loop) {
> 
> instead of a while (1). This should produce exactly the same behaviour
> as calling comm_select_incoming() every time instead of every 16th
> time, but saves you all the poll/select calls.
 Are you sure that squid _should_ have perfect ICP response times always
 even when it is under high load?
   
> > 	Of course, another approach is not to even bother calling 
> > comm_poll_incoming and just call icpHandleUdp directly.  It's a
> > possibility and under high loads would be faster than doing a poll()
> > which is almost always guaranteed to gave something waiting and then
> > do a icpHandleUdp anyway.  It may be possible to code this in a nice
> > fashion where squid starts to discard certain checks (ie poll) once
> > the load gets high enough in order to preserve CPU/system calls.
> 
> That's an interesting idea, and one I'd like to see carried a little
> further. 
 poll takes several FD's under a single syscall, this conserves more CPU
 than skipping comm_poll_incoming in most cases. Although if already in
 icpHandleUdp it might make sense to suck icp socket empty before return,
 but this only if you are sure you need zero-delay ICP.
 What about special thread that sits in poll() for incoming sockets, and
 whenever something interesting happens there, sets global var to make
 note of that. Then, in comm_select, call handlers only if there is known
 ready socket waiting.
----------------------------------------------------------------------
 Andres Kroonmaa                                mail: andre@online.ee
 Network Manager
 Organization:            MicroLink Online       Tel:        6308 909
 Tallinn, Sakala 19                              Pho:  +372  6308 909
 Estonia, EE0001        http://www.online.ee     Fax:  +372  6308 901
----------------------------------------------------------------------
--MimeMultipartBoundary--
Received on Tue Jul 29 2003 - 13:15:50 MDT
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:11:47 MST