On Mittwoch, 12. August 2009, Mel Gorman wrote: > On Wed, Aug 12, 2009 at 01:11:34PM +0200, Juergen Beisert wrote: > > On Mittwoch, 12. August 2009, Mel Gorman wrote: > > > > > I get the following Ooops message when "udevadm" is running on an > > > > > ARM S3C2440 CPU based system: > > > > > > This is extremely odd. All that patch is doing is changing what order > > > pages are returned in to the caller when __GFP_COLD is specified. > > > valid memory. Does reverting the patch really make the problem go away? > > > > At least I can work with the system if I remove this patch. Theres is no > > oops, so udev creates all the required devnodes and the system comes up > > into the login prompt. > > One reason I can think of that the patch would make a different to booting > is that there is a buffer overrun somewhere. When the pages in one order, > the buffer overrun is into pages that are not being used so it's not > spotted. In the other order, the overrun causes damage. The patch only > alters the order of pages in a linked list and ordinarily that shouldn't > make any functional difference. > > Can you enable the config option DEBUG_PAGEALLOC please and tell me if > that blows up in some unexpected fashion? It would also be helpful if > you could enable all slab/slqb/slub debugging (whichever one you are > using). DEBUG_PAGEALLOC=y and DEBUG_SLAB=y does not change anything. Only DEBUG_KOBJECT=y shows this: [...] kobject: 'default' (c399af48): fill_kobj_path: path = '/class/bdi/default' kobject: 'gpiochip0' (c3946f48): kobject_uevent_env kobject: 'gpiochip0' (c3946f48): fill_kobj_path: path = '/class/gpio/gpiochip0' kobject: 'gpiochip128' (c396af48): kobject_uevent_env kobject: 'gpiochip128' (c396af48): fill_kobj_path: path = '/class/gpio/gpiochip128' kobject: 'gpiochip160' (c396cf48): kobject_uevent_env kobject: 'gpiochip160' (c396cf48): fill_kobj_path: path = '/class/gpio/gpiochip160' kobject: 'gpiochip192' (c3962f48): kobject_uevent_env kobject: 'gpiochip192' (c3962f48): fill_kobj_path: path = '/class/gpio/gpiochip192' kobject: 'gpiochip224' (c3970f48): kobject_uevent_env kobject: 'gpiochip224' (c3970f48): fill_kobj_path: path = '/class/gpio/gpiochip224' kobject: 'gpiochip32' (c3964f48): kobject_uevent_env kobject: 'gpiochip32' (c3964f48): fill_kobj_path: path = '/class/gpio/gpiochip32' kobject: 'gpiochip64' (c3966f48): kobject_uevent_env kobject: 'gpiochip64' (c3966f48): fill_kobj_path: path = '/class/gpio/gpiochip64' kobject: 'gpiochip96' (c3969f48): kobject_uevent_env kobject: 'gpiochip96' (c3969f48): fill_kobj_path: path = '/class/gpio/gpiochip96' kobject: 'fb0' (c3bbff48): kobject_uevent_env kobject: 'fb0' (c3bbff48): fill_kobj_path: path = '/class/graphics/fb0' kobject: 's3c2410-lcd' (c02dc468): fill_kobj_path: path = '/devices/platform/s3c2410-lcd' kobject: 'fbcon' (c3b62f48): kobject_uevent_env kobject: 'fbcon' (c3b62f48): fill_kobj_path: path = '/class/graphics/fbcon' kobject: 'i2c-0' (c39a3e78): kobject_uevent_env kobject: 'i2c-0' (c39a3e78): fill_kobj_path: path = '/class/i2c-adapter/i2c-0' kobject: 's3c2440-i2c' (c02de368): fill_kobj_path: path = '/devices/platform/s3c2440-i2c' kobject: '0-0068' (c3996f28): kobject_uevent_env kobject: '0-0068' (c3996f28): fill_kobj_path: path = '/class/i2c-adapter/i2c-0/0-0068' kobject: 'input0' (c3bba780): kobject_uevent_env kobject: 'input0' (c3bba780): fill_kobj_path: path = '/class/input/input0' Unable to handle kernel paging request at virtual address e3540000 pgd = c3ef8000 [e3540000] *pgd=00000000 Internal error: Oops: 5 [#1] Modules linked in: CPU: 0 Not tainted (2.6.31-rc5 #8) PC is at strlen+0xc/0x20 LR is at kobject_get_path+0x28/0xd0 pc : [<c011a3a4>] lr : [<c0116ee4>] psr: a0000013 sp : c3ebde90 ip : 00000005 fp : c029fdce r10: c02ea490 r9 : 00000000 r8 : c001de30 r7 : c3e58000 r6 : 000000d0 r5 : 00000001 r4 : c001de30 r3 : e3550001 r2 : e3540000 r1 : 000000d0 r0 : e3540000 Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user Control: c000717f Table: 33ef8000 DAC: 00000015 Process udevadm (pid: 332, stack limit = 0xc3ebc270) Stack: (0xc3ebde90 to 0xc3ebe000) de80: ffffffff ffffffff a0000013 c001de28 dea0: c3bba780 c3bba778 c3e58000 c3802ce0 c02ea490 c0153a68 c029fdce c01171c4 dec0: c3bba780 00000000 c3bba780 c3d07da0 c3e58000 c0117420 00000000 00020001 dee0: 00000000 00000000 c3f2a6c0 c0286d79 c3e67f70 c3797f70 c380bf40 00000000 df00: 00000000 c3bba778 00000003 c3d07da0 c3bba780 c02ea4d0 c3d07db8 c3ebdf88 df20: 00019cb0 c0153b08 c3efcf78 00000000 c3d07db8 c3d00d10 00000003 c01531ec df40: c3d00d10 c00c3f6c c3efcf78 00019cb0 c3ebdf88 00000004 00000003 c3ebc000 df60: 00000000 c0085734 c3797f70 00000020 00000000 00000000 c3efcf78 00000004 df80: c0025fa8 c0085894 00000000 00000000 be878250 00000000 00026e20 00000003 dfa0: be878250 c0025e00 00026e20 00000003 00000003 00019cb0 00000003 00000000 dfc0: 00026e20 00000003 be878250 00000004 00022a90 be878678 00019cb0 00019cb0 dfe0: 00022a94 be878250 00018114 400d8f1c 40000010 00000003 aaaaaaaa aaaaaaaa [<c011a3a4>] (strlen+0xc/0x20) from [<c0116ee4>] (kobject_get_path+0x28/0xd0) [<c0116ee4>] (kobject_get_path+0x28/0xd0) from [<c0153a68>] (dev_uevent+0x1dc/0x208) [<c0153a68>] (dev_uevent+0x1dc/0x208) from [<c0117420>] (kobject_uevent_env+0x1e8/0x450) [<c0117420>] (kobject_uevent_env+0x1e8/0x450) from [<c0153b08>] (store_uevent+0x74/0x88) [<c0153b08>] (store_uevent+0x74/0x88) from [<c01531ec>] (dev_attr_store+0x20/0x28) [<c01531ec>] (dev_attr_store+0x20/0x28) from [<c00c3f6c>] (sysfs_write_file+0x104/0x13c) [<c00c3f6c>] (sysfs_write_file+0x104/0x13c) from [<c0085734>] (vfs_write+0xb0/0x15c) [<c0085734>] (vfs_write+0xb0/0x15c) from [<c0085894>] (sys_write+0x40/0x6c) [<c0085894>] (sys_write+0x40/0x6c) from [<c0025e00>] (ret_fast_syscall+0x0/0x2c) Code: c02e5eb8 e1a02000 ea000000 e2800001 (e5d03000) ---[ end trace a8d7bdeb081ef0e0 ]--- Segmentation fault [...] After this oops, system startup continues. Then the next oops occurs: This one is new, since I try to mount the connected SD card. [...] Unable to handle kernel paging request at virtual address fcd00004 pgd = c3fec000 [fcd00004] *pgd=00000000 Internal error: Oops: 5 [#2] Modules linked in: CPU: 0 Tainted: G D (2.6.31-rc5 #8) PC is at s3c2410_gpio_getpin+0xc/0x20 LR is at s3cmci_card_present+0x1c/0x38 pc : [<c002fe50>] lr : [<c01a250c>] psr: 20000013 sp : c3d8de48 ip : 00000200 fp : 00000000 r10: c3d7dfa4 r9 : c3d8de90 r8 : 00000001 r7 : c3d28e00 r6 : c3d8de90 r5 : c3d42800 r4 : c001ded8 r3 : fcd00000 r2 : 00000000 r1 : c3d8de90 r0 : 03a00002 Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel Control: c000717f Table: 33fec000 DAC: 00000017 Process mmcqd (pid: 305, stack limit = 0xc3d8c270) Stack: (0xc3d8de48 to 0xc3d8e000) de40: c3d42940 c01a2ba0 c3d8de90 c3d42800 c3f1df28 c0199d04 de60: c3d7dfa4 00000000 c3d8de68 c3d8de68 c3d8de90 c3f1df28 c3d7dfa4 c019f630 de80: 90cf85d1 3d2e1a39 47260d9e c3d8dea4 c3d8dea4 c3d8defc 00000000 c3d8de64 dea0: c0199d8c 00000011 00004000 00000000 00000000 00000000 00000000 000000b5 dec0: 00000000 00000000 c3d8defc c3d8de90 0000000c 00000000 00000000 00000000 dee0: 00000000 00000000 0000049d 00000000 00000000 00000000 00000000 02faf080 df00: 00000000 00000200 00000001 00000000 00000200 00000000 00000000 c3d8de90 df20: 00000001 c3d89800 c02de5a0 c38bcd40 c02de5a0 c0034114 c3d73d08 c02de568 df40: c38bcd38 c39f001c c3d73d08 00000017 c3d73d08 c3d82ba0 00000000 00000000 df60: c3d7dfa4 00000000 c3d7dfa4 c3d82ba0 00000000 c010b4e4 c3d73d08 c3f1df28 df80: 00000000 c3f1df28 c3d7dfa4 c3d8c000 c3d7dfac c3d82ba0 00000000 c3d82cb0 dfa0: 00000001 c019fea8 c39f1dfc c3d8dfd4 c39f1dfc c3d7dfa4 c019fdc4 00000000 dfc0: 00000000 00000000 00000000 c004a7e8 00000000 00000000 c3d8dfd8 c3d8dfd8 dfe0: 00000000 00000000 00000000 00000000 00000000 c0026dd8 fb0f7272 885b61ba [<c002fe50>] (s3c2410_gpio_getpin+0xc/0x20) from [<c01a250c>] (s3cmci_card_present+0x1c/0x38) [<c01a250c>] (s3cmci_card_present+0x1c/0x38) from [<c01a2ba0>] (s3cmci_request+0x28/0x60) [<c01a2ba0>] (s3cmci_request+0x28/0x60) from [<c0199d04>] (mmc_wait_for_req+0x104/0x11c) [<c0199d04>] (mmc_wait_for_req+0x104/0x11c) from [<c019f630>] (mmc_blk_issue_rq+0x1c4/0x53c) [<c019f630>] (mmc_blk_issue_rq+0x1c4/0x53c) from [<c019fea8>] (mmc_queue_thread+0xe4/0xe8) [<c019fea8>] (mmc_queue_thread+0xe4/0xe8) from [<c004a7e8>] (kthread+0x74/0x78) [<c004a7e8>] (kthread+0x74/0x78) from [<c0026dd8>] (kernel_thread_exit+0x0/0x8) Code: e8bd8010 e3c0301f e1a030a3 e28334fb (e5933004) ---[ end trace a8d7bdeb081ef0e1 ]--- Seems something GPIO related. Because also the '/class/input/input0' is a GPIO based button. I will continue tomorrow. Regards, Juergen -- Pengutronix e.K. | Juergen Beisert | Linux Solutions for Science and Industry | Phone: +49-8766-939 228 | Vertretung Sued/Muenchen, Germany | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de/ | -- To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html