[ previous ] [ next ] [ threads ]
 From:  Fred Wright <fw at well dot com>
 To:  m0n0wall at lists dot m0n0 dot ch
 Subject:  Re: [m0n0wall] m0n0wall + net4501 keeps rebooting
 Date:  Tue, 30 Dec 2003 22:33:16 -0800 (PST)
On Mon, 29 Dec 2003, Manuel Kasper wrote:
> Now, using polling mode seems to circumvent this problem, so I quickly 
> whipped together a net45xx image with a kernel that supports polling 
> (with HZ=1000, and a call in rc.bootup to enable it):

I presume the HZ increase was only in that version, since the current
version seems to have 250.  Cranking it up to 1000 is actually a pretty
bad idea - see below.

On Mon, 29 Dec 2003, Manuel Kasper wrote:
> Since running watchdogd at an increased (or even realtime) priority 
> doesn't help here (I tried it, too), I'm wondering what net45xx 
> m0n0wall users think we should do... I see two solutions:
> - removing watchdogd

Since the current watchdog support obviously needs work, that's probably
not a bad idea, although it doesn't solve the underlying problem of the
system getting too bogged down to run processes.

> - using polling by default on net45xx
> I'm not sure if the latter is such a good idea (even though polling 
> yields a slightly higher throughput), because wireless cards can still 
> cause the same problem.

Only if wireless cards can generate sufficiently high packet rates to
cause trouble, which may well not be the case.

Nonetheless, pure polling is undesirable since it forces a terrible
tradeoff between latency and overhead.  I've seen reports that most
"modern" systems tend to saturate at an interrupt rate of somewhere around
1KHz, *regardless of the speed of the system*, due to "cold cache" issues.
That makes HZ=1000 very expensive, but meanwhile even 1ms of added latency
(well, OK, 500us average) is pretty significant.  What's really wanted is
a setup where packet processing is only delayed when the system is
"getting in trouble".  And of course at some point you have to start
throwing away packets when you can't keep up.

> If no better solution is proposed, I'll just remove watchdogd from the 
> next release. I'm not entirely sure it's needed anyway... has anybody's 
> net45xx ever hung up for no reason? Mine certainly haven't.

Not that I know of, though the watchdog is still a good idea in

					Fred Wright