Hello.

I was performing some benchmarks of http transfer with program 'ab' 
(apache benchmark), comparing, how it will perform with/without
kernel khttpd support.

I've got oops several times, the error is replicable on my machine,
without appache even started.

The exact order of actions i did:

modprobe khttpd

I let the default configuration for first try ( threads=2, maxconnect=1000,
         clientport=80, serverport=8080...)

echo 1 > /proc/sys/net/khttpd/start

ab -n 1000 http://localhost:8080/icons/logo.gif (included as attachement)
  and everithing goes well for now, really pretty boost.

echo 1 > /proc/sys/net/khttpd/stop

 got message: Daemon 1 has ended, Daemon 0 has ended

After this step, i see from ps aux: [khttpd - 0 <defunct>] 

Now, stopped the httpd accelerator and increased number of threads to four:
echo 1 > /proc/sys/net/khttpd/stop
echo 4 > /proc/sys/net/khttpd/threads

Restarted khttpd: 

echo 1 > /proc/sys/net/khttpd/start
  (i see some defunct-ed threads too now)


Then i reruned the 'ab' benchmark like above:

ab -n 1000 http://localhost:8080/icons/logo.gif

and the oops become.

If i optionally make yet another try of 'ab' benchmark after this oops, 
i get another oops of type "Aieee in interrupt...killing interrupt"...

-----------------------------------------

Here are infos:

ksymoops 2.3.7 on i586 2.4.3-ac3.  Options used
     -v /usr/src/linux/vmlinux (specified)
     -k ./ksyms (specified)
     -l ./modules (specified)
     -o /lib/modules/2.4.3-ac3/ (specified)
     -m /usr/src/linux/System.map (specified)

Apr 14 14:44:04 Boris kernel: Oops: 0000
Apr 14 14:44:04 Boris kernel: CPU:    0
Apr 14 14:44:04 Boris kernel: EIP:    0010:[<c01bd9a8>]
Using defaults from ksymoops -t elf32-i386 -a i386
Apr 14 14:44:04 Boris kernel: EFLAGS: 00010202
Apr 14 14:44:04 Boris kernel: eax: 00000000   ebx: c141702c   ecx: 00000004   edx: 
00000004
Apr 14 14:44:04 Boris kernel: esi: 00000000   edi: c2897a01   ebp: 00000000   esp: 
c1415f14
Apr 14 14:44:04 Boris kernel: ds: 0018   es: 0018   ss: 0018
Apr 14 14:44:04 Boris kernel: Process khttpd - 0 (pid: 1016, stackpage=c1415000)
Apr 14 14:44:04 Boris kernel: Stack: c0000000 c1417000 c289638a 00000000 c2897a01 
c141702c c0000000 c1417000 
Apr 14 14:44:04 Boris kernel:        00000000 00000000 00000000 00000000 00000000 
00000000 c2897538 00000000 
Apr 14 14:44:04 Boris kernel:        00000000 c1417000 c02c936c c1417000 00000000 
c2899e80 00000000 00000fff 
Apr 14 14:44:04 Boris kernel: Call Trace: [<c289638a>] [<c2897a01>] [<c2897538>] 
[<c2899e80>] [<c28973e6>] [<c28951f1>] [<c2898e40>] 
Apr 14 14:44:04 Boris kernel:        [<c2898e00>] [<c010542c>] [<c2898e40>] 
[<c2898e40>] 
Apr 14 14:44:04 Boris kernel: Code: f3 a6 74 0a 96 46 80 78 ff 00 75 ec 31 c0 5e 5f c3 
90 90 90 

>>EIP; c01bd9a8 <strstr+20/38>   <=====
Trace; c289638a <[khttpd]ParseHeader+26/2dc>
Trace; c2897a01 <[khttpd].rodata.start+361/6ed>
Trace; c2897538 <[khttpd]DecodeHeader+b4/198>
Trace; c2899e80 <[khttpd]Buffer+180/37f>
Trace; c28973e6 <[khttpd]WaitForHeaders+76/b8>
Trace; c28951f1 <[khttpd]MainDaemon+155/218>
Trace; c2898e40 <[khttpd]CountBuf+0/40>
Trace; c2898e00 <[khttpd]Running+0/40>
Trace; c010542c <kernel_thread+28/38>
Trace; c2898e40 <[khttpd]CountBuf+0/40>
Trace; c2898e40 <[khttpd]CountBuf+0/40>
Code;  c01bd9a8 <strstr+20/38>
00000000 <_EIP>:
Code;  c01bd9a8 <strstr+20/38>   <=====
   0:   f3 a6                     repz cmpsb %es:(%edi),%ds:(%esi)   <=====
Code;  c01bd9aa <strstr+22/38>
   2:   74 0a                     je     e <_EIP+0xe> c01bd9b6 <strstr+2e/38>
Code;  c01bd9ac <strstr+24/38>
   4:   96                        xchg   %eax,%esi
Code;  c01bd9ad <strstr+25/38>
   5:   46                        inc    %esi
Code;  c01bd9ae <strstr+26/38>
   6:   80 78 ff 00               cmpb   $0x0,0xffffffff(%eax)
Code;  c01bd9b2 <strstr+2a/38>
   a:   75 ec                     jne    fffffff8 <_EIP+0xfffffff8> c01bd9a0 
<strstr+18/38>
Code;  c01bd9b4 <strstr+2c/38>
   c:   31 c0                     xor    %eax,%eax
Code;  c01bd9b6 <strstr+2e/38>
   e:   5e                        pop    %esi
Code;  c01bd9b7 <strstr+2f/38>
   f:   5f                        pop    %edi
Code;  c01bd9b8 <strstr+30/38>
  10:   c3                        ret    
Code;  c01bd9b9 <strstr+31/38>
  11:   90                        nop    
Code;  c01bd9ba <strstr+32/38>
  12:   90                        nop    
Code;  c01bd9bb <strstr+33/38>
  13:   90                        nop    

---------------------------------------------

cat /proc/modules:

khttpd                 21072   5
autofs4                 8128   6 (autoclean)
3c509                   6896   1 (autoclean)
awe_wave              155936   0
sb                      7008   0
sb_lib                 32368   0 [sb]
uart401                 6000   0 [sb_lib]
sound                  52704   0 [awe_wave sb_lib uart401]
nls_iso8859-1           2848   2 (autoclean)
nls_cp437               4352   2 (autoclean)
vfat                    8400   2 (autoclean)
fat                    29120   0 (autoclean) [vfat]
floppy                 45872   0 (autoclean)
ide-cd                 25904   0 (autoclean)
cdrom                  27008   0 (autoclean) [ide-cd]

-----------------------------------------------------------

ver_linux script:

Linux Boris 2.4.3-ac3 #1 Fri Apr 13 20:48:04 CEST 2001 i586 unknown
 
Gnu C                  2.95.3
Gnu make               3.79.1
binutils               2.10.0.24
util-linux             2.10o
mount                  2.10o
modutils               2.4.5
e2fsprogs              1.19
PPP                    2.4.0
Linux C Library        2.1.3
Dynamic linker (ldd)   2.1.3
Procps                 2.0.7
Net-tools              1.57
Console-tools          0.2.3
Sh-utils               2.0
Modules Loaded         khttpd autofs4 3c509 awe_wave sb sb_lib uart401 sound 
                       nls_iso8859-1 nls_cp437 vfat fat floppy ide-cd cdrom

-------------------------------------------------------------

cat /proc/cpuinfo:

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 5
model           : 4
model name      : Pentium MMX
stepping        : 3
cpu MHz         : 167.047
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : yes
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr mce cx8 mmx
bogomips        : 333.41

Maybe i did something stuppid, eg. it's required to unload httpd first
before changing number of threads. In this case or in case this
problem already is/was solved, i'm sorry.

Regards                                                                 B.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to