On 3/18/2011 3:35 AM, Mats Lindberg wrote:
So - after a while I've made some observations.
My problem is actually connected to arp.
My config is very static so basically I want to turn off arp requests.
Somewhere in the startup scripts I did
> sysctl -w net.link.ether.inet.max_age=2147483647 (max accepted value)
Which on freebsd-6.x worked fine.
In freebsd-8.1 this makes the kernel arp functionality go bezerk -
probably an integer overflow somewhere.
arp requests were sent countinously from my freebsd-8.1 node to
others, flooding the network.
I tried to lower this value and found that 500000000s works fine
1000000000s does not. 500000000s is OK to me so I won't try to narrow
it down more.
The reason I was suspecting swapping problems was that after a while
with the flooding going on I got a kernel panic saying 'page fault',
which I would guess is a another bug, but, with a sensible setting on
the arp timeout the kernel panic does not show itself any longer.
I've googled for my arp-setting problem but not found anything on it.
So - maybe I'm the first to see this.
Should I enter a bug report somewhere?
I guess this forum is not the place.
/Mats
Did your HZ (timer interrupts per second) increase from 100 on FreeBSD-6
to 1000 on FreeBSD-8.1? This must be a 32 bit computer / OS because that
variable is multiplied to hz:
canceled = callout_reset(&la->la_timer,
hz * V_arpt_keep, arptimer, la);
and:
#define callout_reset(c, on_tick, fn, arg) \
callout_reset_on((c), (on_tick), (fn), (arg), (c)->c_cpu)
where:
int callout_reset_on(struct callout *, int , void (*ftn)(void *), void
*, int)
I would guess that you are wrapping with 32 bit arithmetic to a small
value. Both the hz==100 and hz==1000 will wrap to about the same number
(a negative number). I did not look at the FreeBSD 6.x callout, but I
think in the FreeBSD 8 callout, negative on_tick will be immediately
called on the next tick..
A page fault panic is a kernel access to a non-mapped VA (a bad
pointer). The panic message would have the VA and instruction address
information.
--Mark
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"