[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140131140451.GB7648@redhat.com>
Date: Fri, 31 Jan 2014 15:04:51 +0100
From: Stanislaw Gruszka <sgruszka@...hat.com>
To: David Rientjes <rientjes@...gle.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>,
boris.ostrovsky@...cle.com, david.vrabel@...rix.com,
Ben Guthro <benjamin.guthro@...rix.com>,
linux-kernel@...r.kernel.org,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
xen-devel@...ts.xensource.com
Subject: Re: [BUG?] Interrupts enabled after
xen_acpi_processor_resume+0x0/0x34 [xen_acpi_processor]
On Wed, Jan 29, 2014 at 09:25:21AM +0100, Stanislaw Gruszka wrote:
> > Looks incomplete, what about the kzalloc() in
> > xen_upload_processor_pm_data() and kcalloc()s in check_acpi_ids()?
>
> Indeed and additionally from check_acpi_ids() we call
> acpi_walk_namespace(), which also take mutexes. Hence unfortunately
> making xen_upload_processor_pm_data() atomic is not easy, but possibly
> can be done by saving some data in memory after initialization.
>
> Or perhaps this problem can be solved differently, by not using
> yscore_ops->resume(), but some other resume callback from core, which
> allow to sleep. Than can require registering dummy device or sysfs
> class, but maybe there are simpler solutions.
Eventually work_struct could be used and scheduled from ->resume()
callback, if there is no dependency between uploading processor PM
data to hypervisor and other actions performed after
syscore_ops->resume();
Thanks
Stanislaw
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists