disabling interrupt storm protection
John Baldwin
jhb at FreeBSD.org
Thu Oct 28 11:56:13 PDT 2004
On Thursday 28 October 2004 06:13 am, Shunsuke SHINOMIYA wrote:
> Thank you, John.
>
> > Can you try this patch:
> >
> > --- //depot/vendor/freebsd/src/sys/kern/kern_intr.c 2004/09/05 02:10:52
> > +++ //depot/projects/smpng/sys/kern/kern_intr.c 2004/10/27 17:41:06
>
> snip
>
> > First, can you test that your system works with the default threshold,
> > and second, can you test that setting the threshold to zero disables the
> > storm detection?
>
> I applied your patch to kern_intr.c, and then I transmitted the high
> rate(148kpps) IP traffic to the box with the default threshold. But
> storm protection was not invoked.
>
> It seem that sensitivity of the detector is fallen.
>
> I tried some patterns of the packet loss test(transmitting the packets
> of the wire rate in 100Mbps to the box for 10 seconds. The frame size
> of each packets is 64 octet).
>
> These results are as follows.
>
> Each `before' and `after' are outputs of `vmstat -i | grep em'. Please
> observe the first numerical value(number of interrupts since system
> startup). kern.hz is 100 at all trials. And `Interrupt Moderation', one
> of the feature of em was disabled.
>
> ==========
> o kern_intr.c applied your patch.
> o hw.intr_storm_threshold=500(default)
>
> remark
> o The test results of both 1st and 2nd trial are good, low packet loss
> rate. A difference of both trials may be measurement error.
> o Interrupt storm protections is not invoked.
> o The interrupts rate of em0(input side) is about 25000 interrupts per
> second during a trial.
> o When hw.intr_storm_threshold=200, Interrupt storm protections is not
> invoked.
Excellent, thanks. I feared that the stuff under #ifdef HACK was causing
false positives. I'll revert the code to the non-HACK version in HEAD and
will get it into RELENG_5 at some point (though it is probably too late for
5.3.)
--
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the freebsd-current
mailing list