Userland freezes during heavy packet forwarding workloads

Scott Ullrich sullrich at gmail.com
Fri Oct 13 01:35:31 UTC 2006


On 10/12/06, Chuck Swiger <cswiger at mac.com> wrote:
> On Oct 12, 2006, at 2:11 PM, Scott Ullrich wrote:
> > We (pfSense developers) have noticed an interesting problem where
> > userland stops functioning under high packet forwarding workloads.
> > Userland applications such as sshd and lighttpd freeze but userland
> > resumes after the network load eases.
>
> [ ...note that the links you posted included the trailing square
> bracket,
>       and thus were broken, although easily fixable by hand... ]

Yes, this is to prevent breakage of the URLs in many common mailers.

> > Is there anything we can do to prevent userland from stopping
> > completely when under heavy load?  Is this a bug?
>
> You're probably experiencing some form of "livelock"; your hardware
> isn't horribly fast, and if the NICs are generating interrupts
> rapidly enough due to the high rate of packet forwarding, you're not
> going to have a lot of spare CPU available to run userland tasks.
>
> I notice you're compiling in support for DEVICE_POLLING; does
> enabling it do anything to help the responsiveness of the userland
> tasks under high network load?  You might try adjusting HZ from 100
> to 250 or so...I found that made a decent tradeoff between packet
> delay and scheduler overhead on similar Soerkis 4801 or VIA C3/EPIA-M
> hardware to yours.

We are not interested in polling, it is not the answer to the problem
at hand.    4.X does not require polling to keep userland available
during these workloads.  Why should 6.X require this?

I understand where you are going with this but we are somewhat
interested in helping get FreeBSD back on track, not to introduce
workarounds.

Thanks for your response.

Scott


More information about the freebsd-stable mailing list