Re: Regression introduced by 0a2b9a6ea93650b8a00f9fd5ee8fdd25671e2df6("X86: integrate CMA with DMA-mapping subsystem" Re: Bug in BUG: Bad pagestate in process work_for_cpu pfn:cf800

From: Konrad Rzeszutek Wilk
Date: Wed Jun 06 2012 - 13:20:37 EST


>> >>> ehci_hcd 0000:00:02.1: reset hcc_params a086 caching frame 256/512/1024 park
>> >>> BUG: Bad page state in process work_for_cpu  pfn:cf800
>> >>> page:ffffea0002d64000 count:-1 mapcount:0 ing:          (null) index:0x0
>> >>> page flags: 0x100000000000000()
>> >>> Modules linked in:
>> >>> Pid: 1207, comm: work_for_cpu Not tainted 3.4.0upstream-09208-gaf56e0a #1
>> >>> Call Trace:
>> >>>  [<ffffffff81103eb7>] ? dump_page+0x97/0xf0
>> >>>  [<ffffffff811050bd>] bad_page+0xad/0x100
>> >>>  [<ffffffff811067a2>] get_page_from_freelist+0x712/0x850
>> >>>  [<ffffffff812916d8>] ? __const_udelay+0x28/0x30
>> >>>  [<ffffffff81107a82>] __alloc_pages_nodemask+0x162/0x900
>> >>>  [<ffffffff810a2975>] ? dequeue_task_fair+0xa5/0x330
>> >>>  [<ffffffff810367e2>] ? __switch_to+0x152/0x440
>> >>>  [<ffffffff8107ee37>] ? lock_timer_base+0x37/0x70
>> >>>  [<ffffffff8103c7ff>] dma_generic_alloc_coherent+0x10f/0x170
>> >>>  [<ffffffff81062e7e>] gart_alloc_coherent+0xee/0x120
>> >>>  [<ffffffff81137542>] dma_pool_alloc+0x102/0x2e0
>> >>>  [<ffffffff8109f240>] ? try_to_wake_up+0x310/0x310
>> >>>  [<ffffffff813f3dc7>] ehci_qh_alloc+0x47/0xf0
>> >>>  [<ffffffff813f81e7>] ehci_pci_setup+0x367/0xea0
>> >>>  [<ffffffff81389213>] ? device_pm_init+0x43/0x80
>> >>>  [<ffffffff813d3065>] ? usb_alloc_dev+0x2d5/0x330
>> >>>  [<ffffffff81002030>] ? do_one_initcall+0x30/0x170
>> >>>  [<ffffffff813db6a9>] usb_add_hcd+0x1e9/0x7a0
>> >>>  [<ffffffff813ea0fa>] usb_hcd_pci_probe+0x1ba/0x3a0
>> >>>  [<ffffffff81088890>] ? cwq_dec_nr_in_flight+0x90/0x90
>> >>>  [<ffffffff812ad3f2>] local_pci_probe+0x12/0x20
>> >>>  [<ffffffff810888a3>] do_work_for_cpu+0x13/0x30
>> >>>  [<ffffffff810906e6>] kthread+0x96/0xa0
>> >>>  [<ffffffff815b61e4>] kernel_thread_helper+0x4/0x10
>> >>>  [<ffffffff81090650>] ? kthread_freezable_should_stop+0x70/0x70
>> >>>  [<ffffffff815b61e0>] ? gs_change+0x13/0x13
>> >>> Disabling lock debugging due to kernel taint
>> >>> BUG: Bad p
.. snip..
>>
>> I pulled todays linus's tree and if I revert the commit the bug disappears.
>> This is on an Dell T105 AMD box running native x86_64.
>> Any thoughts on what the bug might be?
>
> I've read that patch three times line by line and I really have no idea what might cause such
> weird effect. When CMA is disabled this patch should not change anything in the code flow and
> the called functions... I assume that the CMA has not been enabled in your test config?

Correct. There is no mention of CMA. Do you have any debug patches you
want me to try?

I am also attaching the .config file.

Attachment: dot_config
Description: Binary data