Re: fxp0 generating lots of interrupts

From: Andre Oppermann <andre_at_freebsd.org>
Date: Mon, 08 Mar 2004 14:05:50 +0100
Tony Frank wrote:
> Hi,
> 
> On Mon, Mar 08, 2004 at 12:44:48AM +0100, Julian wrote:
> 
>>Tony Frank <tfrank_at_optushome.com.au> writes:
>>
>>
>>>Hi there,
>>>
>>>On Sun, Mar 07, 2004 at 10:39:27PM +0100, Julian wrote:
>>>
>>>>I just replaced my old network adaptor with another one and noticed
>>>>that vmstat reports lots of interrupts:
>>>>
>>>>vmstat -i | grep fxp
>>>>irq11: fxp0                      1532367        394
>>>>
>>>>Is this "normal"?
>>>
>>>I guess that depends what you consider to be 'lots'?
>>
>>Compared to my old RealTek-based card.
>>
>>
>>>If you are using device polling, then I expect the interrupts to be quite
>>>high.
>>>If you are not using the interface for any network traffic and it is a 
>>>quiet network (ie not much broadcast traffic) then I expect the volume 
>>>to be high.
>>
>>The 394 was during "activity" of about 10 MBit/s. It's down to 200 at
>>the moment and there is almost no network activity at the moment.

When using polling you won't see any interrupts anymore.  Unfortunatly the
counter simply freezes the number it just had before polling was enabled.
So this number is bogus and should be zero.

> Note that my server here is running 4.9-STABLE so the results may not be
> suitable to directly compare.
> 
> While transferring several gb of data from winxp to freebsd server (samba)
> I was getting about 5000kbyte/s sustained throughput and fxp0 stats:
> 
> fxp0 -link0 around 4000 int/measurement
> fxp0 link0 around 750 int/measurement

The link0 option enables a feature in the fxp cards which collects several
incoming packets together and issues one interrupt for them instead of one
for each.  That is why you see less interrupts with it enabled.  Normally
this option is disabled (-link0) because it doesn't work with some revisions
of the fxp chip.

> "Idle" background is typically under 10 int/measurement
> 
> When reading several gb of data from freebsd server with winxp box I
> get about 6000kbyte/s and fxp0 int of:
> 
> fxp0 -link0 around 2500int/measurement
> fxp0 link0 around 2500 int/measurement (expected as this is receive only setting)

In this case the link0 mode doesn't make a difference because the fxp
generates a interrupt for every packet sent as well.  Those can't be
batched together.

> I am measuring running 'systat -v' and looking at the values shown after several 
> updates.
> 
> 
>>>What makes you think you have 'lots' of interupts as opposed to 'normal level' ?
>>
>>I've only compared it to my old card. Perhaps I should not have done
>>this, as the high interrupt frequency does not impact system
>>performance in any noticeable way.
> 
> 
> I guess it will depend on how much activity is on the network.
> It does not sound unusual to me but I guess it depends on your environment.

Normally you get one interrupt per packet.  If you have fast data transfers on
your network you will get many interrupts per second.  One for every packet
received and sent.  That is normal and nothing to worry about.

-- 
Andre
Received on Mon Mar 08 2004 - 04:05:43 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:46 UTC