Messages in this thread | | | Date | Wed, 02 May 2012 15:20:15 +0800 | From | Jiang Liu <> | Subject | Re: [PATCH v2 04/19] PCI: serialize hotplug operations triggered by PCI hotplug sysfs interfaces |
| |
On 2012-5-2 13:06, Greg KH wrote: > On Fri, Apr 27, 2012 at 11:16:45PM +0800, Jiang Liu wrote: >> + /* Avoid deadlock with pci_hp_deregister() */ >> + while (!pci_hotplug_try_enter()) { >> + /* Check whether the slot has been deregistered. */ >> + if (list_empty(&slot->slot_list)) { >> + retval = -ENODEV; >> + goto exit_put; >> + } >> + msleep(1); >> + } > > Oh my. > > Wow. > > {sigh} > > ick. > > My eyes hurt. > > And your cpu load just went crazy. > > You can now handle all of the nasty emails from sysadmins asking why > their systems look like their load is high for no good reason. My bad, should use schedule_timeout_interruptible() instead of msleep(1) here to avoid busy waiting.
> > Not to mention all of the other issues here. > > My statement about not inventing new lock types has now been proven > true. > > The fact that this would even be a chunk of code that was proposed to be > merged makes me weep. > > You owe me a bottle of whatever you are drinking if you expect me to > continue to review these patch submissions. > > I'm stopping here in the series, please rework this whole thing in a > major way. > > greg k-h > >
| |