From: Stanislaw Gruszka <sgruszka@redhat.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: David Vrabel <david.vrabel@citrix.com>,
xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
boris.ostrovsky@oracle.com
Subject: Re: [PATCH] Revert "xen/acpi-processor: fix enabling interrupts on syscore_resume"
Date: Tue, 30 Sep 2014 14:08:06 +0200 [thread overview]
Message-ID: <20140930120805.GA4153@redhat.com> (raw)
In-Reply-To: <20140929175517.GA5000@laptop.dumpdata.com>
On Mon, Sep 29, 2014 at 01:55:17PM -0400, Konrad Rzeszutek Wilk wrote:
> On Mon, Sep 29, 2014 at 03:56:14PM +0100, David Vrabel wrote:
> > On 29/09/14 15:51, Konrad Rzeszutek Wilk wrote:
> > > This reverts commit cd979883b9ede90643e019f33cb317933eb867b4.
> > >
> > > As it actually never gets called on the initial domain when
> > > resuming. That is after we suspend and go in resume, the
> > > do_suspend (from manage.c) is never called (it is if it
> > > was running as a guest)- so the 'resume' functionality of the driver
> > > was never called.
> > >
> > > Which means that this whole patch was pointless (well, it did
> > > remove the WARNING splat).
> > >
> > > This patch reverts the patch and allows the C and P states to
> > > be uploaded to the hypervisor on ACPI S3 resume of the
> > > initial domain. It sadly brings back the WARNING splat which
> > > will have to be dealt with at some point.
> >
> > Incorrectly enabling interrupts in contexts where this is not permitted
> > is not just harmless "WARNING splat".
> >
> > This has been broken since 3.15-rc1 without anyone else noticing so I
> > think we can afford to take a bit more time and fix the original bug
> > properly.
>
> This patch should be a good start to discussing the fix.
>
> From 3544815f7c44508e2c9a0c55caf4a32cc8283685 Mon Sep 17 00:00:00 2001
> From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Date: Mon, 29 Sep 2014 13:48:57 -0400
> Subject: [PATCH] xen-acpi-processor: Use spinlock and GFP_ATOMIC to deal with
> resume
>
> hitting the IRQs being enabled during resume.
>
> WARNING: CPU: 0 PID: 6733 at drivers/base/syscore.c:104 syscore_resume+0x9a/0xe0()
> Interrupts enabled after xen_acpi_processor_resume+0x0/0x34 [xen_acpi_processor]
>
> Call Trace:
> [<ffffffff81667a8b>] dump_stack+0x45/0x56
> [<ffffffff8106921d>] warn_slowpath_common+0x7d/0xa0
> [<ffffffff8106928c>] warn_slowpath_fmt+0x4c/0x50
> [<ffffffffa0261bb0>] ? xen_upload_processor_pm_data+0x300/0x300 [xen_acpi_processor]
> [<ffffffff814055fa>] syscore_resume+0x9a/0xe0
> [<ffffffff810aef42>] suspend_devices_and_enter+0x402/0x470
> [<ffffffff810af128>] pm_suspend+0x178/0x260
>
> Converting the mutex to a spinlock and all of the GPF_KERNEL
> to GFP_ATOMIC take care of that.
This is not enough to make xen_upload_processor_pm_data() run in atomic
context. Via check_acpi_ids() it call acpi_walk_namespace() and
acpi_walk_namespace(), which are internal ACPICA functions that
take internal ACPICA mutexes.
Stanislaw
next prev parent reply other threads:[~2014-09-30 12:10 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-29 14:51 [PATCH] Revert "xen/acpi-processor: fix enabling interrupts on syscore_resume" Konrad Rzeszutek Wilk
2014-09-29 14:56 ` David Vrabel
2014-09-29 15:07 ` Konrad Rzeszutek Wilk
2014-09-29 15:07 ` Konrad Rzeszutek Wilk
2014-09-29 16:46 ` David Vrabel
2014-09-29 16:46 ` David Vrabel
2014-09-29 17:55 ` Konrad Rzeszutek Wilk
2014-09-29 18:06 ` David Vrabel
2014-09-29 18:06 ` David Vrabel
2014-09-30 12:08 ` Stanislaw Gruszka [this message]
2014-09-30 12:08 ` Stanislaw Gruszka
2014-09-29 17:55 ` Konrad Rzeszutek Wilk
2014-09-29 14:56 ` David Vrabel
-- strict thread matches above, loose matches on Subject: below --
2014-09-29 14:51 Konrad Rzeszutek Wilk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140930120805.GA4153@redhat.com \
--to=sgruszka@redhat.com \
--cc=boris.ostrovsky@oracle.com \
--cc=david.vrabel@citrix.com \
--cc=konrad.wilk@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.