Hi,
I cannot boot a very recent build (minutes ago) of 8-CURRENT on VMWare=20
Server. Panic ("integer divide fault" - is this division by zero?) is in =sched_rr_interval().
More info here:
http://ivoras.sharanet.org/stuff/panic/It might be because I'm trying to run without WITNESS+INVARIANTS.
No, building a GENERIC kernel doesn't change anything. It's also not a=20
cvsup glitch - todays sources panic in exactly the same way.
Can you tell me what the values of:
sysctl kern.sched.slice
and
sysctl kern.clockrate
are?
Thanks,
Jeff
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
The machine doesn't finish booting the kernel (i.e. init isn't executed) =
and fetching sysctls apparently isn't supported by the kernel debugger=20
(though it would be nice if it did work, at least for simple variables).The only old kernel I have is 7.0RC1, and in it I can only access=20
kern.clockrate, which is { hz=3D50, tick=3D20000, profhz=3D33, stathz=3D6=
}.Since you brought up the issue of clocks, I removed the tuning of=20
kern.hz (it was present there practically forever) and the panic's gone. =I use low values for kern.hz in VMWare to (noticably) reduce problems=20
with clock drift and context switches, so it would be nice to not have=20
the kernel panic with it :)Apparently lowering kern.hz works upto about 75 - anything lower=20
triggers the integer divide fault.
I ran into this problem recently. It appears that sched_slice is set
to zero when realstathz drops below 10 in sched_ule.c:sched_slice = (realstathz/10); /* ~100ms */
I was able to work around the problem with the following patch. The
image no longer panics, but I have not done any stress or performance
testing. Is there a better solution to this problem?For reference:
> uname -a
FreeBSD vm7.vadev.org 7.0-STABLE FreeBSD 7.0-STABLE #3 r50:55M: Mon
Jul 28 09:27:04 EDT 2008 root@vm7.vadev.org:/usr/obj/usr/src/sys/
VMWARE i386
> sysctl -a | grep kern.clock
kern.clockrate: { hz = 50, tick = 20000, profhz = 33, stathz = 6 }The patch is against 7-STABLE from 7/24/2008.
Thanks.
- Ben
Index: src/sys/kern/sched_ule.c
===================================================================
--- src/sys/kern/sched_ule.c (revision 53)
+++ src/sys/kern/sched_ule.c (working copy)
@@ -1325,6 +1325,7 @@
*/
realstathz = hz;
sched_slice = (realstathz/10); /* ~100ms */
+ sched_slice = sched_slice ? sched_slice : 1;
tickincr = 1 << SCHED_TICK_SHIFT;/* Add thread0's load since it's running. */
@@ -1345,6 +1346,7 @@realstathz = stathz ? stathz : hz;
sched_slice = (realstathz/10); /* ~100ms */
+ sched_slice = sched_slice ? sched_slice : 1;/*
* tickincr is shifted out by 10 to avoid rounding errors due to_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Srivatsa Vaddagiri | containers (was Re: -mm merge plans for 2.6.23) |
| Benjamin Herrenschmidt | Re: [linux-pm] [PATCH] Remove process freezer from suspend to RAM pathway |
git: | |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Patrick McHardy | Re: [GIT]: Networking |
| Gerrit Renker | [PATCH 6/7] [CCID-2/3]: Fix sparse warnings |
