Messages in this thread | | | Date | Fri, 7 Jul 2017 18:41:32 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: Problem with commit bf22ff45bed664aefb5c4e43029057a199b7070c |
| |
On Fri, 7 Jul 2017, Juergen Gross wrote:
> 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.
Rightfully so. Making assumptions about the inner workings of core code is always wrong.
> 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?
Without looking at the patch (too lazy to fiddle with attachments right now), this is definitely wrong. I'll have a look later tonight.
Thanks,
tglx
| |