Re: pci_get_subsys: GFP_KERNEL allocations with IRQs disabled
Hi Bjorn, On Wed, 22 Aug 2012 11:02:52 -0700 Bjorn Helgaas wrote: > On Wed, Aug 22, 2012 at 12:49 AM, Feng Tang wrote: > > Hi Fengguang, > > > > > > On Wed, 22 Aug 2012 10:50:08 +0800 > > Fengguang Wu wrote: > > > >> Feng, > >> > >> > I think it's pci_get_subsys() triggered this assert: > >> > > >> > /* > >> > * Oi! Can't be having __GFP_FS allocations with IRQs disabled. > >> > */ > >> > if (DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags))) > >> > return; > >> > >> It's bisected down to this commit: > >> > >> commit 55c844a4dd16a4d1fdc0cf2a283ec631a02ec448 > >> Author: Feng Tang > >> AuthorDate: Wed May 30 23:15:41 2012 +0800 > >> Commit: Ingo Molnar > >> CommitDate: Wed Jun 6 12:03:23 2012 +0200 > >> > >> x86/reboot: Fix a warning message triggered by stop_other_cpus() > >> > >> Thanks, > >> Fengguang > > > > Thanks for the bisection. > > > > Revert my commit should be a solution, but can we simply make the > > pci_device_id > > a local on stack one instead of using sleepable kmalloc for it, as this > > sounds fragile when pci_get_subsys get called in a late system reboot stage? > > I think this is a great idea. Can you make this a real patch, with a > changelog and Signed-off-by? Thanks and will do. > > We should also remove the obsolete comment about early boot. I'm not > sure the no_pci_devices() check is needed, either. And we can make > the same simplification in pci_get_class(). Will check the no_pci_devices() part, and try to make it a separate patch for easy reverting in case of error. > > > > > diff --git a/drivers/pci/search.c b/drivers/pci/search.c > > index 993d4a0..e5ccede 100644 > > --- a/drivers/pci/search.c > > +++ b/drivers/pci/search.c > > @@ -246,7 +246,7 @@ struct pci_dev *pci_get_subsys(unsigned int vendor, > > unsigned int device, > >struct pci_dev *from) > > { > > + id.vendor = vendor; > > + id.device = device; > > + id.subvendor = ss_vendor; > > + id.subdevice = ss_device; > > > > + pdev = pci_get_dev_by_id(, from); > > No need for "pdev" here, since we don't have to free anything. ok, will directly return it. Thanks, Feng -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: pci_get_subsys: GFP_KERNEL allocations with IRQs disabled
On Wed, Aug 22, 2012 at 12:49 AM, Feng Tang wrote: > Hi Fengguang, > > > On Wed, 22 Aug 2012 10:50:08 +0800 > Fengguang Wu wrote: > >> Feng, >> >> > I think it's pci_get_subsys() triggered this assert: >> > >> > /* >> > * Oi! Can't be having __GFP_FS allocations with IRQs disabled. >> > */ >> > if (DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags))) >> > return; >> >> It's bisected down to this commit: >> >> commit 55c844a4dd16a4d1fdc0cf2a283ec631a02ec448 >> Author: Feng Tang >> AuthorDate: Wed May 30 23:15:41 2012 +0800 >> Commit: Ingo Molnar >> CommitDate: Wed Jun 6 12:03:23 2012 +0200 >> >> x86/reboot: Fix a warning message triggered by stop_other_cpus() >> >> Thanks, >> Fengguang > > Thanks for the bisection. > > Revert my commit should be a solution, but can we simply make the > pci_device_id > a local on stack one instead of using sleepable kmalloc for it, as this > sounds fragile when pci_get_subsys get called in a late system reboot stage? I think this is a great idea. Can you make this a real patch, with a changelog and Signed-off-by? We should also remove the obsolete comment about early boot. I'm not sure the no_pci_devices() check is needed, either. And we can make the same simplification in pci_get_class(). > > diff --git a/drivers/pci/search.c b/drivers/pci/search.c > index 993d4a0..e5ccede 100644 > --- a/drivers/pci/search.c > +++ b/drivers/pci/search.c > @@ -246,7 +246,7 @@ struct pci_dev *pci_get_subsys(unsigned int vendor, > unsigned int device, >struct pci_dev *from) > { > struct pci_dev *pdev; > - struct pci_device_id *id; > + struct pci_device_id id; > > /* > * pci_find_subsys() can be called on the ide_setup() path, > @@ -257,17 +257,12 @@ struct pci_dev *pci_get_subsys(unsigned int vendor, > unsigned int device, > if (unlikely(no_pci_devices())) > return NULL; > > - id = kzalloc(sizeof(*id), GFP_KERNEL); > - if (!id) > - return NULL; > - id->vendor = vendor; > - id->device = device; > - id->subvendor = ss_vendor; > - id->subdevice = ss_device; > - > - pdev = pci_get_dev_by_id(id, from); > - kfree(id); > + id.vendor = vendor; > + id.device = device; > + id.subvendor = ss_vendor; > + id.subdevice = ss_device; > > + pdev = pci_get_dev_by_id(, from); No need for "pdev" here, since we don't have to free anything. > return pdev; > } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: pci_get_subsys: GFP_KERNEL allocations with IRQs disabled
On Wed, Aug 22, 2012 at 03:49:08PM +0800, Tang, Feng wrote: > Hi Fengguang, > > > On Wed, 22 Aug 2012 10:50:08 +0800 > Fengguang Wu wrote: > > > Feng, > > > > > I think it's pci_get_subsys() triggered this assert: > > > > > > /* > > > * Oi! Can't be having __GFP_FS allocations with IRQs disabled. > > > */ > > > if (DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags))) > > > return; > > > > It's bisected down to this commit: > > > > commit 55c844a4dd16a4d1fdc0cf2a283ec631a02ec448 > > Author: Feng Tang > > AuthorDate: Wed May 30 23:15:41 2012 +0800 > > Commit: Ingo Molnar > > CommitDate: Wed Jun 6 12:03:23 2012 +0200 > > > > x86/reboot: Fix a warning message triggered by stop_other_cpus() > > > > Thanks, > > Fengguang > > Thanks for the bisection. > > Revert my commit should be a solution, but can we simply make the > pci_device_id > a local on stack one instead of using sleepable kmalloc for it, as this > sounds fragile when pci_get_subsys get called in a late system reboot stage? Good idea! I like this simple solution. It will sure fix the warning. Reviewed-by: Fengguang Wu Thanks, Fengguang > > diff --git a/drivers/pci/search.c b/drivers/pci/search.c > index 993d4a0..e5ccede 100644 > --- a/drivers/pci/search.c > +++ b/drivers/pci/search.c > @@ -246,7 +246,7 @@ struct pci_dev *pci_get_subsys(unsigned int vendor, > unsigned int device, > struct pci_dev *from) > { > struct pci_dev *pdev; > - struct pci_device_id *id; > + struct pci_device_id id; > > /* >* pci_find_subsys() can be called on the ide_setup() path, > @@ -257,17 +257,12 @@ struct pci_dev *pci_get_subsys(unsigned int vendor, > unsigned int device, > if (unlikely(no_pci_devices())) > return NULL; > > - id = kzalloc(sizeof(*id), GFP_KERNEL); > - if (!id) > - return NULL; > - id->vendor = vendor; > - id->device = device; > - id->subvendor = ss_vendor; > - id->subdevice = ss_device; > - > - pdev = pci_get_dev_by_id(id, from); > - kfree(id); > + id.vendor = vendor; > + id.device = device; > + id.subvendor = ss_vendor; > + id.subdevice = ss_device; > > + pdev = pci_get_dev_by_id(, from); > return pdev; > } > > > > > > > > [ 91.282131] machine restart > > > [ 91.283895] [ cut here ] > > > [ 91.284731] WARNING: at /c/wfg/linux/kernel/lockdep.c:2739 > > > lockdep_trace_alloc+0x1fb/0x210() > > > [ 91.286132] Modules linked in: > > > [ 91.286703] Pid: 697, comm: reboot Not tainted > > > 3.5.0-00024-g01ff5db-dirty #4 > > > [ 91.287859] Call Trace: > > > [ 91.288289] [<81050148>] warn_slowpath_common+0xb8/0x100 > > > [ 91.289338] [<8110acdb>] ? lockdep_trace_alloc+0x1fb/0x210 > > > [ 91.290264] [<8110acdb>] ? lockdep_trace_alloc+0x1fb/0x210 > > > [ 91.291161] [<810501ce>] warn_slowpath_null+0x3e/0x50 > > > [ 91.292042] [<8110acdb>] lockdep_trace_alloc+0x1fb/0x210 > > > [ 91.292934] [<81228e25>] kmem_cache_alloc_trace+0x55/0x600 > > > [ 91.292934] [<813025ca>] ? kobject_put+0x9a/0x160 > > > [ 91.292934] [<814e95e0>] ? klist_iter_exit+0x30/0x50 > > > [ 91.292934] [<81405881>] ? bus_find_device+0xf1/0x120 > > > [ 91.292934] [<81361a3c>] ? pci_get_subsys+0x11c/0x1b0 > > > [ 91.292934] [<81361a3c>] pci_get_subsys+0x11c/0x1b0 > > > [ 91.292934] [<81361afe>] pci_get_device+0x2e/0x40 > > > [ 91.292934] [<81033e25>] mach_reboot_fixups+0xa5/0xd0 > > > [ 91.292934] [<81027611>] native_machine_emergency_restart+0x1f1/0x590 > > > [ 91.292934] [<814f2e00>] ? printk+0x4b/0x5b > > > [ 91.292934] [<810269ef>] native_machine_restart+0x6f/0x80 > > > [ 91.292934] [<810271cc>] machine_restart+0x1c/0x30 > > > [ 91.292934] [<810886e0>] kernel_restart+0x70/0xc0 > > > [ 91.292934] [<81088a85>] sys_reboot+0x325/0x380 > > > [ 91.292934] [<811f796c>] ? handle_pte_fault+0xdc/0x1740 > > > [ 91.292934] [<811f93e7>] ? handle_mm_fault+0x417/0x4a0 > > > [ 91.292934] [<8103e07b>] ? do_page_fault+0x7fb/0xb30 > > > [ 91.292934] [<810b33e7>] ? up_read+0x37/0x70 > > > [ 91.292934] [<8103e07b>] ? do_page_fault+0x7fb/0xb30 > > > [ 91.292934] [<8123c063>] ? do_sys_open+0x3a3/0x3f0 > > > [ 91.292934] [<8123c063>] ? do_sys_open+0x3a3/0x3f0 > > > [ 91.292934] [<810b0270>] ? update_rmtp+0xe0/0xe0 > > > [ 91.292934] [<8150376e>] ? restore_all+0xf/0xf > > > [ 91.292934] [<8103d880>] ? vmalloc_sync_all+0x320/0x320 > > > [ 91.292934] [<81109fca>] ? trace_hardirqs_on_caller+0x28a/0x380 > > > [ 91.292934] [<81311594>] ? trace_hardirqs_on_thunk+0xc/0x10 > > > [ 91.292934] [<81503735>] syscall_call+0x7/0xb > > > > > > Thanks, > > > Fengguang -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at
Re: pci_get_subsys: GFP_KERNEL allocations with IRQs disabled
Hi Fengguang, On Wed, 22 Aug 2012 10:50:08 +0800 Fengguang Wu wrote: > Feng, > > > I think it's pci_get_subsys() triggered this assert: > > > > /* > > * Oi! Can't be having __GFP_FS allocations with IRQs disabled. > > */ > > if (DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags))) > > return; > > It's bisected down to this commit: > > commit 55c844a4dd16a4d1fdc0cf2a283ec631a02ec448 > Author: Feng Tang > AuthorDate: Wed May 30 23:15:41 2012 +0800 > Commit: Ingo Molnar > CommitDate: Wed Jun 6 12:03:23 2012 +0200 > > x86/reboot: Fix a warning message triggered by stop_other_cpus() > > Thanks, > Fengguang Thanks for the bisection. Revert my commit should be a solution, but can we simply make the pci_device_id a local on stack one instead of using sleepable kmalloc for it, as this sounds fragile when pci_get_subsys get called in a late system reboot stage? Thanks, Feng diff --git a/drivers/pci/search.c b/drivers/pci/search.c index 993d4a0..e5ccede 100644 --- a/drivers/pci/search.c +++ b/drivers/pci/search.c @@ -246,7 +246,7 @@ struct pci_dev *pci_get_subsys(unsigned int vendor, unsigned int device, struct pci_dev *from) { struct pci_dev *pdev; - struct pci_device_id *id; + struct pci_device_id id; /* * pci_find_subsys() can be called on the ide_setup() path, @@ -257,17 +257,12 @@ struct pci_dev *pci_get_subsys(unsigned int vendor, unsigned int device, if (unlikely(no_pci_devices())) return NULL; - id = kzalloc(sizeof(*id), GFP_KERNEL); - if (!id) - return NULL; - id->vendor = vendor; - id->device = device; - id->subvendor = ss_vendor; - id->subdevice = ss_device; - - pdev = pci_get_dev_by_id(id, from); - kfree(id); + id.vendor = vendor; + id.device = device; + id.subvendor = ss_vendor; + id.subdevice = ss_device; + pdev = pci_get_dev_by_id(, from); return pdev; } > > > [ 91.282131] machine restart > > [ 91.283895] [ cut here ] > > [ 91.284731] WARNING: at /c/wfg/linux/kernel/lockdep.c:2739 > > lockdep_trace_alloc+0x1fb/0x210() > > [ 91.286132] Modules linked in: > > [ 91.286703] Pid: 697, comm: reboot Not tainted > > 3.5.0-00024-g01ff5db-dirty #4 > > [ 91.287859] Call Trace: > > [ 91.288289] [<81050148>] warn_slowpath_common+0xb8/0x100 > > [ 91.289338] [<8110acdb>] ? lockdep_trace_alloc+0x1fb/0x210 > > [ 91.290264] [<8110acdb>] ? lockdep_trace_alloc+0x1fb/0x210 > > [ 91.291161] [<810501ce>] warn_slowpath_null+0x3e/0x50 > > [ 91.292042] [<8110acdb>] lockdep_trace_alloc+0x1fb/0x210 > > [ 91.292934] [<81228e25>] kmem_cache_alloc_trace+0x55/0x600 > > [ 91.292934] [<813025ca>] ? kobject_put+0x9a/0x160 > > [ 91.292934] [<814e95e0>] ? klist_iter_exit+0x30/0x50 > > [ 91.292934] [<81405881>] ? bus_find_device+0xf1/0x120 > > [ 91.292934] [<81361a3c>] ? pci_get_subsys+0x11c/0x1b0 > > [ 91.292934] [<81361a3c>] pci_get_subsys+0x11c/0x1b0 > > [ 91.292934] [<81361afe>] pci_get_device+0x2e/0x40 > > [ 91.292934] [<81033e25>] mach_reboot_fixups+0xa5/0xd0 > > [ 91.292934] [<81027611>] native_machine_emergency_restart+0x1f1/0x590 > > [ 91.292934] [<814f2e00>] ? printk+0x4b/0x5b > > [ 91.292934] [<810269ef>] native_machine_restart+0x6f/0x80 > > [ 91.292934] [<810271cc>] machine_restart+0x1c/0x30 > > [ 91.292934] [<810886e0>] kernel_restart+0x70/0xc0 > > [ 91.292934] [<81088a85>] sys_reboot+0x325/0x380 > > [ 91.292934] [<811f796c>] ? handle_pte_fault+0xdc/0x1740 > > [ 91.292934] [<811f93e7>] ? handle_mm_fault+0x417/0x4a0 > > [ 91.292934] [<8103e07b>] ? do_page_fault+0x7fb/0xb30 > > [ 91.292934] [<810b33e7>] ? up_read+0x37/0x70 > > [ 91.292934] [<8103e07b>] ? do_page_fault+0x7fb/0xb30 > > [ 91.292934] [<8123c063>] ? do_sys_open+0x3a3/0x3f0 > > [ 91.292934] [<8123c063>] ? do_sys_open+0x3a3/0x3f0 > > [ 91.292934] [<810b0270>] ? update_rmtp+0xe0/0xe0 > > [ 91.292934] [<8150376e>] ? restore_all+0xf/0xf > > [ 91.292934] [<8103d880>] ? vmalloc_sync_all+0x320/0x320 > > [ 91.292934] [<81109fca>] ? trace_hardirqs_on_caller+0x28a/0x380 > > [ 91.292934] [<81311594>] ? trace_hardirqs_on_thunk+0xc/0x10 > > [ 91.292934] [<81503735>] syscall_call+0x7/0xb > > > > Thanks, > > Fengguang -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: pci_get_subsys: GFP_KERNEL allocations with IRQs disabled
Hi Fengguang, On Wed, 22 Aug 2012 10:50:08 +0800 Fengguang Wu fengguang...@intel.com wrote: Feng, I think it's pci_get_subsys() triggered this assert: /* * Oi! Can't be having __GFP_FS allocations with IRQs disabled. */ if (DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags))) return; It's bisected down to this commit: commit 55c844a4dd16a4d1fdc0cf2a283ec631a02ec448 Author: Feng Tang feng.t...@intel.com AuthorDate: Wed May 30 23:15:41 2012 +0800 Commit: Ingo Molnar mi...@kernel.org CommitDate: Wed Jun 6 12:03:23 2012 +0200 x86/reboot: Fix a warning message triggered by stop_other_cpus() Thanks, Fengguang Thanks for the bisection. Revert my commit should be a solution, but can we simply make the pci_device_id a local on stack one instead of using sleepable kmalloc for it, as this sounds fragile when pci_get_subsys get called in a late system reboot stage? Thanks, Feng diff --git a/drivers/pci/search.c b/drivers/pci/search.c index 993d4a0..e5ccede 100644 --- a/drivers/pci/search.c +++ b/drivers/pci/search.c @@ -246,7 +246,7 @@ struct pci_dev *pci_get_subsys(unsigned int vendor, unsigned int device, struct pci_dev *from) { struct pci_dev *pdev; - struct pci_device_id *id; + struct pci_device_id id; /* * pci_find_subsys() can be called on the ide_setup() path, @@ -257,17 +257,12 @@ struct pci_dev *pci_get_subsys(unsigned int vendor, unsigned int device, if (unlikely(no_pci_devices())) return NULL; - id = kzalloc(sizeof(*id), GFP_KERNEL); - if (!id) - return NULL; - id-vendor = vendor; - id-device = device; - id-subvendor = ss_vendor; - id-subdevice = ss_device; - - pdev = pci_get_dev_by_id(id, from); - kfree(id); + id.vendor = vendor; + id.device = device; + id.subvendor = ss_vendor; + id.subdevice = ss_device; + pdev = pci_get_dev_by_id(id, from); return pdev; } [ 91.282131] machine restart [ 91.283895] [ cut here ] [ 91.284731] WARNING: at /c/wfg/linux/kernel/lockdep.c:2739 lockdep_trace_alloc+0x1fb/0x210() [ 91.286132] Modules linked in: [ 91.286703] Pid: 697, comm: reboot Not tainted 3.5.0-00024-g01ff5db-dirty #4 [ 91.287859] Call Trace: [ 91.288289] [81050148] warn_slowpath_common+0xb8/0x100 [ 91.289338] [8110acdb] ? lockdep_trace_alloc+0x1fb/0x210 [ 91.290264] [8110acdb] ? lockdep_trace_alloc+0x1fb/0x210 [ 91.291161] [810501ce] warn_slowpath_null+0x3e/0x50 [ 91.292042] [8110acdb] lockdep_trace_alloc+0x1fb/0x210 [ 91.292934] [81228e25] kmem_cache_alloc_trace+0x55/0x600 [ 91.292934] [813025ca] ? kobject_put+0x9a/0x160 [ 91.292934] [814e95e0] ? klist_iter_exit+0x30/0x50 [ 91.292934] [81405881] ? bus_find_device+0xf1/0x120 [ 91.292934] [81361a3c] ? pci_get_subsys+0x11c/0x1b0 [ 91.292934] [81361a3c] pci_get_subsys+0x11c/0x1b0 [ 91.292934] [81361afe] pci_get_device+0x2e/0x40 [ 91.292934] [81033e25] mach_reboot_fixups+0xa5/0xd0 [ 91.292934] [81027611] native_machine_emergency_restart+0x1f1/0x590 [ 91.292934] [814f2e00] ? printk+0x4b/0x5b [ 91.292934] [810269ef] native_machine_restart+0x6f/0x80 [ 91.292934] [810271cc] machine_restart+0x1c/0x30 [ 91.292934] [810886e0] kernel_restart+0x70/0xc0 [ 91.292934] [81088a85] sys_reboot+0x325/0x380 [ 91.292934] [811f796c] ? handle_pte_fault+0xdc/0x1740 [ 91.292934] [811f93e7] ? handle_mm_fault+0x417/0x4a0 [ 91.292934] [8103e07b] ? do_page_fault+0x7fb/0xb30 [ 91.292934] [810b33e7] ? up_read+0x37/0x70 [ 91.292934] [8103e07b] ? do_page_fault+0x7fb/0xb30 [ 91.292934] [8123c063] ? do_sys_open+0x3a3/0x3f0 [ 91.292934] [8123c063] ? do_sys_open+0x3a3/0x3f0 [ 91.292934] [810b0270] ? update_rmtp+0xe0/0xe0 [ 91.292934] [8150376e] ? restore_all+0xf/0xf [ 91.292934] [8103d880] ? vmalloc_sync_all+0x320/0x320 [ 91.292934] [81109fca] ? trace_hardirqs_on_caller+0x28a/0x380 [ 91.292934] [81311594] ? trace_hardirqs_on_thunk+0xc/0x10 [ 91.292934] [81503735] syscall_call+0x7/0xb Thanks, Fengguang -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: pci_get_subsys: GFP_KERNEL allocations with IRQs disabled
On Wed, Aug 22, 2012 at 03:49:08PM +0800, Tang, Feng wrote: Hi Fengguang, On Wed, 22 Aug 2012 10:50:08 +0800 Fengguang Wu fengguang...@intel.com wrote: Feng, I think it's pci_get_subsys() triggered this assert: /* * Oi! Can't be having __GFP_FS allocations with IRQs disabled. */ if (DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags))) return; It's bisected down to this commit: commit 55c844a4dd16a4d1fdc0cf2a283ec631a02ec448 Author: Feng Tang feng.t...@intel.com AuthorDate: Wed May 30 23:15:41 2012 +0800 Commit: Ingo Molnar mi...@kernel.org CommitDate: Wed Jun 6 12:03:23 2012 +0200 x86/reboot: Fix a warning message triggered by stop_other_cpus() Thanks, Fengguang Thanks for the bisection. Revert my commit should be a solution, but can we simply make the pci_device_id a local on stack one instead of using sleepable kmalloc for it, as this sounds fragile when pci_get_subsys get called in a late system reboot stage? Good idea! I like this simple solution. It will sure fix the warning. Reviewed-by: Fengguang Wu fengguang...@intel.com Thanks, Fengguang diff --git a/drivers/pci/search.c b/drivers/pci/search.c index 993d4a0..e5ccede 100644 --- a/drivers/pci/search.c +++ b/drivers/pci/search.c @@ -246,7 +246,7 @@ struct pci_dev *pci_get_subsys(unsigned int vendor, unsigned int device, struct pci_dev *from) { struct pci_dev *pdev; - struct pci_device_id *id; + struct pci_device_id id; /* * pci_find_subsys() can be called on the ide_setup() path, @@ -257,17 +257,12 @@ struct pci_dev *pci_get_subsys(unsigned int vendor, unsigned int device, if (unlikely(no_pci_devices())) return NULL; - id = kzalloc(sizeof(*id), GFP_KERNEL); - if (!id) - return NULL; - id-vendor = vendor; - id-device = device; - id-subvendor = ss_vendor; - id-subdevice = ss_device; - - pdev = pci_get_dev_by_id(id, from); - kfree(id); + id.vendor = vendor; + id.device = device; + id.subvendor = ss_vendor; + id.subdevice = ss_device; + pdev = pci_get_dev_by_id(id, from); return pdev; } [ 91.282131] machine restart [ 91.283895] [ cut here ] [ 91.284731] WARNING: at /c/wfg/linux/kernel/lockdep.c:2739 lockdep_trace_alloc+0x1fb/0x210() [ 91.286132] Modules linked in: [ 91.286703] Pid: 697, comm: reboot Not tainted 3.5.0-00024-g01ff5db-dirty #4 [ 91.287859] Call Trace: [ 91.288289] [81050148] warn_slowpath_common+0xb8/0x100 [ 91.289338] [8110acdb] ? lockdep_trace_alloc+0x1fb/0x210 [ 91.290264] [8110acdb] ? lockdep_trace_alloc+0x1fb/0x210 [ 91.291161] [810501ce] warn_slowpath_null+0x3e/0x50 [ 91.292042] [8110acdb] lockdep_trace_alloc+0x1fb/0x210 [ 91.292934] [81228e25] kmem_cache_alloc_trace+0x55/0x600 [ 91.292934] [813025ca] ? kobject_put+0x9a/0x160 [ 91.292934] [814e95e0] ? klist_iter_exit+0x30/0x50 [ 91.292934] [81405881] ? bus_find_device+0xf1/0x120 [ 91.292934] [81361a3c] ? pci_get_subsys+0x11c/0x1b0 [ 91.292934] [81361a3c] pci_get_subsys+0x11c/0x1b0 [ 91.292934] [81361afe] pci_get_device+0x2e/0x40 [ 91.292934] [81033e25] mach_reboot_fixups+0xa5/0xd0 [ 91.292934] [81027611] native_machine_emergency_restart+0x1f1/0x590 [ 91.292934] [814f2e00] ? printk+0x4b/0x5b [ 91.292934] [810269ef] native_machine_restart+0x6f/0x80 [ 91.292934] [810271cc] machine_restart+0x1c/0x30 [ 91.292934] [810886e0] kernel_restart+0x70/0xc0 [ 91.292934] [81088a85] sys_reboot+0x325/0x380 [ 91.292934] [811f796c] ? handle_pte_fault+0xdc/0x1740 [ 91.292934] [811f93e7] ? handle_mm_fault+0x417/0x4a0 [ 91.292934] [8103e07b] ? do_page_fault+0x7fb/0xb30 [ 91.292934] [810b33e7] ? up_read+0x37/0x70 [ 91.292934] [8103e07b] ? do_page_fault+0x7fb/0xb30 [ 91.292934] [8123c063] ? do_sys_open+0x3a3/0x3f0 [ 91.292934] [8123c063] ? do_sys_open+0x3a3/0x3f0 [ 91.292934] [810b0270] ? update_rmtp+0xe0/0xe0 [ 91.292934] [8150376e] ? restore_all+0xf/0xf [ 91.292934] [8103d880] ? vmalloc_sync_all+0x320/0x320 [ 91.292934] [81109fca] ? trace_hardirqs_on_caller+0x28a/0x380 [ 91.292934] [81311594] ? trace_hardirqs_on_thunk+0xc/0x10 [ 91.292934] [81503735] syscall_call+0x7/0xb Thanks, Fengguang -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: pci_get_subsys: GFP_KERNEL allocations with IRQs disabled
On Wed, Aug 22, 2012 at 12:49 AM, Feng Tang feng.t...@intel.com wrote: Hi Fengguang, On Wed, 22 Aug 2012 10:50:08 +0800 Fengguang Wu fengguang...@intel.com wrote: Feng, I think it's pci_get_subsys() triggered this assert: /* * Oi! Can't be having __GFP_FS allocations with IRQs disabled. */ if (DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags))) return; It's bisected down to this commit: commit 55c844a4dd16a4d1fdc0cf2a283ec631a02ec448 Author: Feng Tang feng.t...@intel.com AuthorDate: Wed May 30 23:15:41 2012 +0800 Commit: Ingo Molnar mi...@kernel.org CommitDate: Wed Jun 6 12:03:23 2012 +0200 x86/reboot: Fix a warning message triggered by stop_other_cpus() Thanks, Fengguang Thanks for the bisection. Revert my commit should be a solution, but can we simply make the pci_device_id a local on stack one instead of using sleepable kmalloc for it, as this sounds fragile when pci_get_subsys get called in a late system reboot stage? I think this is a great idea. Can you make this a real patch, with a changelog and Signed-off-by? We should also remove the obsolete comment about early boot. I'm not sure the no_pci_devices() check is needed, either. And we can make the same simplification in pci_get_class(). diff --git a/drivers/pci/search.c b/drivers/pci/search.c index 993d4a0..e5ccede 100644 --- a/drivers/pci/search.c +++ b/drivers/pci/search.c @@ -246,7 +246,7 @@ struct pci_dev *pci_get_subsys(unsigned int vendor, unsigned int device, struct pci_dev *from) { struct pci_dev *pdev; - struct pci_device_id *id; + struct pci_device_id id; /* * pci_find_subsys() can be called on the ide_setup() path, @@ -257,17 +257,12 @@ struct pci_dev *pci_get_subsys(unsigned int vendor, unsigned int device, if (unlikely(no_pci_devices())) return NULL; - id = kzalloc(sizeof(*id), GFP_KERNEL); - if (!id) - return NULL; - id-vendor = vendor; - id-device = device; - id-subvendor = ss_vendor; - id-subdevice = ss_device; - - pdev = pci_get_dev_by_id(id, from); - kfree(id); + id.vendor = vendor; + id.device = device; + id.subvendor = ss_vendor; + id.subdevice = ss_device; + pdev = pci_get_dev_by_id(id, from); No need for pdev here, since we don't have to free anything. return pdev; } -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: pci_get_subsys: GFP_KERNEL allocations with IRQs disabled
Hi Bjorn, On Wed, 22 Aug 2012 11:02:52 -0700 Bjorn Helgaas bhelg...@google.com wrote: On Wed, Aug 22, 2012 at 12:49 AM, Feng Tang feng.t...@intel.com wrote: Hi Fengguang, On Wed, 22 Aug 2012 10:50:08 +0800 Fengguang Wu fengguang...@intel.com wrote: Feng, I think it's pci_get_subsys() triggered this assert: /* * Oi! Can't be having __GFP_FS allocations with IRQs disabled. */ if (DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags))) return; It's bisected down to this commit: commit 55c844a4dd16a4d1fdc0cf2a283ec631a02ec448 Author: Feng Tang feng.t...@intel.com AuthorDate: Wed May 30 23:15:41 2012 +0800 Commit: Ingo Molnar mi...@kernel.org CommitDate: Wed Jun 6 12:03:23 2012 +0200 x86/reboot: Fix a warning message triggered by stop_other_cpus() Thanks, Fengguang Thanks for the bisection. Revert my commit should be a solution, but can we simply make the pci_device_id a local on stack one instead of using sleepable kmalloc for it, as this sounds fragile when pci_get_subsys get called in a late system reboot stage? I think this is a great idea. Can you make this a real patch, with a changelog and Signed-off-by? Thanks and will do. We should also remove the obsolete comment about early boot. I'm not sure the no_pci_devices() check is needed, either. And we can make the same simplification in pci_get_class(). Will check the no_pci_devices() part, and try to make it a separate patch for easy reverting in case of error. diff --git a/drivers/pci/search.c b/drivers/pci/search.c index 993d4a0..e5ccede 100644 --- a/drivers/pci/search.c +++ b/drivers/pci/search.c @@ -246,7 +246,7 @@ struct pci_dev *pci_get_subsys(unsigned int vendor, unsigned int device, struct pci_dev *from) { + id.vendor = vendor; + id.device = device; + id.subvendor = ss_vendor; + id.subdevice = ss_device; + pdev = pci_get_dev_by_id(id, from); No need for pdev here, since we don't have to free anything. ok, will directly return it. Thanks, Feng -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: pci_get_subsys: GFP_KERNEL allocations with IRQs disabled
Feng, > I think it's pci_get_subsys() triggered this assert: > > /* > * Oi! Can't be having __GFP_FS allocations with IRQs disabled. > */ > if (DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags))) > return; It's bisected down to this commit: commit 55c844a4dd16a4d1fdc0cf2a283ec631a02ec448 Author: Feng Tang AuthorDate: Wed May 30 23:15:41 2012 +0800 Commit: Ingo Molnar CommitDate: Wed Jun 6 12:03:23 2012 +0200 x86/reboot: Fix a warning message triggered by stop_other_cpus() Thanks, Fengguang > [ 91.282131] machine restart > [ 91.283895] [ cut here ] > [ 91.284731] WARNING: at /c/wfg/linux/kernel/lockdep.c:2739 > lockdep_trace_alloc+0x1fb/0x210() > [ 91.286132] Modules linked in: > [ 91.286703] Pid: 697, comm: reboot Not tainted 3.5.0-00024-g01ff5db-dirty > #4 > [ 91.287859] Call Trace: > [ 91.288289] [<81050148>] warn_slowpath_common+0xb8/0x100 > [ 91.289338] [<8110acdb>] ? lockdep_trace_alloc+0x1fb/0x210 > [ 91.290264] [<8110acdb>] ? lockdep_trace_alloc+0x1fb/0x210 > [ 91.291161] [<810501ce>] warn_slowpath_null+0x3e/0x50 > [ 91.292042] [<8110acdb>] lockdep_trace_alloc+0x1fb/0x210 > [ 91.292934] [<81228e25>] kmem_cache_alloc_trace+0x55/0x600 > [ 91.292934] [<813025ca>] ? kobject_put+0x9a/0x160 > [ 91.292934] [<814e95e0>] ? klist_iter_exit+0x30/0x50 > [ 91.292934] [<81405881>] ? bus_find_device+0xf1/0x120 > [ 91.292934] [<81361a3c>] ? pci_get_subsys+0x11c/0x1b0 > [ 91.292934] [<81361a3c>] pci_get_subsys+0x11c/0x1b0 > [ 91.292934] [<81361afe>] pci_get_device+0x2e/0x40 > [ 91.292934] [<81033e25>] mach_reboot_fixups+0xa5/0xd0 > [ 91.292934] [<81027611>] native_machine_emergency_restart+0x1f1/0x590 > [ 91.292934] [<814f2e00>] ? printk+0x4b/0x5b > [ 91.292934] [<810269ef>] native_machine_restart+0x6f/0x80 > [ 91.292934] [<810271cc>] machine_restart+0x1c/0x30 > [ 91.292934] [<810886e0>] kernel_restart+0x70/0xc0 > [ 91.292934] [<81088a85>] sys_reboot+0x325/0x380 > [ 91.292934] [<811f796c>] ? handle_pte_fault+0xdc/0x1740 > [ 91.292934] [<811f93e7>] ? handle_mm_fault+0x417/0x4a0 > [ 91.292934] [<8103e07b>] ? do_page_fault+0x7fb/0xb30 > [ 91.292934] [<810b33e7>] ? up_read+0x37/0x70 > [ 91.292934] [<8103e07b>] ? do_page_fault+0x7fb/0xb30 > [ 91.292934] [<8123c063>] ? do_sys_open+0x3a3/0x3f0 > [ 91.292934] [<8123c063>] ? do_sys_open+0x3a3/0x3f0 > [ 91.292934] [<810b0270>] ? update_rmtp+0xe0/0xe0 > [ 91.292934] [<8150376e>] ? restore_all+0xf/0xf > [ 91.292934] [<8103d880>] ? vmalloc_sync_all+0x320/0x320 > [ 91.292934] [<81109fca>] ? trace_hardirqs_on_caller+0x28a/0x380 > [ 91.292934] [<81311594>] ? trace_hardirqs_on_thunk+0xc/0x10 > [ 91.292934] [<81503735>] syscall_call+0x7/0xb > > Thanks, > Fengguang -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: pci_get_subsys: GFP_KERNEL allocations with IRQs disabled
Feng, I think it's pci_get_subsys() triggered this assert: /* * Oi! Can't be having __GFP_FS allocations with IRQs disabled. */ if (DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags))) return; It's bisected down to this commit: commit 55c844a4dd16a4d1fdc0cf2a283ec631a02ec448 Author: Feng Tang feng.t...@intel.com AuthorDate: Wed May 30 23:15:41 2012 +0800 Commit: Ingo Molnar mi...@kernel.org CommitDate: Wed Jun 6 12:03:23 2012 +0200 x86/reboot: Fix a warning message triggered by stop_other_cpus() Thanks, Fengguang [ 91.282131] machine restart [ 91.283895] [ cut here ] [ 91.284731] WARNING: at /c/wfg/linux/kernel/lockdep.c:2739 lockdep_trace_alloc+0x1fb/0x210() [ 91.286132] Modules linked in: [ 91.286703] Pid: 697, comm: reboot Not tainted 3.5.0-00024-g01ff5db-dirty #4 [ 91.287859] Call Trace: [ 91.288289] [81050148] warn_slowpath_common+0xb8/0x100 [ 91.289338] [8110acdb] ? lockdep_trace_alloc+0x1fb/0x210 [ 91.290264] [8110acdb] ? lockdep_trace_alloc+0x1fb/0x210 [ 91.291161] [810501ce] warn_slowpath_null+0x3e/0x50 [ 91.292042] [8110acdb] lockdep_trace_alloc+0x1fb/0x210 [ 91.292934] [81228e25] kmem_cache_alloc_trace+0x55/0x600 [ 91.292934] [813025ca] ? kobject_put+0x9a/0x160 [ 91.292934] [814e95e0] ? klist_iter_exit+0x30/0x50 [ 91.292934] [81405881] ? bus_find_device+0xf1/0x120 [ 91.292934] [81361a3c] ? pci_get_subsys+0x11c/0x1b0 [ 91.292934] [81361a3c] pci_get_subsys+0x11c/0x1b0 [ 91.292934] [81361afe] pci_get_device+0x2e/0x40 [ 91.292934] [81033e25] mach_reboot_fixups+0xa5/0xd0 [ 91.292934] [81027611] native_machine_emergency_restart+0x1f1/0x590 [ 91.292934] [814f2e00] ? printk+0x4b/0x5b [ 91.292934] [810269ef] native_machine_restart+0x6f/0x80 [ 91.292934] [810271cc] machine_restart+0x1c/0x30 [ 91.292934] [810886e0] kernel_restart+0x70/0xc0 [ 91.292934] [81088a85] sys_reboot+0x325/0x380 [ 91.292934] [811f796c] ? handle_pte_fault+0xdc/0x1740 [ 91.292934] [811f93e7] ? handle_mm_fault+0x417/0x4a0 [ 91.292934] [8103e07b] ? do_page_fault+0x7fb/0xb30 [ 91.292934] [810b33e7] ? up_read+0x37/0x70 [ 91.292934] [8103e07b] ? do_page_fault+0x7fb/0xb30 [ 91.292934] [8123c063] ? do_sys_open+0x3a3/0x3f0 [ 91.292934] [8123c063] ? do_sys_open+0x3a3/0x3f0 [ 91.292934] [810b0270] ? update_rmtp+0xe0/0xe0 [ 91.292934] [8150376e] ? restore_all+0xf/0xf [ 91.292934] [8103d880] ? vmalloc_sync_all+0x320/0x320 [ 91.292934] [81109fca] ? trace_hardirqs_on_caller+0x28a/0x380 [ 91.292934] [81311594] ? trace_hardirqs_on_thunk+0xc/0x10 [ 91.292934] [81503735] syscall_call+0x7/0xb Thanks, Fengguang -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
pci_get_subsys: GFP_KERNEL allocations with IRQs disabled
On Tue, Jul 31, 2012 at 05:18:11PM -0700, Paul E. McKenney wrote: > On Tue, Jul 31, 2012 at 08:09:38PM -0400, Steven Rostedt wrote: > > On Tue, 2012-07-31 at 16:57 -0700, Paul E. McKenney wrote: > > > > > > What was the next lines? I bet you it was "PASSED". Which means it did > > > > not fail. This is the second bug you found that has to do with RCU being > > > > called in 'idle'. The one that Paul posted a patch for. > > > > > > Though it needs another patch to actually use it in the right place... > > > > Right. Something like this: > > Looks good to me! With all 3 patches applied, the warning on __update_max_tr finally goes away. Thanks! However, this unrelated warning still reliably remains (the same config). I think it's pci_get_subsys() triggered this assert: /* * Oi! Can't be having __GFP_FS allocations with IRQs disabled. */ if (DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags))) return; [ 91.282131] machine restart [ 91.283895] [ cut here ] [ 91.284731] WARNING: at /c/wfg/linux/kernel/lockdep.c:2739 lockdep_trace_alloc+0x1fb/0x210() [ 91.286132] Modules linked in: [ 91.286703] Pid: 697, comm: reboot Not tainted 3.5.0-00024-g01ff5db-dirty #4 [ 91.287859] Call Trace: [ 91.288289] [<81050148>] warn_slowpath_common+0xb8/0x100 [ 91.289338] [<8110acdb>] ? lockdep_trace_alloc+0x1fb/0x210 [ 91.290264] [<8110acdb>] ? lockdep_trace_alloc+0x1fb/0x210 [ 91.291161] [<810501ce>] warn_slowpath_null+0x3e/0x50 [ 91.292042] [<8110acdb>] lockdep_trace_alloc+0x1fb/0x210 [ 91.292934] [<81228e25>] kmem_cache_alloc_trace+0x55/0x600 [ 91.292934] [<813025ca>] ? kobject_put+0x9a/0x160 [ 91.292934] [<814e95e0>] ? klist_iter_exit+0x30/0x50 [ 91.292934] [<81405881>] ? bus_find_device+0xf1/0x120 [ 91.292934] [<81361a3c>] ? pci_get_subsys+0x11c/0x1b0 [ 91.292934] [<81361a3c>] pci_get_subsys+0x11c/0x1b0 [ 91.292934] [<81361afe>] pci_get_device+0x2e/0x40 [ 91.292934] [<81033e25>] mach_reboot_fixups+0xa5/0xd0 [ 91.292934] [<81027611>] native_machine_emergency_restart+0x1f1/0x590 [ 91.292934] [<814f2e00>] ? printk+0x4b/0x5b [ 91.292934] [<810269ef>] native_machine_restart+0x6f/0x80 [ 91.292934] [<810271cc>] machine_restart+0x1c/0x30 [ 91.292934] [<810886e0>] kernel_restart+0x70/0xc0 [ 91.292934] [<81088a85>] sys_reboot+0x325/0x380 [ 91.292934] [<811f796c>] ? handle_pte_fault+0xdc/0x1740 [ 91.292934] [<811f93e7>] ? handle_mm_fault+0x417/0x4a0 [ 91.292934] [<8103e07b>] ? do_page_fault+0x7fb/0xb30 [ 91.292934] [<810b33e7>] ? up_read+0x37/0x70 [ 91.292934] [<8103e07b>] ? do_page_fault+0x7fb/0xb30 [ 91.292934] [<8123c063>] ? do_sys_open+0x3a3/0x3f0 [ 91.292934] [<8123c063>] ? do_sys_open+0x3a3/0x3f0 [ 91.292934] [<810b0270>] ? update_rmtp+0xe0/0xe0 [ 91.292934] [<8150376e>] ? restore_all+0xf/0xf [ 91.292934] [<8103d880>] ? vmalloc_sync_all+0x320/0x320 [ 91.292934] [<81109fca>] ? trace_hardirqs_on_caller+0x28a/0x380 [ 91.292934] [<81311594>] ? trace_hardirqs_on_thunk+0xc/0x10 [ 91.292934] [<81503735>] syscall_call+0x7/0xb Thanks, Fengguang -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
pci_get_subsys: GFP_KERNEL allocations with IRQs disabled
On Tue, Jul 31, 2012 at 05:18:11PM -0700, Paul E. McKenney wrote: On Tue, Jul 31, 2012 at 08:09:38PM -0400, Steven Rostedt wrote: On Tue, 2012-07-31 at 16:57 -0700, Paul E. McKenney wrote: What was the next lines? I bet you it was PASSED. Which means it did not fail. This is the second bug you found that has to do with RCU being called in 'idle'. The one that Paul posted a patch for. Though it needs another patch to actually use it in the right place... Right. Something like this: Looks good to me! With all 3 patches applied, the warning on __update_max_tr finally goes away. Thanks! However, this unrelated warning still reliably remains (the same config). I think it's pci_get_subsys() triggered this assert: /* * Oi! Can't be having __GFP_FS allocations with IRQs disabled. */ if (DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags))) return; [ 91.282131] machine restart [ 91.283895] [ cut here ] [ 91.284731] WARNING: at /c/wfg/linux/kernel/lockdep.c:2739 lockdep_trace_alloc+0x1fb/0x210() [ 91.286132] Modules linked in: [ 91.286703] Pid: 697, comm: reboot Not tainted 3.5.0-00024-g01ff5db-dirty #4 [ 91.287859] Call Trace: [ 91.288289] [81050148] warn_slowpath_common+0xb8/0x100 [ 91.289338] [8110acdb] ? lockdep_trace_alloc+0x1fb/0x210 [ 91.290264] [8110acdb] ? lockdep_trace_alloc+0x1fb/0x210 [ 91.291161] [810501ce] warn_slowpath_null+0x3e/0x50 [ 91.292042] [8110acdb] lockdep_trace_alloc+0x1fb/0x210 [ 91.292934] [81228e25] kmem_cache_alloc_trace+0x55/0x600 [ 91.292934] [813025ca] ? kobject_put+0x9a/0x160 [ 91.292934] [814e95e0] ? klist_iter_exit+0x30/0x50 [ 91.292934] [81405881] ? bus_find_device+0xf1/0x120 [ 91.292934] [81361a3c] ? pci_get_subsys+0x11c/0x1b0 [ 91.292934] [81361a3c] pci_get_subsys+0x11c/0x1b0 [ 91.292934] [81361afe] pci_get_device+0x2e/0x40 [ 91.292934] [81033e25] mach_reboot_fixups+0xa5/0xd0 [ 91.292934] [81027611] native_machine_emergency_restart+0x1f1/0x590 [ 91.292934] [814f2e00] ? printk+0x4b/0x5b [ 91.292934] [810269ef] native_machine_restart+0x6f/0x80 [ 91.292934] [810271cc] machine_restart+0x1c/0x30 [ 91.292934] [810886e0] kernel_restart+0x70/0xc0 [ 91.292934] [81088a85] sys_reboot+0x325/0x380 [ 91.292934] [811f796c] ? handle_pte_fault+0xdc/0x1740 [ 91.292934] [811f93e7] ? handle_mm_fault+0x417/0x4a0 [ 91.292934] [8103e07b] ? do_page_fault+0x7fb/0xb30 [ 91.292934] [810b33e7] ? up_read+0x37/0x70 [ 91.292934] [8103e07b] ? do_page_fault+0x7fb/0xb30 [ 91.292934] [8123c063] ? do_sys_open+0x3a3/0x3f0 [ 91.292934] [8123c063] ? do_sys_open+0x3a3/0x3f0 [ 91.292934] [810b0270] ? update_rmtp+0xe0/0xe0 [ 91.292934] [8150376e] ? restore_all+0xf/0xf [ 91.292934] [8103d880] ? vmalloc_sync_all+0x320/0x320 [ 91.292934] [81109fca] ? trace_hardirqs_on_caller+0x28a/0x380 [ 91.292934] [81311594] ? trace_hardirqs_on_thunk+0xc/0x10 [ 91.292934] [81503735] syscall_call+0x7/0xb Thanks, Fengguang -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/