Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Nov 2002 21:42:57 +0000
From:      Hiten Pandya <hiten@unixdaemons.com>
To:        Don Bowman <don@sandvine.com>
Cc:        "'Terry Lambert'" <tlambert2@mindspring.com>, freebsd-hackers@freebsd.org, tony@ubik.demon.co.uk
Subject:   Re: if_ti DEVICE_POLLING  patch (Was: Re: [hackers] Re:  Netgraph couldbe   a router also)
Message-ID:  <3DDC01E1.9060507@unixdaemons.com>
References:  <FE045D4D9F7AED4CBFF1B3B813C8533701022FB9@mail.sandvine.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Don Bowman wrote:
>>From: Terry Lambert [mailto:tlambert2@mindspring.com]
>>Don Bowman wrote:
>>
>>>Is there any point to using device polling with the tigon 3
>>>(broadcom 570x etc)? It has a pretty good interrupt reducer in it
>>>by itself.
>>>Just tune the 2 rx and the 2 tx parameters and you get a constant
>>>interrupt rate with good latency for any packet rate.
>>
>>This is hardware interrupt coelescing.  It is a totally seperate
>>thing.
>>
>>The point of DEVICE_POLLING is to avoid the receiver livelock
>>case, when you are under extreme load.
>>
>>What this probably means is that you haven't put enough load
>>on the hardware to see the livelock case.
>>
> 
> 
> Actually I have pushed it to the livelock case. I'm shocked at how
> easy this is to do with BSD (I'm used to system like vxworks with
> much lower over head interrupt processing).
> I found that for a 2x XEON @ 2GHz that I can achieve this @ ~100Mbps
> of minimal size UDP fragments. Tuning the driver dramatically improved
> the situation. Reducing the size of its receive ring to the proper
> amount also helps since it will then run out of buffers and
> drop packets.  This isn't extreme load, it isn't really particularly
> heavy load, its only like ~200Kpps. I suspect the defragmenting
> is the issue, so I tried it again with ARP's. This helped a lot.
> 
> I'm still not clear on how the receiver polling helps me, it also
> makes a constant rate consumption of packets. If I set the bds 
> to the max, then I will only be interrupted @ constant rate by 
> the device.

Thanks to Luigi for writing a nice manual page on Device Polling 
operation.  It explains most of the things clearly.  There is also 
something about tuning the HZ kernel configuration option.  FYI, the 
manual page is polling(4).

For more information, and Frequently Asked Questions, checkout the 
following Luigi's homepage: http://info.iet.unipi.it/~luigi/polling/

Cheers.

-- 
Hiten
hiten@unixdaemons.com, hiten@uk.FreeBSD.org, hiten@softweyr.com


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3DDC01E1.9060507>