From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>,
x86@kernel.org, Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
Jiang Liu <jiang.liu@linux.intel.com>,
"K. Y. Srinivasan" <kys@microsoft.com>,
linux-kernel@vger.kernel.org, konrad.wilk@oracle.com,
david.vrabel@citrix.com, jgross@suse.com,
"Luis R. Rodriguez" <mcgrof@kernel.org>
Subject: Re: Xen regression, Was: [PATCH] x86/irq: Probe for PIC presence before allocating descs for legacy IRQs
Date: Thu, 14 Apr 2016 08:45:19 -0400 [thread overview]
Message-ID: <570F90DF.1020508@oracle.com> (raw)
In-Reply-To: <alpine.DEB.2.10.1604131537070.23347@sstabellini-ThinkPad-X260>
On 04/13/2016 06:38 PM, Stefano Stabellini wrote:
>
> On Wed, 13 Apr 2016, Boris Ostrovsky wrote:
>
>> On 04/13/2016 01:36 PM, Boris Ostrovsky wrote:
>>> On 04/12/2016 09:27 PM, Boris Ostrovsky wrote:
>>>> On 04/12/2016 07:15 PM, Stefano Stabellini wrote:
>>>>> On Tue, 12 Apr 2016, Boris Ostrovsky wrote:
>>>>>> On 04/12/2016 05:56 PM, Stefano Stabellini wrote:
>>>>>>> I am not sure, maybe you didn't have CONFIG_SPARSE_IRQ?
>>>>>>> But I am certain that 4.6-rc2, with the attached config, fails as
>>>>>>> Dom0
>>>>>>> on QEMU with the following sequence of calls:
>>>>>> I did have CONFIG_SPARSE_IRQ and I just rebuilt 4.5.0 with your config
>>>>>> (4.6-rc3 doesn't build for me for some reason) and that booted dom0 as
>>>>>> well.
>>>>>>
>>>>>> BTW, what do you mean by "dom0 on QEMU"?
>>>>> I am running Xen and Linux inside a QEMU x86_64 emulated machine
>>>>> (nested
>>>>> virt).
>>>> This I, of course, never tried.
>>>>
>>>> But given that things work in a single-level virt, doesn't this imply that
>>>> perhaps there is something in the emulation that's not quite right?
>>> OK, so this *is* broken on single level virt as well. It's just that we
>>> always end up using AHCI so lack of irq 14 (and 15) does not affect the
>>> system. And I guess in QEMU case it's IDE only, right?
>>>
>>> You patch does fix this but I wonder if we could change something in
>>> probe_8259A() so that we can continue using nr_legacy_irqs(). Using
>>> nr_legacy_irqs() and NR_IRQS_LEGACY at the same time is inconsistent and may
>>> cause us headaches in the future.
>>>
>> I think we could use paravirt_has() feature that was added for similar reason
>> when we had a problem with RTC (commit
>> d8c98a1d1488747625ad6044d423406e17e99b7a). So we add paravirt_has(PIC) which
>> will only be set by dom0 and then probe_8259A() will not set legacy_pic to
>> null_legacy_pic when this flag is set.
> Maybe we could introduce a legacy_pic_xen in arch/x86/kernel/i8259.c or
> arch/x86/xen/enlighten.c? We could set legacy_pic = legacy_pic_xen from
> start_kernel, so that we can skip probe_8259A completely.
Something like
legacy_pic_xen = null_legacy_pic;
legacy_pic_xen.nr_legacy_irqs = NR_IRQS_LEGACY;
legacy_pic = legacy_pic_xen;
?
>
>
>> Note that paravirt_has() is being removed by
>> http://lists.xenproject.org/archives/html/xen-devel/2016-04/msg01415.html so
>> presumably we'd use new struct x86_legacy_features instead (copying Luis so
>> that if this is acceptable he could add it to his next spin).
> I would prefer to come up with a fix that is backportable to 4.3, 4.4
> and 4.5.
I think once the series above makes it to mainline x86_legacy_features
would be the way to go --- that's what it is created for. Given that we
are almost at rc4 I assume that would be 4.7.
Using paravirt_has() now will create merge headaches so it's probably
not a good idea. We can either use your original patch or do what you
suggested with legacy_pic_xen (both of which are backportable) and then
switch to x86_legacy_features once it shows up in the tree.
-boris
next prev parent reply other threads:[~2016-04-14 12:45 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-02 13:24 Vitaly Kuznetsov
2015-11-02 19:09 ` Thomas Gleixner
2016-04-12 2:08 ` Xen regression, Was: " Stefano Stabellini
2016-04-12 8:37 ` Vitaly Kuznetsov
2016-04-12 13:22 ` Boris Ostrovsky
2016-04-12 18:06 ` Stefano Stabellini
2016-04-12 19:02 ` Boris Ostrovsky
2016-04-12 21:14 ` Stefano Stabellini
2016-04-12 21:34 ` Boris Ostrovsky
2016-04-12 21:56 ` Stefano Stabellini
2016-04-12 22:33 ` Boris Ostrovsky
2016-04-12 23:15 ` Stefano Stabellini
2016-04-13 1:27 ` Boris Ostrovsky
2016-04-13 17:36 ` Boris Ostrovsky
2016-04-13 19:10 ` Boris Ostrovsky
2016-04-13 22:28 ` Luis R. Rodriguez
2016-04-13 22:38 ` Stefano Stabellini
2016-04-14 12:45 ` Boris Ostrovsky [this message]
2016-04-14 13:45 ` David Vrabel
2016-04-14 14:46 ` Boris Ostrovsky
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=570F90DF.1020508@oracle.com \
--to=boris.ostrovsky@oracle.com \
--cc=david.vrabel@citrix.com \
--cc=hpa@zytor.com \
--cc=jgross@suse.com \
--cc=jiang.liu@linux.intel.com \
--cc=konrad.wilk@oracle.com \
--cc=kys@microsoft.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mcgrof@kernel.org \
--cc=mingo@redhat.com \
--cc=sstabellini@kernel.org \
--cc=tglx@linutronix.de \
--cc=vkuznets@redhat.com \
--cc=x86@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome