On Sat, 6 Mar 2010 17:36:37 -0500 Jason Crawford <ja...@purebsd.net> wrote:
> I was testing out the latest snapshot on my amd64 laptop, and > compiling latest sources, when I came across a bug. It appears that > with the latest -current, the kernel floods dmesg with errors if > bigmem = 1, because of this commit: > http://marc.info/?l=openbsd-cvs&m=126742779701386&w=2 Got similar output caused by this commit. As I understand it this change is supposed to croak for certain bugs when spl-locks are not set appropriately. > If I roll sys/arch/amd64/amd64/machdep.c back to 1.102, the flood goes > away. If bigmem = 0, the dmesg flood does not happen. dmesgs for my > laptop are at the bottom of the email. The message I get flooded with > is: > > splassert: pool_do_put: want 10 have 13 for me it is splassert: if_up: want 5 have 7 but only one time at startup when setting up pppoe. I set splassert_ctl=2 in subr_prf.c to get some debugging info. Below you find the relevant parts from the dmesg. Notice that I ported an unofficial FreeBSD driver for my SIS190 ethernet chip. Still the trace looks like the problem is in the pppoe part. If you don't think so and want to have a look at the driver, I can post it. Christopher =================================================================== OpenBSD 4.7 (sys) #0: Sun Mar 7 11:39:42 CET 2010 madro...@pundit:/var/obj/sys real mem = 1071841280 (1022MB) avail mem = 1031888896 (984MB) mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.3 @ 0xf04b0 (57 entries) bios0: vendor American Megatrends Inc. version "0603" date 03/31/2006 bios0: ASUSTeK Computer INC. K8S-MV-P [...] sgb0 at pci0 dev 4 function 0 "SiS 190" rev 0x00invalid EEPROM signature (0) : apic 1 int 19 (irq 5), address 00:15:f2:64:0c:83 rlphy0 at sgb0 phy 1: RTL8201L 10/100 PHY, rev. 1 [...] splassert: if_up: want 5 have 7 Starting stack trace... if_up() at if_up+0x2a sppp_ioctl() at sppp_ioctl+0x8f in_ifinit() at in_ifinit+0x7c sppp_set_ip_addrs() at sppp_set_ip_addrs+0x108 sppp_ipcp_tlu() at sppp_ipcp_tlu+0x44 sppp_cp_input() at sppp_cp_input+0x3e0 sppp_input() at sppp_input+0x38b pppoeintr() at pppoeintr+0xd4 Xsoftnet() at Xsoftnet+0x7d --- interrupt --- (null)() at 0x8 end of kernel end trace frame: 0x7, count: 247 End of stack trace.