[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Fri, 7 Jul 2017 16:51:10 +0200
From: Juergen Gross <jgross@...e.com>
To: jeffy.chen@...k-chips.com,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Cc: xen-devel <xen-devel@...ts.xenproject.org>,
Thomas Gleixner <tglx@...utronix.de>,
Boris Ostrovsky <boris.ostrovsky@...cle.com>,
Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
Subject: Problem with commit bf22ff45bed664aefb5c4e43029057a199b7070c
Commit bf22ff45bed664aefb5c4e43029057a199b7070c ("genirq: Avoid
unnecessary low level irq function calls") breaks Xen guest
save/restore handling.
The main problem are the PV devices using Xen event channels as
interrupt sources which are represented as an "irq chip" in the kernel.
When saving the guest the event channels are masked internally. At
restore time event channels are re-established and unmasked via
irq_startup(). Unfortunately above commit will let the unmask operation
be a nop as the irq handling doesn't know about the masking done before.
I have a patch repairing the issue, but I'm not sure if this way to do
it would be accepted. I have exported mask_irq() and I'm doing the
masking now through this function. Would the attached patch be
acceptable? Or is there a better way to solve the problem?
Juergen
View attachment "mask.patch" of type "text/x-patch" (2130 bytes)
Powered by blists - more mailing lists