Date: Fri, 12 Mar 2010 20:58:24 +0100 From: Maks Verver <maksverver@geocities.com> To: Mark Tinguely <tinguely@casselton.net> Cc: freebsd-arm@freebsd.org Subject: Re: Performance of SheevaPlug on 8-stable Message-ID: <4B9A9CE0.2090509@geocities.com> In-Reply-To: <201003101807.o2AI7ES2061783@casselton.net> References: <201003101807.o2AI7ES2061783@casselton.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 03/10/2010 07:07 PM, Mark Tinguely wrote: > I believe there is still a path that md.pv_kva is not being zeroed > before the page is freed. [..] We can prove this theory by placing a > temporary printf statement or even better a panic in > vm_page_free_toq(). I tried this, and it triggers immediately during boot, but I don't really know what to do at the debugger prompt except produce a backtrace. Here's the complete log: ## Starting application at 0x00900100 ... KDB: debugger backends: ddb KDB: current backend: ddb Copyright (c) 1992-2010 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 9.0-CURRENT #2: Fri Mar 12 18:49:03 CET 2010 root@heaven.student.utwente.nl:/usr/obj/arm/usr/src/sys/ELYSIUM arm CPU: Feroceon 88FR131 rev 1 (Marvell core) DC enabled IC enabled WB enabled EABT branch prediction enabled 16KB/32B 4-way Instruction cache 16KB/32B 4-way write-back-locking-C Data cache real memory = 536870912 (512 MB) avail memory = 520273920 (496 MB) SOC: Marvell 88F6281 rev A0, TClock 200MHz mbus0: <Marvell Internal Bus (Mbus)> on motherboard ic0: <Marvell Integrated Interrupt Controller> at mem 0xf1020200-0xf102023b on mbus0 timer0: <Marvell CPU Timer> at mem 0xf1020300-0xf102032f irq 1 on mbus0 timer0: [FILTER] rtc0: <Marvell Integrated RTC> at mem 0xf1010300-0xf1010307 on mbus0 gpio0: <Marvell Integrated GPIO Controller> at mem 0xf1010100-0xf101011f irq 35,36,37,38,39,40,41 on mbus0 gpio0: [FILTER] gpio0: [FILTER] gpio0: [FILTER] gpio0: [FILTER] gpio0: [FILTER] gpio0: [FILTER] gpio0: [FILTER] uart0: <16550 or compatible> at mem 0xf1012000-0xf101201f irq 33 on mbus0 uart0: [FILTER] uart0: console (115740,n,8,1) uart1: <16550 or compatible> at mem 0xf1012100-0xf101211f irq 34 on mbus0 uart1: [FILTER] ehci0: <Marvell Integrated USB 2.0 controller> at mem 0xf1050000-0xf1050fff irq 48,19 on mbus0 ehci0: [FILTER] ehci0: [ITHREAD] usbus0: EHCI version 1.0 usbus0: set host controller mode usbus0: <Marvell Integrated USB 2.0 controller> on ehci0 mge0: <Marvell Gigabit Ethernet controller> at mem 0xf1072000-0xf1073fff irq 12,13,14,11,46 on mbus0 mge0: Ethernet address: 00:50:43:01:d8:2c miibus0: <MII bus> on mge0 e1000phy0: <Marvell 88E1116R Gigabit PHY> PHY 0 on miibus0 e1000phy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto mge0: [ITHREAD] mge0: [ITHREAD] Timecounter "CPU Timer" frequency 200000000 Hz quality 1000 Timecounters tick every 1.000 msec usbus0: 480Mbps High Speed USB v2.0 Trying to mount root from ufs:/dev/da0s1d. Press CTRL+C to abort. ROOT MOUNT ERROR: If you have invalid mount options, reboot, and first try the following from the loader prompt: set vfs.root.mountfrom.options=rw and then remove invalid mount options from /etc/fstab. ugen0.1: <Marvell> at usbus0 uhub0: <Marvell EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0 uhub0: 1 port with 1 removable, self powered Trying to mount root from ufs:/dev/da0s1d. Press CTRL+C to abort. ugen0.2: <vendor 0x3538> at usbus0 umass0: <vendor 0x3538 USB Mass Storage Device, class 0/0, rev 2.00/1.00, addr 2> on usbus0 umass0: SCSI over Bulk-Only; quirks = 0x0000 Trying to mount root from ufs:/dev/da0s1d. Press CTRL+C to abort. umass0:0:0:-1: Attached to scbus0 da0 at umass-sim0 bus 0 scbus0 target 0 lun 0 da0: <Generic USB Flash Disk 0.00> Removable Direct Access SCSI-2 device da0: 40.000MB/s transfers da0: 480MB (983808 512 byte sectors: 64H 32S/T 480C) Trying to mount root from ufs:/dev/da0s1d. Press CTRL+C to abort. WARNING: / was not properly dismounted panic: vm_page_free_toq: pva nonzero 0xc85cc000 KDB: enter: panic [ thread pid 1 tid 100001 ] Stopped at kdb_enter+0x48: ldrb r15, [r15, r15, ror r15]! db> trace Tracing pid 1 tid 100001 td 0xc341e000 kdb_enter() at kdb_enter+0x10 scp=0xc09d1844 rlv=0xc09a3110 (panic+0xcc) rsp=0xcf23e804 rfp=0xcf23e818 r4=0x00000100 panic() at panic+0x14 scp=0xc09a3058 rlv=0xc0b1555c (vm_page_free_toq+0x138) rsp=0xcf23e82c rfp=0xcf23e840 vm_page_free_toq() at vm_page_free_toq+0x10 scp=0xc0b15434 rlv=0xc0b156e8 (vm_page_free+0x1c) rsp=0xcf23e844 rfp=0xcf23e850 r4=0xc0dafbfc vm_page_free() at vm_page_free+0x10 scp=0xc0b156dc rlv=0xc0a105f4 (allocbuf+0xad8) rsp=0xcf23e854 rfp=0xcf23e870 allocbuf() at allocbuf+0xa30 scp=0xc0a1054c rlv=0xc0a10bac (brelse+0x48c) rsp=0xcf23e874 rfp=0xcf23e8c0 r7=0x00000000 r6=0x00001000 r5=0xc0b74b10 r4=0xc0bfd500 brelse() at brelse+0x10 scp=0xc0a10730 rlv=0xc0aebba0 (ffs_sbupdate+0x265c) rsp=0xcf23e8c4 rfp=0xcf23e9c0 r10=0x00000000 r9=0x00010000 r8=0x00000000 r7=0xc85cc000 r6=0xc85cc0d4 r5=0x00000000 r4=0xc0be7e08 ffs_sbupdate() at ffs_sbupdate+0xe28 scp=0xc0aea36c rlv=0xc0a215f4 (vfs_donmount+0xc84) rsp=0xcf23e9c4 rfp=0xcf23ec00 r10=0xc3602518 r9=0x00000003 r8=0xcf23ec04 r7=0xc3602518 r6=0x00004001 r5=0xcf23eb50 r4=0x00000000 vfs_donmount() at vfs_donmount+0x10 scp=0xc0a20980 rlv=0xc0a21cb4 (kernel_mount+0x80) rsp=0xcf23ec04 rfp=0xcf23ec3c r10=0xc3541940 r9=0x00000003 r8=0xc3628e80 r7=0xc3541930 r6=0x00000000 r5=0xc3541930 r4=0xffffffff kernel_mount() at kernel_mount+0x10 scp=0xc0a21c44 rlv=0xc0a21fb0 (kernel_vmount+0x294) rsp=0xcf23ec40 rfp=0xcf23edf0 r6=0x00000000 r5=0xc0b77118 r4=0xffffffff kernel_vmount() at kernel_vmount+0x84 scp=0xc0a21da0 rlv=0xc0a227c0 (vfs_mountroot+0x2a4) rsp=0xcf23edf4 rfp=0xcf23ee2c r10=0x00000000 r9=0xc341c000 r8=0xc0b770d8 r7=0x00000000 r6=0x00000003 r5=0xffffffff r4=0xc0bf7b2c vfs_mountroot() at vfs_mountroot+0x10 scp=0xc0a2252c rlv=0xc0964734 (exec_shell_imgact+0x7ac) rsp=0xcf23ee30 rfp=0xcf23ee84 r8=0xc341c000 r7=0xcf23eeac r6=0x00000000 r5=0xc0b6339c r4=0xc0bf1ab8 exec_shell_imgact() at exec_shell_imgact+0x768 scp=0xc09646f0 rlv=0xc097dc54 (fork_exit+0x8c) rsp=0xcf23ee88 rfp=0xcf23eea8 r10=0x00000000 r9=0x00000000 r8=0xc341c000 r7=0xcf23eeac r6=0x00000000 r5=0xc09646e0 r4=0xc341e000 fork_exit() at fork_exit+0x10 scp=0xc097dbd8 rlv=0xc0b34410 (fork_trampoline+0x14) rsp=0xcf23eeac rfp=0x00000000 r8=0x00000000 r7=0x00000000 r6=0x00000000 r5=0x00000000 r4=0xc09646e0 Does this help? - Maks Verver.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B9A9CE0.2090509>