Netisr and 100% CPU

Hi all,

I have a problem with one of my servers which run under FreeBSD 9.0-RELEASE-p4.

When the firewall PF is enabled and i open a file, the server freeze.

The problem occurred without any change on the server.

I looked netisr, but nothing except the size of the queue.


Code:
$ top -a -P -H -S
last pid: 39065;  load averages:  6.25,  1.83,  0.69                                                                                                                up 16+00:34:12  16:31:42
67 processes:  7 running, 48 sleeping, 12 waiting
CPU:  0.0% user,  0.0% nice,  0.0% system, 99.7% interrupt,  0.3% idle
Mem: 22M Active, 66M Inact, 119M Wired, 44K Cache, 111M Buf, 773M Free
Swap: 

  PID JID USERNAME PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
   12   0 root     -72    -     0K   192K WAIT   151:20 100.00% [intr{swi1: netisr 0}]
   11   0 root     155 ki31     0K    16K RUN    381.0H  0.00% [idle]
   12   0 root     -60    -     0K   192K WAIT    46:44  0.00% [intr{swi4: clock}]
   18   0 root      16    -     0K    16K biowr    5:13  0.00% [syncer]
   12   0 root     -80    -     0K   192K WAIT     3:22  0.00% [intr{irq30: xenpci0}]
[...]

Code:
$ netstat -Q
Configuration:
Setting                        Current        Limit
Thread count                         1            1
Default queue limit                256        10240
Dispatch policy                 direct          n/a
Threads bound to CPUs         disabled          n/a

Protocols:
Name   Proto QLimit Policy Dispatch Flags
ip         1    256   flow  default   ---
igmp       2    256 source  default   ---
rtsock     3    256 source  default   ---
arp        7    256 source  default   ---
ether      9    256 source   direct   ---

Workstreams:
WSID CPU   Name     Len WMark   Disp'd  HDisp'd   QDrops   Queued  Handled
   0   0   ip         0     1     1668        0        0  7729096  7730764
   0   0   igmp       0     0        0        0        0        0        0
   0   0   rtsock     0     1        0        0        0        1        1
   0   0   arp        0     0      137        0        0        0      137
   0   0   ether      0     0     7294        0        0        0     7294
 
I solved the problem by adding -txcsum and -rxcsum in /etc/rc.conf for all networks interfaces.
 
Back
Top