USB boot problems submission
Hi Paul san
When I set rootfs in USB memory,
the latest kernel seems to have a problem.
Please refer to log for the error.
(AP3300(ap325rxa) is the same phenomenon, too.)
- NFS boots both boards normally.
- Both boards were confirmed a USB boot in the old kernel. (2.6.27 and 2.6.31-rc7)
- rootfs is made by Debian and uses the following things.
https://oss.renesas.com/modules/download/index.php?cid=61
"debian-rootfs-20091208.tar.bz2"
Do you recognize this problem?
Thanks,
Goda
## Starting application at 0x89000000 ...
Linux version 2.6.33-rc4 (root@gohda) (gcc version 4.3.4 (Debian 4.3.4-1) ) #10 PREEMPT Mon Jan 25 05:15:59 UTC 2010 Boot params:
... MOUNT_ROOT_RDONLY - 00000000
... RAMDISK_FLAGS - 00000000 ... ORIG_ROOT_DEV - 00000000 ... LOADER_TYPE - 00000000 ... INITRD_START - 00000000 ... INITRD_SIZE - 00000000
Booting machvec: R0P7724 (EcoVec)
Node 0: start_pfn = 0x8000, low = 0xf800
Zone PFN ranges:
Normal 0x00008000 -> 0x0000f800
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
0: 0x00008000 -> 0x0000f800
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 30480
Kernel command line: console=tty0, console=ttySC0,115200 root=/dev/sda2 rootdelay=10 mem=120M memchunk.vpu=4m PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
PVR=10300b00 CVR=7144040d PRR=00002200
I-cache : n_ways=4 n_sets=256 way_incr=8192
I-cache : entry_mask=0x00001fe0 alias_mask=0x00001000 n_aliases=2
D-cache : n_ways=4 n_sets=256 way_incr=8192
D-cache : entry_mask=0x00001fe0 alias_mask=0x00001000 n_aliases=2
S-cache : n_ways=4 n_sets=2048 way_incr=65536
S-cache : entry_mask=0x0000ffe0 alias_mask=0x0000f000 n_aliases=16
Memory: 118400k/122880k available (2241k kernel code, 776k data, 108k init)
virtual kernel memory layout:
fixmap : 0xdffd6000 - 0xdffff000 ( 164 kB)
vmalloc : 0xc0000000 - 0xdffd4000 ( 511 MB)
lowmem : 0x88000000 - 0x8f800000 ( 120 MB) (cached)
: 0xa8000000 - 0xc8000000 ( 512 MB) (uncached)
.init : 0x882f4000 - 0x8830f000 ( 108 kB)
.data : 0x88231590 - 0x882f36c0 ( 776 kB)
.text : 0x88001000 - 0x88231590 (2241 kB)Hierarchical RCU implementation.
NR_IRQS:256 nr_irqs:256
Console: colour dummy device 80x25
console [tty0] enabledsh_tmu: TMU0 used for clock eventssh_tmu: TMU0 used for periodic clock eventssh_tmu: TMU1 used as clock source
Calibrating delay loop (skipped)... 499.99 BogoMIPS PRESET (lpj=999999) Mount-cache hash table entries: 512
CPU: SH7724
NET: Registered protocol family 16
vpu: forcing memory chunk size to 0x00400000
sh pinmux: sh7724_pfc handling gpio 0 -> 486
Performance Events: SH-4A support registered
HW Breakpoints: SH-4A UBC support registered
USB1 function is selected
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Switching to clocksource TMU1
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Installing knfsd (copyright (C) 1996 [email protected]).
msgmni has been set to 231
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Console: switching to colour frame buffer device 100x30
graphics fb0: registered sh_mobile_lcdc_fb/mainlcd as 800x480 16bpp. SuperH SCI(F) driver initialized
sh-sci.0: ttySC0 at MMIO 0xffe00000 (irq = 80) is a scif
console [ttySC0] enabled
sh-sci.1: ttySC1 at MMIO 0xffe10000 (irq = 81) is a scif
sh-sci.2: ttySC2 at MMIO 0xffe20000 (irq = 82) is a scif
sh-sci.3: ttySC3 at MMIO 0xa4e30000 (irq = 56) is a scifa
sh-sci.4: ttySC4 at MMIO 0xa4e40000 (irq = 88) is a scifa
sh-sci.5: ttySC5 at MMIO 0xa4e50000 (irq = 109) is a scifa
brd: module loaded
physmap platform flash device: 04000000 at 00000000
physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank
Amd/Fujitsu Extended Query Table at 0x0040
physmap-flash.0: CFI does not contain boot bank location. Assuming top. number of CFI chips: 1
RedBoot partition parsing not available
Using physmap partition information
Creating 2 MTD partitions on "physmap-flash.0":
0x000000000000-0x000000500000 : "boot loader" 0x000000500000-0x000004000000 : "free-area"sh_mii: probed
Base address at 0xa4600000, 00:00:87:6B:BC:B0, IRQ 91.r8a66597_hcd: driver r8a66597_hcd, 2009-05-26r8a66597_hcd r8a66597_hcd.0: USB Host Controllerr8a66597_hcd r8a66597_hcd.0: new USB bus registered, assigned bus number 1 r8a66597_hcd r8a66597_hcd.0: irq 65, io base 0xa4d80000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
input: sh_keysc as /class/input/input0
i2c /dev entries driver
Linux video capture interface: v2.00
camera 0-0: Probing 0-0sh_mobile_ceu sh_mobile_ceu.0: SuperH Mobile CEU driver attached to camera 0 sh_mobile_ceu sh_mobile_ceu.0: SuperH Mobile CEU driver detached from camera 0
camera: probe of 0-0 failed with error -12
camera 1-0: Probing 1-0sh_mobile_ceu sh_mobile_ceu.1: SuperH Mobile CEU driver attached to camera 0 sh_mobile_ceu sh_mobile_ceu.1: SuperH Mobile CEU driver detached from camera 0
camera: probe of 1-0 failed with error -12
camera 1-1: Probing 1-1sh_mobile_ceu sh_mobile_ceu.1: SuperH Mobile CEU driver attached to camera 1 sh_mobile_ceu sh_mobile_ceu.1: SuperH Mobile CEU driver detached from camera 1
camera: probe of 1-1 failed with error -12sh_tmu: TMU0 kept as earlytimersh_tmu: TMU1 kept as earlytimer
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
heartbeat: version 0.1.2 loaded
TCP cubic registered
NET: Registered protocol family 17drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
Waiting 10sec before mounting root device...
usb 1-1: new high speed USB device using r8a66597_hcd and address 2 scsi0 : usb-storage 1-1:1.0
scsi 0:0:0:0: Direct-Access I-O DATA USB Flash Disk 3A PQ: 0 ANSI: 2
sd 0:0:0:0: [sda] 4014080 512-byte logical blocks: (2.05 GB/1.91 GiB) sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda: sda1 sda2
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Attached SCSI removable disk
EXT3-fs (sda2): warning: maximal mount count reached, running e2fsck is recommended kjournald starting. Commit interval 5 seconds
EXT3-fs (sda2): using internal journal
EXT3-fs (sda2): mounted filesystem with writeback data mode
VFS: Mounted root (ext3 filesystem) on device 8:2.
Freeing unused kernel memory: 108k freed
Kernel panic - not syncing: Attempted to kill init! Stack: (0x8f01de3c to 0x8f01e000)
de20: 8822dac8
de40: 881190d4 88266d44 8f01de68 88019256 8f0f4580 8f01fd60 8f01def0 8f01acc0
de60: 8f01acc0 882d22f0 8f01acb8 00000000 8f01de4c 00000004 00000001 00000000
de80: 8f01de80 8f01de80 88019840 000000fc 8f0f4580 8f01fd60 8f01def0 00000003
dea0: 00000004 8f01fd60 88022b8e 00000003 8f0f45c0 8f01dfa4 8f01df70 880050aa
dec0: 7b80fd18 8f01dfa4 29583004 00000008 88006464 880070ec 29583004 00000002
dee0: 8f01aef0 8f01acc0 8f104d40 8f104d74 00000004 00000000 00000080 00000000
df00: 00000000 00000000 00000000 00000000 8818ecd4 00000100 8818e700 8f11b4e0
df20: 88013e9a 8f01df30 8f11a8f8 00000001 000000f0 880212ca 00000000 00000000
df40: 8f01acc0 00000004 8f01af08 8f11a8f8 00000001 880213be 7b80fd18 00000001
df60: 00000004 8f0f4580 00000000 8f01acc0 00000003 00000000 88006484 00400034
df80: 8800648e 8800713c 7b80fd18 00400034 29583004 00000008 88006464 880070ec
dfa0: 8f01c000 00000078 00000000 004020c0 00008384 2956fca8 2956fca8 00000000
dfc0: 00000000 29583050 ffffff38 fffffe10 00000008 29583004 00400034 7b80fd18
dfe0: 7b80fd10 295609c0 2955863c 00008000 00000000 000000d8 0000006c ffffffff
Call trace: [<881190d4>] 0x881190d4 [<88019256>] 0x88019256 [<88019840>] 0x88019840 [<88022b8e>] 0x88022b8e [<880050aa>] 0x880050aa [<88006464>] 0x88006464 [<880070ec>] 0x880070ec [<8818ecd4>] 0x8818ecd4 [<8818e700>] 0x8818e700 [<88013e9a>] 0x88013e9a [<880212ca>] 0x880212ca [<880213be>] 0x880213be [<88006484>] 0x88006484 [<8800648e>] 0x8800648e [<8800713c>] 0x8800713c [<88006464>] 0x88006464 [<880070ec>] 0x880070ec
Quoted 29 lines · Yusuke Goda
Freeing unused kernel memory: 108k freed
Kernel panic - not syncing: Attempted to kill init! Stack: (0x8f01de3c to 0x8f01e000)de20:
8822dac8
de40:881190d488266d448f01de68880192568f0f45808f01fd608f01def08f01acc0
de60:8f01acc0882d22f08f01acb8000000008f01de4c00000004 00000001 00000000
de80:8f01de808f01de8088019840000000fc8f0f45808f01fd608f01def000000003
dea0: 000000048f01fd6088022b8e000000038f0f45c08f01dfa48f01df70880050aa
dec0:7b80fd188f01dfa429583004 00000008 88006464880070ec29583004 00000002
dee0:8f01aef08f01acc08f104d408f104d7400000004 00000000 00000080 00000000
df00: 00000000 00000000 00000000 000000008818ecd4000001008818e7008f11b4e0
df20:88013e9a8f01df308f11a8f800000001000000f0880212ca00000000 00000000
df40:8f01acc0000000048f01af088f11a8f800000001880213be7b80fd1800000001
df60: 000000048f0f4580000000008f01acc000000003 00000000 88006484 00400034
df80:8800648e8800713c7b80fd1800400034 29583004 00000008 88006464880070ec
dfa0:8f01c00000000078 00000000004020c0000083842956fca82956fca800000000
dfc0: 00000000 29583050ffffff38fffffe1000000008 29583004 004000347b80fd18
dfe0:7b80fd10295609c02955863c00008000 00000000000000d80000006cffffffffCall trace: [<881190d4>] 0x881190d4 [<88019256>] 0x88019256 [<88019840>] 0x88019840 [<88022b8e>] 0x88022b8e [<880050aa>] 0x880050aa [<88006464>] 0x88006464 [<880070ec>] 0x880070ec [<8818ecd4>] 0x8818ecd4 [<8818e700>] 0x8818e700
Quoted 9 lines
[<88013e9a>] 0x88013e9a [<880212ca>] 0x880212ca [<880213be>] 0x880213be [<88006484>] 0x88006484 [<8800648e>] 0x8800648e [<8800713c>] 0x8800713c [<88006464>] 0x88006464 [<880070ec>] 0x880070ec
You should rebuild your kernel with verbose BUG reporting and all of the kallsyms bits turned on, which will give you a meaningful oops. That should at least give us an idea of where things are going wrong, otherwise we go back to bisecting.
Hi Paul-san
Quoted 2 lines
You should rebuild your kernel with verbose BUG reporting and all of the kallsyms bits turned on, which will give you a meaningful oops. That
I attach log(CONFIG_KALLSYMS=y).
Quoted 2 lines
should at least give us an idea of where things are going wrong, otherwise we go back to bisecting.
This problem seems to occur with the following commit.
commit 2277ab4a1df50e05bc732fe9488d4e902bb8399a
sh: Migrate from PG_mapped to PG_dcache_dirty.
Sorry, I cannot identify it to number of lines.
/Goda
## Starting application at 0x89000000 ...
Linux version 2.6.33-rc4 (root@gohda) (gcc version 4.3.4 (Debian 4.3.4-1) ) #37 PREEMPT Tue Jan 26 08:02:53 UTC 2010 Boot params:
... MOUNT_ROOT_RDONLY - 00080004
... RAMDISK_FLAGS - 00004000 ... ORIG_ROOT_DEV - 80180008 ... LOADER_TYPE - 00004000 ... INITRD_START - 00100000 ... INITRD_SIZE - 00008000
Booting machvec: R0P7724 (EcoVec)
Node 0: start_pfn = 0x8000, low = 0xf800
Zone PFN ranges:
Normal 0x00008000 -> 0x0000f800
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
0: 0x00008000 -> 0x0000f800
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 30480
Kernel command line: console=tty0, console=ttySC0,115200 root=/dev/sda2 rootdelay=10 mem=120M memchunk.vpu=4m PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)102 ������������������ Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
PVR=10300b00 CVR=7144040d PRR=00002200
I-cache : n_ways=4 n_sets=256 way_incr=8192
I-cache : entry_mask=0x00001fe0 alias_mask=0x00001000 n_aliases=2
D-cache : n_ways=4 n_sets=256 way_incr=8192
D-cache : entry_mask=0x00001fe0 alias_mask=0x00001000 n_aliases=2
S-cache : n_ways=4 n_sets=2048 way_incr=65536
S-cache : entry_mask=0x0000ffe0 alias_mask=0x0000f000 n_aliases=16
Memory: 118244k/122880k available (2247k kernel code, 953k data, 96k init)
virtual kernel memory layout:
fixmap : 0xdffd6000 - 0xdffff000 ( 164 kB)
vmalloc : 0xc0000000 - 0xdffd4000 ( 511 MB)
lowmem : 0x88000000 - 0x8f800000 ( 120 MB) (cached)
: 0xa8000000 - 0xc8000000 ( 512 MB) (uncached)
.init : 0x88322000 - 0x8833a000 ( 96 kB)
.data : 0x88232efc - 0x883216c0 ( 953 kB)
.text : 0x88001000 - 0x88232efc (2247 kB)Hierarchical RCU implementation.
NR_IRQS:256 nr_irqs:256
Console: colour dummy device 80x25
console [tty0] enabledsh_tmu: TMU0 used for clock eventssh_tmu: TMU0 used for periodic clock eventssh_tmu: TMU1 used as clock source
Calibrating delay loop (skipped)... 499.99 BogoMIPS PRESET (lpj=999999) Mount-cache hash table entries: 512
CPU: SH7724
NET: Registered protocol family 16
vpu: forcing memory chunk size to 0x00400000
sh pinmux: sh7724_pfc handling gpio 0 -> 486
Performance Events: SH-4A support registered
HW Breakpoints: SH-4A UBC support registered
USB1 function is selected
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Switching to clocksource TMU1
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 4096 (order: 3, 32768 bytes) TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module. Installing knfsd (copyright (C) 1996 [email protected]).
msgmni has been set to 231
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Console: switching to colour frame buffer device 100x30
graphics fb0: registered sh_mobile_lcdc_fb/mainlcd as 800x480 16bpp. SuperH SCI(F) driver initialized
sh-sci.0: ttySC0 at MMIO 0xffe00000 (irq = 80) is a scif
console [ttySC0] enabled
sh-sci.1: ttySC1 at MMIO 0xffe10000 (irq = 81) is a scif sh-sci.2: ttySC2 at MMIO 0xffe20000 (irq = 82) is a scif sh-sci.3: ttySC3 at MMIO 0xa4e30000 (irq = 56) is a scifa sh-sci.4: ttySC4 at MMIO 0xa4e40000 (irq = 88) is a scifa sh-sci.5: ttySC5 at MMIO 0xa4e50000 (irq = 109) is a scifa
brd: module loaded
physmap platform flash device: 04000000 at 00000000 physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank
Amd/Fujitsu Extended Query Table at 0x0040
physmap-flash.0: CFI does not contain boot bank location. Assuming top. number of CFI chips: 1
RedBoot partition parsing not available
Using physmap partition information
Creating 2 MTD partitions on "physmap-flash.0":
0x000000000000-0x000000500000 : "boot loader" 0x000000500000-0x000004000000 : "free-area"sh_mii: probed
Base address at 0xa4600000, 00:00:87:6B:BC:B0, IRQ 91.r8a66597_hcd: driver r8a66597_hcd, 2009-05-26r8a66597_hcd r8a66597_hcd.0: USB Host Controllerr8a66597_hcd r8a66597_hcd.0: new USB bus registered, assigned bus number 1 r8a66597_hcd r8a66597_hcd.0: irq 65, io base 0xa4d80000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
input: sh_keysc as /class/input/input0
i2c /dev entries driver
Linux video capture interface: v2.00
camera 0-0: Probing 0-0sh_mobile_ceu sh_mobile_ceu.0: SuperH Mobile CEU driver attached to camera 0 sh_mobile_ceu sh_mobile_ceu.0: SuperH Mobile CEU driver detached from camera 0
camera: probe of 0-0 failed with error -12
camera 1-0: Probing 1-0sh_mobile_ceu sh_mobile_ceu.1: SuperH Mobile CEU driver attached to camera 0 sh_mobile_ceu sh_mobile_ceu.1: SuperH Mobile CEU driver detached from camera 0
camera: probe of 1-0 failed with error -12
camera 1-1: Probing 1-1sh_mobile_ceu sh_mobile_ceu.1: SuperH Mobile CEU driver attached to camera 1 sh_mobile_ceu sh_mobile_ceu.1: SuperH Mobile CEU driver detached from camera 1
camera: probe of 1-1 failed with error -12sh_tmu: TMU0 kept as earlytimersh_tmu: TMU1 kept as earlytimer
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
heartbeat: version 0.1.2 loaded
TCP cubic registered
NET: Registered protocol family 17drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
Waiting 10sec before mounting root device...
usb 1-1: new high speed USB device using r8a66597_hcd and address 2 scsi0 : usb-storage 1-1:1.0
scsi 0:0:0:0: Direct-Access I-O DATA USB Flash Disk 3A PQ: 0 ANSI: 2
sd 0:0:0:0: [sda] 4014080 512-byte logical blocks: (2.05 GB/1.91 GiB) sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda: sda1 sda2
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Attached SCSI removable disk
EXT3-fs (sda2): recovery required on readonly filesystem
EXT3-fs (sda2): write access will be enabled during recovery EXT3-fs (sda2): recovery complete
kjournald starting. Commit interval 5 seconds
EXT3-fs (sda2): mounted filesystem with writeback data mode
VFS: Mounted root (ext3 filesystem) readonly on device 8:2. Freeing unused kernel memory: 96k freed
Fixing up unaligned userspace access in "init" pid=1 pc=0x2955f50e ins=0x5174 Fixing up unaligned userspace access in "init" pid=1 pc=0x2955f50e ins=0x5174 Sending SIGBUS to "init" due to unaligned access (PC 2955f50e PR 29556f30)
Kernel panic - not syncing: Attempted to kill init! Stack: (0x8f01de3c to 0x8f01e000)
de20: 8822f428
de40: 8811a94c 88295f58 8f01de68 8801926e 8f1a2560 8f01fd60 8f01def0 8f01acc0
de60: 8f01acc0 883002f0 8f01acb8 00000000 8f01de4c 00000007 00000001 00000000
de80: 8f01de80 8f01de80 88019858 000000fc 8f1a2560 8f01fd60 8f01def0 00000006
dea0: 00000007 8f01fd60 88022ba6 00000006 8f1a25dc 8f01dfa4 8f01df70 880050de
dec0: 7baefe94 8f01dfa4 a214a41a 29556000 8800704c 880070ec a214a41a 00000002
dee0: 8f01aef0 00000000 88006bf2 29587d6a 00000007 00000000 00030002 29587d6a
df00: 00000000 00000000 00000071 00000100 29587d6a 00000000 00000000 00000071
df20: 00000100 88003c06 00000000 00000000 00000000 00000000 00000000 00000000
df40: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
df60: 00000000 7baefee0 29556900 00000000 00008000 00000000 000008b7 7ebdf5b0
df80: 0000004c 8800713c 7baefe94 2958328c a214a41a 29556000 8800704c 880070ec
dfa0: 8f01c000 2955f598 00000000 29556848 000085d0 295832c8 2956b9a0 7baefebc
dfc0: 29587d5a 295832c8 2958344c 29583050 29556000 a214a41a 2958328c 7baefe94
dfe0: 7baefe88 2955f50e 29556f30 00008000 00000000 000000d8 0000006c ffffffff
Call trace: [<8811a94c>] bust_spinlocks+0x0/0x44 [<8801926e>] do_exit+0x3e/0x5b4 [<88019858>] do_group_exit+0x74/0xb4 [<88022ba6>] get_signal_to_deliver+0x35a/0x3d8 [<880050de>] do_notify_resume+0x8a/0x6cc [<8800704c>] address_error_load+0x0/0x4 [<880070ec>] ret_from_exception+0x0/0x8 [<88006bf2>] do_address_error+0xea/0x1b8 [<88003c06>] sys_execve+0x0/0x5e [<8800713c>] resume_userspace+0x0/0x10 [<8800704c>] address_error_load+0x0/0x4 [<880070ec>] ret_from_exception+0x0/0x8
Quoted 6 lines · Yusuke Goda
Hi Paul-san
Quoted 2 lines
You should rebuild your kernel with verbose BUG reporting and all of the kallsyms bits turned on, which will give you a meaningful oops. That
I attach
log(CONFIG_KALLSYMS=y).
Quoted 7 lines
Quoted 2 lines
should at least give us an idea of where things are going wrong, otherwise we go back to bisecting.
This problem seems to occur with the following commit.
commit2277ab4a1df50e05bc732fe9488d4e902bb8399a
sh: Migrate fromPG_mappedtoPG_dcache_dirty.Sorry, I cannot identify it to number of lines.
Thanks. Can you try this again with the dwarf unwinder enabled?
Quoted 9 lines · Paul Mundt
Quoted 8 lines · Yusuke Goda
Hi Paul-san
Quoted 2 lines
You should rebuild your kernel with verbose BUG reporting and all of the kallsyms bits turned on, which will give you a meaningful oops. That
I attach
log(CONFIG_KALLSYMS=y).Quoted 2 lines
should at least give us an idea of where things are going wrong, otherwise we go back to bisecting.
Quoted 7 lines
Quoted 5 lines
This problem seems to occur with the following commit.
commit2277ab4a1df50e05bc732fe9488d4e902bb8399a
sh: Migrate fromPG_mappedtoPG_dcache_dirty.Sorry, I cannot identify it to number of lines.
Thanks. Can you try this again with the dwarf unwinder enabled?
OK. I attach it.
cheers,
Goda
## Starting application at 0x89000000 ...
Linux version 2.6.33-rc4 (root@gohda) (gcc version 4.3.4 (Debian 4.3.4-1) ) #38 PREEMPT Tue Jan 26 09:09:38 UTC 2010 Boot params:
... MOUNT_ROOT_RDONLY - 00000000
... RAMDISK_FLAGS - 00000000 ... ORIG_ROOT_DEV - 00000000 ... LOADER_TYPE - 00000000 ... INITRD_START - 00000000 ... INITRD_SIZE - 00000000
Booting machvec: R0P7724 (EcoVec)
Node 0: start_pfn = 0x8000, low = 0xf800
Zone PFN ranges:
Normal 0x00008000 -> 0x0000f800
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
0: 0x00008000 -> 0x0000f800
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 30480
Kernel command line: console=tty0, console=ttySC0,115200 root=/dev/sda2 rootdelay=10 mem=120M memchunk.vpu=4m PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
PVR=10300b00 CVR=7144040d PRR=00002200
I-cache : n_ways=4 n_sets=256 way_incr=8192
I-cache : entry_mask=0x00001fe0 alias_mask=0x00001000 n_aliases=2
D-cache : n_ways=4 n_sets=256 way_incr=8192
D-cache : entry_mask=0x00001fe0 alias_mask=0x00001000 n_aliases=2
S-cache : n_ways=4 n_sets=2048 way_incr=65536
S-cache : entry_mask=0x0000ffe0 alias_mask=0x0000f000 n_aliases=16
Memory: 117760k/122880k available (2340k kernel code, 773k data, 104k init)
virtual kernel memory layout:
fixmap : 0xdffd6000 - 0xdffff000 ( 164 kB)
vmalloc : 0xc0000000 - 0xdffd4000 ( 511 MB)
lowmem : 0x88000000 - 0x8f800000 ( 120 MB) (cached)
: 0xa8000000 - 0xc8000000 ( 512 MB) (uncached)
.init : 0x88396000 - 0x883b0000 ( 104 kB)
.data : 0x8824a03c - 0x8830b6e0 ( 773 kB)
.text : 0x88001000 - 0x8824a03c (2340 kB)Hierarchical RCU implementation.
NR_IRQS:256 nr_irqs:256
Console: colour dummy device 80x25
console [tty0] enabledsh_tmu: TMU0 used for clock eventssh_tmu: TMU0 used for periodic clock eventssh_tmu: TMU1 used as clock source
Calibrating delay loop (skipped)... 499.99 BogoMIPS PRESET (lpj=999999) Mount-cache hash table entries: 512
CPU: SH7724
DWARF unwinder initialised: read 2 CIEs, 12534 FDEs
NET: Registered protocol family 16
vpu: forcing memory chunk size to 0x00400000
sh pinmux: sh7724_pfc handling gpio 0 -> 486
Performance Events: SH-4A support registered
HW Breakpoints: SH-4A UBC support registered
USB1 function is selected
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Switching to clocksource TMU1
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Installing knfsd (copyright (C) 1996 [email protected]).
msgmni has been set to 230
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Console: switching to colour frame buffer device 100x30
graphics fb0: registered sh_mobile_lcdc_fb/mainlcd as 800x480 16bpp. SuperH SCI(F) driver initialized
sh-sci.0: ttySC0 at MMIO 0xffe00000 (irq = 80) is a scif
console [ttySC0] enabled
sh-sci.1: ttySC1 at MMIO 0xffe10000 (irq = 81) is a scif
sh-sci.2: ttySC2 at MMIO 0xffe20000 (irq = 82) is a scif
sh-sci.3: ttySC3 at MMIO 0xa4e30000 (irq = 56) is a scifa
sh-sci.4: ttySC4 at MMIO 0xa4e40000 (irq = 88) is a scifa
sh-sci.5: ttySC5 at MMIO 0xa4e50000 (irq = 109) is a scifa
brd: module loaded
physmap platform flash device: 04000000 at 00000000
physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank
Amd/Fujitsu Extended Query Table at 0x0040
physmap-flash.0: CFI does not contain boot bank location. Assuming top. number of CFI chips: 1
RedBoot partition parsing not available
Using physmap partition information
Creating 2 MTD partitions on "physmap-flash.0":
0x000000000000-0x000000500000 : "boot loader" 0x000000500000-0x000004000000 : "free-area"sh_mii: probed
Base address at 0xa4600000, 00:00:87:6B:BC:B0, IRQ 91.r8a66597_hcd: driver r8a66597_hcd, 2009-05-26r8a66597_hcd r8a66597_hcd.0: USB Host Controllerr8a66597_hcd r8a66597_hcd.0: new USB bus registered, assigned bus number 1 r8a66597_hcd r8a66597_hcd.0: irq 65, io base 0xa4d80000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
input: sh_keysc as /class/input/input0
i2c /dev entries driver
Linux video capture interface: v2.00
camera 0-0: Probing 0-0sh_mobile_ceu sh_mobile_ceu.0: SuperH Mobile CEU driver attached to camera 0 sh_mobile_ceu sh_mobile_ceu.0: SuperH Mobile CEU driver detached from camera 0
camera: probe of 0-0 failed with error -12
camera 1-0: Probing 1-0sh_mobile_ceu sh_mobile_ceu.1: SuperH Mobile CEU driver attached to camera 0 sh_mobile_ceu sh_mobile_ceu.1: SuperH Mobile CEU driver detached from camera 0
camera: probe of 1-0 failed with error -12
camera 1-1: Probing 1-1sh_mobile_ceu sh_mobile_ceu.1: SuperH Mobile CEU driver attached to camera 1 sh_mobile_ceu sh_mobile_ceu.1: SuperH Mobile CEU driver detached from camera 1
camera: probe of 1-1 failed with error -12sh_tmu: TMU0 kept as earlytimersh_tmu: TMU1 kept as earlytimer
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
heartbeat: version 0.1.2 loaded
TCP cubic registered
NET: Registered protocol family 17drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
Waiting 10sec before mounting root device...
usb 1-1: new high speed USB device using r8a66597_hcd and address 2 scsi0 : usb-storage 1-1:1.0
scsi 0:0:0:0: Direct-Access I-O DATA USB Flash Disk 3A PQ: 0 ANSI: 2
sd 0:0:0:0: [sda] 4014080 512-byte logical blocks: (2.05 GB/1.91 GiB) sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda: sda1 sda2
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Attached SCSI removable disk
EXT3-fs (sda2): warning: maximal mount count reached, running e2fsck is recommended kjournald starting. Commit interval 5 seconds
EXT3-fs (sda2): using internal journal
EXT3-fs (sda2): recovery complete
EXT3-fs (sda2): mounted filesystem with writeback data mode
VFS: Mounted root (ext3 filesystem) on device 8:2.
Freeing unused kernel memory: 104k freed
Kernel panic - not syncing: Attempted to kill init! Stack: (0x8f01de1c to 0x8f01e000)
de00: 88246362
de20: 8f01de2c 881269ec 8827ff30 882463c0 8f01de34 8f01de58 8801ba74 8f01de64
de40: 8f1f9580 8f01fd60 8f01def0 8f01acc0 8f01acc0 882ea314 8f01acb8 00000000
de60: 8f01de3c 8f01de64 00000001 0000000b 8f01dfa4 8f01de74 8f01de74 8801c068
de80: 8f01de9c 8f1f9580 8f01fd60 8f01def0 0000000a 0000000b 8f01fd60 88025c14
dea0: 8f01deac 0000000a 8f1f964c 8f01dfa4 8f01df70 88005468 8f01ded4 8f01dfa4
dec0: 29583004 00000001 880080f0 880080f0 29583004 0000000a 00000002 8f01aef0
dee0: 8f01defc 8d67fd40 8d67fd74 8f01dfa4 0000000b 00000000 00030001 00000004
df00: 8d676ee4 29746000 29746000 8805d970 00000004 8d676ee4 29746000 29746000
df20: 8805d970 8f01df28 00002410 00000508 00000000 00000000 00000000 00000000
df40: 29746000 8d67fd40 08100073 00000002 8f01df54 8802ef46 8f01df74 8f01df80
df60: 8f01df44 29746000 8f01df6c 880115cc 8f01df8c 295f5000 29583004 00000000
df80: 295f523c 88008140 8f01dfa4 000001bc 29583004 00000001 880080f0 880080f0
dfa0: 8f01c000 00000040 00000000 00000020 29582e14 29574c18 29574dd0 00000000
dfc0: 29574c18 29574c58 295832c8 00000001 00000001 29583004 000001bc 7beb0c7c
dfe0: 7beb0c7c 295610de 29559810 00008100 2974a450 01f014c6 a13383fe ffffffff
Call trace: [<8800eff6>] 0x8800eff6 [<8800725e>] 0x8800725e [<880032c2>] 0x880032c2 [<880066a6>] 0x880066a6 [<88246362>] 0x88246362 [<882463c0>] 0x882463c0 [<8801ba74>] 0x8801ba74 [<8801c068>] 0x8801c068 [<88025c14>] 0x88025c14 [<88005468>] 0x88005468 [<88008140>] 0x88008140 [<295610de>] 0x295610de
Quoted 11 lines · Yusuke Goda
Quoted 9 lines · Paul Mundt
Quoted 8 lines · Yusuke Goda
Hi Paul-san
Quoted 2 lines
You should rebuild your kernel with verbose BUG reporting and all of the kallsyms bits turned on, which will give you a meaningful oops. That
I attach
log(CONFIG_KALLSYMS=y).Quoted 2 lines
should at least give us an idea of where things are going wrong, otherwise we go back to bisecting.
Quoted 9 lines
Quoted 7 lines
Quoted 5 lines
This problem seems to occur with the following commit.
commit2277ab4a1df50e05bc732fe9488d4e902bb8399a
sh: Migrate fromPG_mappedtoPG_dcache_dirty.Sorry, I cannot identify it to number of lines.
Thanks. Can you try this again with the dwarf unwinder enabled?
OK. I attach it.
.. while keeping verbose bug reporting and kallsyms enabled :-)
Quoted 15 lines · Paul Mundt
Quoted 14 lines · Yusuke Goda
Quoted 13 lines · Paul Mundt
Quoted 12 lines · Yusuke Goda
Hi Paul-san
Quoted 2 lines
You should rebuild your kernel with verbose BUG reporting and all of the kallsyms bits turned on, which will give you a meaningful oops. That
I attach
log(CONFIG_KALLSYMS=y).Quoted 2 lines
should at least give us an idea of where things are going wrong, otherwise we go back to bisecting.
This problem seems to occur with the following commit.
commit2277ab4a1df50e05bc732fe9488d4e902bb8399a
sh: Migrate fromPG_mappedtoPG_dcache_dirty.
Quoted 5 lines
Quoted 4 lines
Quoted 2 lines
Quoted 1 line
Sorry, I cannot identify it to number of lines.
Thanks. Can you try this again with the dwarf unwinder enabled?
OK. I attach it.
.. while keeping verbose bug reporting and kallsyms enabled :-)
Oh sorry. I attach it.
Goda
## Starting application at 0x89000000 ...
Linux version 2.6.33-rc4 (root@gohda) (gcc version 4.3.4 (Debian 4.3.4-1) ) #39 PREEMPT Tue Jan 26 09:39:26 UTC 2010 Boot params:
... MOUNT_ROOT_RDONLY - 00000000
... RAMDISK_FLAGS - 00000000 ... ORIG_ROOT_DEV - 00000000 ... LOADER_TYPE - 00000000 ... INITRD_START - 00000000 ... INITRD_SIZE - 00000000
Booting machvec: R0P7724 (EcoVec)
Node 0: start_pfn = 0x8000, low = 0xf800
Zone PFN ranges:
Normal 0x00008000 -> 0x0000f800
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
0: 0x00008000 -> 0x0000f800
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 30480
Kernel command line: console=tty0, console=ttySC0,115200 root=/dev/sda2 rootdelay=10 mem=120M memchunk.vpu=4m PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
PVR=10300b00 CVR=7144040d PRR=00002200
I-cache : n_ways=4 n_sets=256 way_incr=8192
I-cache : entry_mask=0x00001fe0 alias_mask=0x00001000 n_aliases=2
D-cache : n_ways=4 n_sets=256 way_incr=8192
D-cache : entry_mask=0x00001fe0 alias_mask=0x00001000 n_aliases=2
S-cache : n_ways=4 n_sets=2048 way_incr=65536
S-cache : entry_mask=0x0000ffe0 alias_mask=0x0000f000 n_aliases=16
Memory: 117560k/122880k available (2346k kernel code, 951k data, 104k init)
virtual kernel memory layout:
fixmap : 0xdffd6000 - 0xdffff000 ( 164 kB)
vmalloc : 0xc0000000 - 0xdffd4000 ( 511 MB)
lowmem : 0x88000000 - 0x8f800000 ( 120 MB) (cached)
: 0xa8000000 - 0xc8000000 ( 512 MB) (uncached)
.init : 0x883c4000 - 0x883de000 ( 104 kB)
.data : 0x8824b9dc - 0x883396e0 ( 951 kB)
.text : 0x88001000 - 0x8824b9dc (2346 kB)Hierarchical RCU implementation.
NR_IRQS:256 nr_irqs:256
Console: colour dummy device 80x25
console [tty0] enabledsh_tmu: TMU0 used for clock eventssh_tmu: TMU0 used for periodic clock eventssh_tmu: TMU1 used as clock source
Calibrating delay loop (skipped)... 499.99 BogoMIPS PRESET (lpj=999999) Mount-cache hash table entries: 512
CPU: SH7724
DWARF unwinder initialised: read 2 CIEs, 12566 FDEs
NET: Registered protocol family 16
vpu: forcing memory chunk size to 0x00400000
sh pinmux: sh7724_pfc handling gpio 0 -> 486
Performance Events: SH-4A support registered
HW Breakpoints: SH-4A UBC support registered
USB1 function is selected
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Switching to clocksource TMU1
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Installing knfsd (copyright (C) 1996 [email protected]).
msgmni has been set to 229
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Console: switching to colour frame buffer device 100x30
graphics fb0: registered sh_mobile_lcdc_fb/mainlcd as 800x480 16bpp. SuperH SCI(F) driver initialized
sh-sci.0: ttySC0 at MMIO 0xffe00000 (irq = 80) is a scif
console [ttySC0] enabled
sh-sci.1: ttySC1 at MMIO 0xffe10000 (irq = 81) is a scif
sh-sci.2: ttySC2 at MMIO 0xffe20000 (irq = 82) is a scif
sh-sci.3: ttySC3 at MMIO 0xa4e30000 (irq = 56) is a scifa
sh-sci.4: ttySC4 at MMIO 0xa4e40000 (irq = 88) is a scifa
sh-sci.5: ttySC5 at MMIO 0xa4e50000 (irq = 109) is a scifa
brd: module loaded
physmap platform flash device: 04000000 at 00000000
physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank
Amd/Fujitsu Extended Query Table at 0x0040
physmap-flash.0: CFI does not contain boot bank location. Assuming top. number of CFI chips: 1
RedBoot partition parsing not available
Using physmap partition information
Creating 2 MTD partitions on "physmap-flash.0":
0x000000000000-0x000000500000 : "boot loader" 0x000000500000-0x000004000000 : "free-area"sh_mii: probed
Base address at 0xa4600000, 00:00:87:6B:BC:B0, IRQ 91.r8a66597_hcd: driver r8a66597_hcd, 2009-05-26r8a66597_hcd r8a66597_hcd.0: USB Host Controllerr8a66597_hcd r8a66597_hcd.0: new USB bus registered, assigned bus number 1 r8a66597_hcd r8a66597_hcd.0: irq 65, io base 0xa4d80000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
input: sh_keysc as /class/input/input0
i2c /dev entries driver
Linux video capture interface: v2.00
camera 0-0: Probing 0-0sh_mobile_ceu sh_mobile_ceu.0: SuperH Mobile CEU driver attached to camera 0 sh_mobile_ceu sh_mobile_ceu.0: SuperH Mobile CEU driver detached from camera 0
camera: probe of 0-0 failed with error -12
camera 1-0: Probing 1-0sh_mobile_ceu sh_mobile_ceu.1: SuperH Mobile CEU driver attached to camera 0 sh_mobile_ceu sh_mobile_ceu.1: SuperH Mobile CEU driver detached from camera 0
camera: probe of 1-0 failed with error -12
camera 1-1: Probing 1-1sh_mobile_ceu sh_mobile_ceu.1: SuperH Mobile CEU driver attached to camera 1 sh_mobile_ceu sh_mobile_ceu.1: SuperH Mobile CEU driver detached from camera 1
camera: probe of 1-1 failed with error -12sh_tmu: TMU0 kept as earlytimersh_tmu: TMU1 kept as earlytimer
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
heartbeat: version 0.1.2 loaded
TCP cubic registered
NET: Registered protocol family 17drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
Waiting 10sec before mounting root device...
usb 1-1: new high speed USB device using r8a66597_hcd and address 2 scsi0 : usb-storage 1-1:1.0
scsi 0:0:0:0: Direct-Access I-O DATA USB Flash Disk 3A PQ: 0 ANSI: 2
sd 0:0:0:0: [sda] 4014080 512-byte logical blocks: (2.05 GB/1.91 GiB) sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda: sda1 sda2
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Attached SCSI removable disk
EXT3-fs (sda2): warning: maximal mount count reached, running e2fsck is recommended kjournald starting. Commit interval 5 seconds
EXT3-fs (sda2): using internal journal
EXT3-fs (sda2): recovery complete
EXT3-fs (sda2): mounted filesystem with writeback data mode
VFS: Mounted root (ext3 filesystem) on device 8:2.
Freeing unused kernel memory: 104k freed
Kernel panic - not syncing: Attempted to kill init! Stack: (0x8f01de1c to 0x8f01e000)
de00: 88247d06
de20: 8f01de2c 8812837c 882ae1e4 88247d64 8f01de34 8f01de58 8801ba98 8f01de64
de40: 8d66a580 8f01fd60 8f01def0 8f01acc0 8f01acc0 88318314 8f01acb8 00000000
de60: 8f01de3c 8f01de64 00000001 0000000b 8f01dfa4 8f01de74 8f01de74 8801c08c
de80: 8f01de9c 8d66a580 8f01fd60 8f01def0 0000000a 0000000b 8f01fd60 88025c38
dea0: 8f01deac 0000000a 8d66a64c 8f01dfa4 8f01df70 8800549c 8f01ded4 8f01dfa4
dec0: 29583004 00000001 880080f0 880080f0 29583004 0000000a 00000002 8f01aef0
dee0: 8f01defc 8d674d40 8d674d74 8f01dfa4 0000000b 00000000 00030001 00000004
df00: 8d675f3c 29746000 29746000 8805f1d4 00000004 8d675f3c 29746000 29746000
df20: 8805f1d4 8f01df28 00002410 00000508 00000000 00000000 00000000 00000000
df40: 29746000 8d674d40 08100073 00000002 8f01df54 8802ef7a 8f01df74 8f01df80
df60: 8f01df44 29746000 8f01df6c 880115f0 8f01df8c 000001bc 29583004 00000000
df80: 29566de0 88008140 8f01dfa4 000001bc 29583004 00000001 880080f0 880080f0
dfa0: 8f01c000 00000040 00000000 00000020 29582e14 29574c18 29574dd0 00000000
dfc0: 29574c18 29574c58 295832c8 00000001 00000001 29583004 000001bc 7babec7c
dfe0: 7babec7c 295610de 29559810 00008100 2974a450 01f014c6 a13383fe ffffffff
Call trace: [<8800eff6>] dwarf_unwinder_dump+0x22/0x68 [<88007292>] unwind_stack+0x9a/0xf0 [<8800329e>] show_trace+0x3e/0x78 [<880066da>] show_stack+0x3a/0x58 [<88247d06>] dump_stack+0xe/0x1c [<88247d64>] panic+0x50/0x114 [<8801ba98>] do_exit+0x40/0x5bc [<8801c08c>] do_group_exit+0x78/0xb8 [<88025c38>] get_signal_to_deliver+0x360/0x3e4 [<8800549c>] do_notify_resume+0x8c/0x6ec [<88008140>] resume_userspace+0x0/0x10 [<295610de>] 0x295610de
Hi Goda-san, Shimoda-san,
Quoted 10 lines · Yusuke Goda
Quoted 2 lines
You should rebuild your kernel with verbose BUG reporting and all of the kallsyms bits turned on, which will give you a meaningful oops. That
I attach
log(CONFIG_KALLSYMS=y).Quoted 2 lines
should at least give us an idea of where things are going wrong, otherwise we go back to bisecting.
This problem seems to occur with the following commit.
commit2277ab4a1df50e05bc732fe9488d4e902bb8399a
sh: Migrate fromPG_mappedtoPG_dcache_dirty.
I suspect the PG_mapped behaviour just ended up hiding the problem by doing far too aggressive flushing. PG_dcache_dirty takes a more subdued approach to lazy writeback, which only trips us up when someone has called in to update_mmu_cache() without the pages having a chance to be flagged as having dirty dcache lines.
USB mass storage appears to be one of these beasts, but there doesn't seem to be any good way around this without just walking over the URB transfer buffer and making sure that flush_dcache_page() gets called for each page. Doing this in the HCD is unfortunate, but there doesn't seem to be any better place for it. Likewise, it's really only mass storage that really has this problem, so it ends up with superfluous flushing for all of the other cases.
The attached patch fixes these issues up for me, along with a spinlock recursion bug in the HCD driver (r8a66597_check_syssts() specifically), tested with an SSD over USB running XFS on SE7724. This is based on a patch by Catalin Marinas doing the same thing for isp1760-hcd.
Note that this only impacts HCDs using PIO. Any of the others (like ohci-sm501) that are using the DMA mapping ops already have their cache handling taken care of through the DMA mapping API.
If this works for you, I'll split the patch up in to the locking fix and the cache handling fix and check them in once Shimoda-san Acks them.
---
drivers/usb/host/r8a66597-hcd.c | 40 ++++++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 12 deletions(-)
drivers/usb/host/r8a66597-hcd.c +28 -12
@@ -36,6 +36,7 @@#include <linux/platform_device.h> #include <linux/io.h> #include <linux/irq.h> +#include <asm/cacheflush.h> #include "../core/hcd.h" #include "r8a66597.h"
@@ -820,6 +821,26 @@ static void enable_r8a66597_pipe(struct r8a66597 *r8a66597, struct urb *urb,enable_r8a66597_pipe_dma (r8a66597, dev, pipe, urb); } +static void r8a66597_urb_done (struct r8a66597 *r8a66597,struct urb *urb, +int status) +__releases(r8a66597->lock) +__acquires(r8a66597->lock) +{ +if (usb_pipein (urb->pipe) &&usb_pipetype (urb->pipe) =PIPE_BULK ) { +void *ptr; + +for (ptr = urb->transfer_buffer; + ptr < urb->transfer_buffer + urb->transfer_buffer_length; + ptr +=PAGE_SIZE ) +flush_dcache_page (virt_to_page (ptr)); + } + +usb_hcd_unlink_urb_from_ep (r8a66597_to_hcd (r8a66597), urb); +spin_unlock (&r8a66597->lock); +usb_hcd_giveback_urb (r8a66597_to_hcd (r8a66597), urb, status); +spin_lock (&r8a66597->lock); +} +/* this function must be called with interrupt disabled */ static void force_dequeue (struct r8a66597 *r8a66597,u16 pipenum,u16 address) {
@@ -838,15 +859,9 @@ static void force_dequeue(struct r8a66597 *r8a66597, u16 pipenum, u16 address)list_del (&td->queue);kfree (td); -if (urb) { -usb_hcd_unlink_urb_from_ep (r8a66597_to_hcd (r8a66597), - urb); +if (urb) +r8a66597_urb_done (r8a66597, urb, -ENODEV ); -spin_unlock (&r8a66597->lock); -usb_hcd_giveback_urb (r8a66597_to_hcd (r8a66597), urb, - -ENODEV ); -spin_lock (&r8a66597->lock); - }break ; } }
@@ -1006,6 +1021,8 @@ static void start_root_hub_sampling(struct r8a66597 *r8a66597, int port,/* this function must be called with interrupt disabled */ static void r8a66597_check_syssts (struct r8a66597 *r8a66597,int port,u16 syssts) +__releases(r8a66597->lock) +__acquires(r8a66597->lock) {if (syssts =SE0 ) {r8a66597_write (r8a66597, ~ATTCH ,get_intsts_reg (port));
@@ -1023,7 +1040,9 @@ static void r8a66597_check_syssts(struct r8a66597 *r8a66597, int port,usb_hcd_resume_root_hub (r8a66597_to_hcd (r8a66597)); } +spin_unlock (&r8a66597->lock);usb_hcd_poll_rh_status (r8a66597_to_hcd (r8a66597)); +spin_lock (&r8a66597->lock); }/* this function must be called with interrupt disabled */
@@ -1283,10 +1302,7 @@ __releases(r8a66597->lock) __acquires(r8a66597->lock)if (usb_pipeisoc (urb->pipe)) urb->start_frame =r8a66597_get_frame (hcd); -usb_hcd_unlink_urb_from_ep (r8a66597_to_hcd (r8a66597), urb); -spin_unlock (&r8a66597->lock); -usb_hcd_giveback_urb (hcd, urb, status); -spin_lock (&r8a66597->lock); +r8a66597_urb_done (r8a66597, urb, status); }if (restart) {