Re: new patch & new ideas (squid+epoll)

From: Reuben Farrelly <reuben-squid-dev@dont-contact.us>
Date: Sat, 08 Nov 2003 23:22:35 +1300

Hi Gonzalo,

I extracted this patch from the mail (attached) and tried it with todays
CVS but have a problem whereby squid now accepts the connection but just
sits there, with no content being served up.

Backtrace attached from gdb, does this help?

Program received signal SIGINT, Interrupt.
[Switching to Thread 1073783552 (LWP 14837)]
0x08123146 in epoll_wait (epfd=5, pevents=0x82c1f40, maxevents=128,
     timeout=1000) at src/epoll.c:32
32 __sys_epoll_wait(epfd, pevents, maxevents, timeout)
Current language: auto; currently c
(gdb) bt full
#0 0x08123146 in epoll_wait (epfd=5, pevents=0x82c1f40, maxevents=128,
     timeout=1000) at src/epoll.c:32
         __res = 0
#1 0x08098d8a in comm_select (msec=1000) at comm_epoll.cc:189
         num = 0
         i = 1
         fd = 22
         F = (fde *) 0x82b87c8
         hdl = (PF *) 0x1d
         cevents = (epoll_event *) 0x82b36c8
         last_timeout = 1068286510
#2 0x080c5bec in main (argc=4, argv=0xbffffa84) at main.cc:1142
         loop_delay = 1000
         errcount = 0
         n = 1255030816
         oldmask = 18
(gdb) info locals
__res = 0
(gdb)

Also, here's some output from squid -k debug

2003/11/08 23:18:50.996| comm_calliocallback: (nil)
2003/11/08 23:18:50.996| comm_iocallbackpending: (nil)
2003/11/08 23:18:50.996| comm_select(): got fd=22 events=1 monitoring=19
F->read_handler=0x80f5332 F->write_handler=(nil)
2003/11/08 23:18:50.996| comm_select(): Calling read handler on fd=22
2003/11/08 23:18:50.996| wccpHandleUdp: Called.
2003/11/08 23:18:50.996|
commSetSelect(fd=22,type=1,handler=0x80f5332,client_data=(nil),timeout=0)
2003/11/08 23:18:50.996| wccpHandleUdp: 64 bytes WCCP pkt from 192.168.0.1:
type=8, version=4, change=57, id=29669, number=1
2003/11/08 23:18:50.996| eventRun: RUN ID 3653
2003/11/08 23:18:50.996| eventRun: Running 'fqdncache_purgelru', id 3639
2003/11/08 23:18:50.996| eventAdd: Adding 'fqdncache_purgelru', in
10.000000 seconds
2003/11/08 23:18:50.996| fqdncache_purgelru: removed 0 entries
2003/11/08 23:18:50.997| comm_calliocallback: (nil)
2003/11/08 23:18:50.997| comm_iocallbackpending: (nil)
2003/11/08 23:18:50.997| eventRun: RUN ID 3654
2003/11/08 23:18:50.997| eventRun: Running 'ipcache_purgelru', id 3640
2003/11/08 23:18:50.997| eventAdd: Adding 'ipcache_purgelru', in 10.000000
seconds
2003/11/08 23:18:50.997| ipcache_purgelru: removed 0 entries
2003/11/08 23:18:50.997| comm_calliocallback: (nil)
2003/11/08 23:18:50.997| comm_iocallbackpending: (nil)
2003/11/08 23:18:50.999| comm_calliocallback: (nil)
2003/11/08 23:18:50.999| comm_iocallbackpending: (nil)
2003/11/08 23:18:50.999| comm_calliocallback: (nil)
2003/11/08 23:18:50.999| comm_iocallbackpending: (nil)
2003/11/08 23:18:50.999| comm_calliocallback: (nil)

Reverting the patch and squid works fine again.

Thanks,
Reuben

At 05:36 a.m. 8/11/2003, David Nicklay wrote:
>Hi,
>
>oops. Forgot to post the attachment. Here goes.
>
>Henrik Nordstrom wrote:
>>Can we please have the patch clean again.. (preferably as a MIME
>>attachment). I don't seem to have the original message left in my
>>archives, and trying to recover the patch from the inline discussion is a
>>bit cumbersome due to linewraps and other destructive email formatting
>>effects..
>>Regards
>>Henrik
>>
>>On Thu, 6 Nov 2003, David Nicklay wrote:
>>
>>>Hi,
>>>
>>>I finally took some time to test this. Gonzalo's patch seems to
>>>address a lot of outstanding issues with comm_epoll including:
>>>
>>>- CPU usage problem w/ idle clients (both local and remote)
>>>- epoll kernel table being out of sync with fde table
>>>- missed epoll table updates (happens on my boxes but not Gonzalo's)
>>>
>>>Could someone apply this to the squid-3.0 HEAD?
>>>
>>>Kudos to Gonzalo.

Received on Sat Nov 08 2003 - 03:23:58 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:20:46 MST