Hi all, Has anyone been trying to boot w/k.org lately? I tried with: - commit e0e736fc + 2 patches attached I got from patchworks - 4430SDP w/ES2.1 - Busybox FS through NFS. I see the attached log, which shows a spinlock recursion bug. I did a git bisect, and found this offending commit: 34286d6662308d82aed891852d04c7c3a2649b16 is the first bad commit commit 34286d6662308d82aed891852d04c7c3a2649b16 Author: Nick Piggin <npiggin@xxxxxxxxx> Date: Fri Jan 7 17:49:57 2011 +1100 fs: rcu-walk aware d_revalidate method Require filesystems be aware of .d_revalidate being called in rcu-walk mode (nd->flags & LOOKUP_RCU). For now do a simple push down, returning -ECHILD from all implementations. Signed-off-by: Nick Piggin <npiggin@xxxxxxxxx> :040000 040000 409693ac5c32f4daa0c9be786e85b04dea32a24f 1813b382a41b72ccb5d810c282639961e6d81b73 M Documentation :040000 040000 a51e00e2f5335f8804e9e5fab10a26b0d67ac302 333fc859d8d1f2badea9023072e1ab356f042215 M drivers :040000 040000 53158279a9808c50157dd4b6ec5c35951b3a60af 301c546b257a5b4f3f09289fc5e8f55e66b2b6b9 M fs :040000 040000 e68ac1512333db998dc539a40a2b43dcee9cb074 f238839ffc4021e276be9d39d4e9c510575c9f44 M include And I narrowed it down to this line: In file fs/namei.c: ... ... static int nameidata_dentry_drop_rcu(struct nameidata *nd, struct dentry *dentry) { struct fs_struct *fs = current->fs; struct dentry *parent = nd->path.dentry; BUG_ON(!(nd->flags & LOOKUP_RCU)); if (nd->root.mnt) { spin_lock(&fs->lock); if (nd->root.mnt != fs->root.mnt || nd->root.dentry != fs->root.dentry) goto err_root; } spin_lock(&parent->d_lock); spin_lock_nested(&dentry->d_lock, DENTRY_D_LOCK_NESTED); <-- HERE THE RECURSION IS FIRED UP ... ... I had been googling around and I just saw Uwe & Santosh reporting the problem in LKML, but nobody has answered. Has anyone seen this aswell in other platforms? (OMAP3 based boards) Regards, Sergio
## Booting image at 80300000 ... Image Name: Linux-2.6.37-03740-gbc4a241 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2941368 Bytes = 2.8 MB Load Address: 80008000 Entry Point: 80008000 Verifying Checksum ... OK OK Starting kernel ... Uncompressing Linux... done, booting the kernel. [ 0.000000] Linux version 2.6.37-03740-gbc4a241 (x0091359@dtx0091359-ubuntu-1) (gcc version 4.4.1 (Sourcery G++ Lite 2010q1-202) ) #3 SMP Mon Jan 10 15:09:12 CST 2011 [ 0.000000] CPU: ARMv7 Processor [411fc092] revision 2 (ARMv7), cr=10c53c7f [ 0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] Machine: OMAP4430 4430SDP board [ 0.000000] Memory policy: ECC disabled, Data cache writealloc [ 0.000000] Truncating RAM at a0000000-bfffffff to -afffffff (vmalloc region overlap). [ 0.000000] OMAP4430 ES2.0 [ 0.000000] SRAM: Mapped pa 0x40300000 to va 0xfe400000 size: 0xe000 [ 0.000000] FIXME: omap44xx_sram_init not implemented [ 0.000000] PERCPU: Embedded 7 pages/cpu @c115f000 s6048 r8192 d14432 u32768 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 181248 [ 0.000000] Kernel command line: console=ttyO2,115200n8 root=/dev/nfs rw nfsroot=128.247.78.218:/home/x0091359/my-nfs/busybox,tcp,rsize=4096,wsize=4096 mem=458M@0x80000000 mem=512M@0xA0000000 noinitrd ip=dh" [ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) [ 0.000000] Memory: 458MB 512MB = 970MB total [ 0.000000] Memory: 712916k/712916k available, 18220k reserved, 0K highmem [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) [ 0.000000] DMA : 0xffc00000 - 0xffe00000 ( 2 MB) [ 0.000000] vmalloc : 0xf0800000 - 0xf8000000 ( 120 MB) [ 0.000000] lowmem : 0xc0000000 - 0xf0000000 ( 768 MB) [ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB) [ 0.000000] .init : 0xc0008000 - 0xc0052000 ( 296 kB) [ 0.000000] .text : 0xc0052000 - 0xc0583a94 (5319 kB) [ 0.000000] .data : 0xc0584000 - 0xc05f9240 ( 469 kB) [ 0.000000] Hierarchical RCU implementation. [ 0.000000] RCU-based detection of stalled CPUs is disabled. [ 0.000000] NR_IRQS:402 [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: at arch/arm/mach-omap2/clockdomain.c:876 omap2_clkdm_deny_idle+0x4c/0x7c() [ 0.000000] clockdomain: OMAP4 wakeup/sleep dependency support is not yet implemented [ 0.000000] Modules linked in: [ 0.000000] [<c0063290>] (unwind_backtrace+0x0/0xe4) from [<c0093f60>] (warn_slowpath_common+0x4c/0x64) [ 0.000000] [<c0093f60>] (warn_slowpath_common+0x4c/0x64) from [<c0093ff8>] (warn_slowpath_fmt+0x2c/0x3c) [ 0.000000] [<c0093ff8>] (warn_slowpath_fmt+0x2c/0x3c) from [<c0073bd4>] (omap2_clkdm_deny_idle+0x4c/0x7c) [ 0.000000] [<c0073bd4>] (omap2_clkdm_deny_idle+0x4c/0x7c) from [<c0074148>] (clkdm_init+0x134/0x178) [ 0.000000] [<c0074148>] (clkdm_init+0x134/0x178) from [<c000eef4>] (omap2_init_common_infrastructure+0x7c/0x14c) [ 0.000000] [<c000eef4>] (omap2_init_common_infrastructure+0x7c/0x14c) from [<c0018220>] (omap_4430sdp_init_irq+0x20/0x48) [ 0.000000] [<c0018220>] (omap_4430sdp_init_irq+0x20/0x48) from [<c000b534>] (init_IRQ+0x14/0x1c) [ 0.000000] [<c000b534>] (init_IRQ+0x14/0x1c) from [<c0008970>] (start_kernel+0x188/0x2fc) [ 0.000000] [<c0008970>] (start_kernel+0x188/0x2fc) from [<80008038>] (0x80008038) [ 0.000000] ---[ end trace 1b75b31a2719ed1c ]--- [ 0.000000] omap_hwmod: l3_div_ck: missing clockdomain for l3_div_ck. [ 0.000000] omap_hwmod: dpll_mpu_m2_ck: missing clockdomain for dpll_mpu_m2_ck. [ 0.000000] GPMC revision 6.0 [ 0.000000] OMAP clockevent source: GPTIMER1 at 32768 Hz [ 0.000000] Console: colour dummy device 80x30 [ 0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar [ 0.000000] ... MAX_LOCKDEP_SUBCLASSES: 8 [ 0.000000] ... MAX_LOCK_DEPTH: 48 [ 0.000000] ... MAX_LOCKDEP_KEYS: 8191 [ 0.000000] ... CLASSHASH_SIZE: 4096 [ 0.000000] ... MAX_LOCKDEP_ENTRIES: 16384 [ 0.000000] ... MAX_LOCKDEP_CHAINS: 32768 [ 0.000000] ... CHAINHASH_SIZE: 16384 [ 0.000000] memory used by lock dependency info: 3695 kB [ 0.000000] per task-struct memory footprint: 1152 bytes [ 0.000000] Calibrating delay loop... 2009.29 BogoMIPS (lpj=7847936) [ 0.000000] pid_max: default: 32768 minimum: 301 [ 0.000000] Security Framework initialized [ 0.000000] Mount-cache hash table entries: 512 [ 0.000000] CPU: Testing write buffer coherency: ok [ 0.000000] L310 cache controller enabled [ 0.000000] l2x0: 16 ways, CACHE_ID 0x410000c4, AUX_CTRL 0x7e470000, Cache size: 1048576 B [ 0.000000] CPU1: Booted secondary processor [ 0.000000] CPU1: Unknown IPI message 0x1 [ 0.000000] Brought up 2 CPUs [ 0.000000] SMP: Total of 2 processors activated (4022.78 BogoMIPS). [ 0.000000] regulator: core version 0.5 [ 0.000000] regulator: dummy: [ 0.000000] NET: Registered protocol family 16 [ 0.000000] OMAP GPIO hardware version 0.1 [ 0.000000] OMAP GPIO hardware version 0.1 [ 0.000000] OMAP GPIO hardware version 0.1 [ 0.000000] OMAP GPIO hardware version 0.1 [ 0.000000] OMAP GPIO hardware version 0.1 [ 0.000000] OMAP GPIO hardware version 0.1 [ 0.000000] omap_mux_init: Add partition: #1: core, flags: 2 [ 0.000000] omap_mux_init: Add partition: #2: wkup, flags: 2 [ 0.000000] hw-breakpoint: found 6 breakpoint and 1 watchpoint registers. [ 0.000000] hw-breakpoint: 1 breakpoint(s) reserved for watchpoint single-step. [ 0.000000] hw-breakpoint: maximum watchpoint size is 4 bytes. [ 0.000000] pm_dbg_init: only OMAP3 supported [ 0.000000] OMAP DMA hardware revision 0.0 [ 0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms [ 0.020782] bio: create slab <bio-0> at 0 [ 0.024902] SCSI subsystem initialized [ 0.028961] usbcore: registered new interface driver usbfs [ 0.029388] usbcore: registered new interface driver hub [ 0.029693] usbcore: registered new device driver usb [ 0.030395] omap_device: omap_i2c.1: new worst case activate latency 0: 30517 [ 0.039581] omap_i2c omap_i2c.1: bus 1 rev4.0 at 400 kHz [ 0.056335] Skipping twl internal clock init and using bootloader value (unknown osc rate) [ 0.057159] twl6030: PIH (irq 39) chaining IRQs 368..387 [ 0.103454] regulator: VMMC: 1200 <--> 3000 mV at 3000 mV normal standby [ 0.104614] regulator: VPP: 1800 <--> 2500 mV at 1900 mV normal standby [ 0.105712] regulator: VUSIM: 1200 <--> 2900 mV at 1800 mV normal standby [ 0.106628] regulator: VANA: 2100 mV normal standby [ 0.107543] regulator: VCXIO: 1800 mV normal standby [ 0.108520] regulator: VDAC: 1800 mV normal standby [ 0.109619] regulator: VAUX1_6030: 1000 <--> 3000 mV at 2800 mV normal standby [ 0.110900] regulator: VAUX2_6030: 1200 <--> 2800 mV at 1800 mV normal standby [ 0.111968] regulator: VAUX3_6030: 1000 <--> 3000 mV at 1200 mV normal standby [ 0.125427] omap_i2c omap_i2c.2: bus 2 rev4.0 at 400 kHz [ 0.125823] omap_device: omap_i2c.2: new worst case deactivate latency 0: 30517 [ 0.141052] omap_i2c omap_i2c.3: bus 3 rev4.0 at 400 kHz [ 0.156677] omap_i2c omap_i2c.4: bus 4 rev4.0 at 400 kHz [ 0.160461] Switching to clocksource 32k_counter [ 0.164428] Clockevents: could not switch to one-shot mode: [ 0.164459] Clockevents: could not switch to one-shot mode: dummy_timer is not functional. [ 0.164459] Could not switch to high resolution mode on CPU 1 [ 0.164459] dummy_timer is not functional. [ 0.164489] Could not switch to high resolution mode on CPU 0 [ 0.203369] NET: Registered protocol family 2 [ 0.203765] IP route cache hash table entries: 32768 (order: 5, 131072 bytes) [ 0.204833] TCP established hash table entries: 131072 (order: 8, 1048576 bytes) [ 0.207427] TCP bind hash table entries: 65536 (order: 9, 2359296 bytes) [ 0.222564] TCP: Hash tables configured (established 131072 bind 65536) [ 0.222717] TCP reno registered [ 0.222778] UDP hash table entries: 512 (order: 3, 40960 bytes) [ 0.223022] UDP-Lite hash table entries: 512 (order: 3, 40960 bytes) [ 0.223724] NET: Registered protocol family 1 [ 0.224487] RPC: Registered udp transport module. [ 0.224487] RPC: Registered tcp transport module. [ 0.224517] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.225006] NetWinder Floating Point Emulator V0.97 (double precision) [ 0.357452] VFS: Disk quotas dquot_6.5.2 [ 0.357604] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) [ 0.358795] JFFS2 version 2.2. (NAND) (SUMMARY) �© 2001-2006 Red Hat, Inc. [ 0.359344] msgmni has been set to 1392 [ 0.361236] io scheduler noop registered [ 0.361236] io scheduler deadline registered [ 0.361328] io scheduler cfq registered (default) [ 0.363250] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled [ 0.555511] omap_uart.0: ttyO0 at MMIO 0x4806a000 (irq = 104) is a OMAP UART0 [ 0.633239] omap_uart.1: ttyO1 at MMIO 0x4806c000 (irq = 105) is a OMAP UART1 [ 0.711364] omap_uart.2: ttyO2 at MMIO 0x48020000 (irq = 106) is a OMAP UART2 [ 1.573364] console [ttyO2] enabled [ 1.633239] omap_uart.3: ttyO3 at MMIO 0x4806e000 (irq = 102) is a OMAP UART3 [ 1.717437] brd: module loaded [ 1.727691] loop: module loaded [ 1.733734] mtdoops: mtd device (mtddev=name/number) must be supplied [ 1.740539] omap2-nand driver initializing [ 1.745117] OneNAND driver initializing [ 1.751617] ks8851 spi1.0: message enable is 0 [ 1.760925] ks8851 spi1.0: eth0: revision 0, MAC aa:0a:d6:0b:de:e3, IRQ 194 [ 1.769439] usbcore: registered new interface driver asix [ 1.775299] usbcore: registered new interface driver cdc_ether [ 1.781646] usbcore: registered new interface driver net1080 [ 1.787750] usbcore: registered new interface driver cdc_subset [ 1.794189] usbcore: registered new interface driver zaurus [ 1.800048] cdc_ncm: 30-Nov-2010 [ 1.803649] usbcore: registered new interface driver cdc_ncm [ 1.810546] usbcore: registered new interface driver cdc_wdm [ 1.816467] Initializing USB Mass Storage driver... [ 1.821838] usbcore: registered new interface driver usb-storage [ 1.828094] USB Mass Storage support registered. [ 1.833465] usbcore: registered new interface driver libusual [ 1.839721] usbcore: registered new interface driver usbtest [ 1.845672] udc: OMAP UDC driver, version: 4 October 2004 (iso) (dma) [ 1.853759] mousedev: PS/2 mouse device common for all mice [ 1.860687] input: gpio-keys as /devices/platform/gpio-keys/input/input0 [ 1.870574] input: twl4030_pwrbutton as /devices/platform/omap/omap_i2c.1/i2c-1/1-0049/twl4030_pwrbutton/input/input1 [ 1.883117] twl_rtc twl_rtc: rtc core: registered twl_rtc as rtc0 [ 1.889617] omap_device: omap_i2c.1: new worst case activate latency 0: 61035 [ 1.898864] i2c /dev entries driver [ 1.904846] Driver for 1-wire Dallas network protocol. [ 1.911041] omap_device: omap_wdt.-1: new worst case activate latency 0: 30517 [ 1.919616] OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec [ 1.926391] twl4030_wdt twl4030_wdt: Failed to register misc device [ 1.933166] twl4030_wdt: probe of twl4030_wdt failed with error -16 [ 1.949035] usbcore: registered new interface driver usbhid [ 1.954895] usbhid: USB HID core driver [ 1.958892] oprofile: hardware counters not available [ 1.964263] oprofile: using timer interrupt. [ 1.969024] TCP cubic registered [ 1.972442] Initializing XFRM netlink socket [ 1.976989] NET: Registered protocol family 17 [ 1.981689] NET: Registered protocol family 15 [ 1.986602] Registering the dns_resolver key type [ 1.991760] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 1 [ 2.000244] ThumbEE CPU extension supported. [ 2.009521] omap2_set_init_voltage: unable to find boot up OPP for vdd_mpu [ 2.016693] omap2_set_init_voltage: Unable to put vdd_mpu to its init voltage [ 2.016723] [ 2.026214] omap2_set_init_voltage: unable to find boot up OPP for vdd_iva [ 2.033416] omap2_set_init_voltage: Unable to put vdd_iva to its init voltage [ 2.033447] [ 2.042480] Power Management for TI OMAP4. [ 2.062255] clock: disabling unused clocks to save power [ 2.070251] regulator_init_complete: incomplete constraints, leaving VAUX3_6030 on [ 2.078430] regulator_init_complete: incomplete constraints, leaving VAUX2_6030 on [ 2.086791] regulator_init_complete: incomplete constraints, leaving VDAC on [ 2.094390] regulator_init_complete: incomplete constraints, leaving VCXIO on [ 2.102050] regulator_init_complete: incomplete constraints, leaving VANA on [ 2.109649] regulator_init_complete: incomplete constraints, leaving VUSIM on [ 2.117431] regulator_init_complete: incomplete constraints, leaving VPP on [ 2.125793] twl_rtc twl_rtc: setting system clock to 2000-01-01 01:21:35 UTC (946689695) [ 2.141754] mmc0: host does not support reading read-only switch. assuming write-enable. [ 2.152374] mmc0: new high speed SD card at address 88f7 [ 2.159515] mmcblk0: mmc0:88f7 SD02G 1.84 GiB [ 2.167419] mmcblk0: p1 p2 [ 2.321868] mmc1: new high speed MMC card at address 0001 [ 2.328125] mmcblk1: mmc1:0001 SEM08G 7.39 GiB [ 2.338836] mmcblk1: unknown partition table [ 3.648803] Sending DHCP requests .., OK [ 6.672271] IP-Config: Got DHCP answer from 0.0.0.0, my address is 128.247.79.61 [ 6.681243] IP-Config: Complete: [ 6.684631] device=eth0, addr=128.247.79.61, mask=255.255.254.0, gw=128.247.78.2, [ 6.692657] host=128.247.79.61, domain=am.dhcp.ti.com, nis-domain=(none), [ 6.700225] bootserver=0.0.0.0, rootserver=128.247.78.218, rootpath= [ 6.875518] VFS: Mounted root (nfs filesystem) on device 0:13. [ 6.881774] Freeing init memory: 296K [ 8.000671] BUG: spinlock recursion on CPU#0, init/1 [ 8.005859] lock: ef5a1e0c, .magic: dead4ead, .owner: init/1, .owner_cpu: 0 [ 8.013275] [<c0063290>] (unwind_backtrace+0x0/0xe4) from [<c024cbd4>] (do_raw_spin_lock+0x48/0x158) [ 8.022827] [<c024cbd4>] (do_raw_spin_lock+0x48/0x158) from [<c012f24c>] (nameidata_dentry_drop_rcu+0x84/0x17c) [ 8.033386] [<c012f24c>] (nameidata_dentry_drop_rcu+0x84/0x17c) from [<c012f374>] (d_revalidate+0x30/0x58) [ 8.043518] [<c012f374>] (d_revalidate+0x30/0x58) from [<c0131e8c>] (link_path_walk+0xb44/0xb64) [ 8.052734] [<c0131e8c>] (link_path_walk+0xb44/0xb64) from [<c01320a4>] (do_path_lookup+0x44/0xcc) [ 8.062103] [<c01320a4>] (do_path_lookup+0x44/0xcc) from [<c0132c74>] (do_filp_open+0xc8/0x56c) [ 8.071197] [<c0132c74>] (do_filp_open+0xc8/0x56c) from [<c0124594>] (do_sys_open+0x58/0xe4) [ 8.080047] [<c0124594>] (do_sys_open+0x58/0xe4) from [<c005c240>] (ret_fast_syscall+0x0/0x3c)
Attachment:
0002-omap3-clocks-Fix-build-error-CK_3430ES2-undeclared-h.patch
Description: 0002-omap3-clocks-Fix-build-error-CK_3430ES2-undeclared-h.patch
Attachment:
0001-Build-breakage-with-omap2plus_defconfig.patch
Description: 0001-Build-breakage-with-omap2plus_defconfig.patch