On Mon June 6 2016, 07:14:26 PM, Julien Grall wrote:
> (CC Stefano)
>
> Hello,
>
> On 05/06/16 20:07, jim burns wrote:
> > On Sat June 4 2016, 09:41:51 PM, jim burns wrote:
> > > On Fri June 3 2016, 09:39:54 PM, jim burns wrote:
> > > > Pls cc: me in any replies.
> > > >
> > > > On Sat May 21 2016, 11:41:27 PM, jim burns wrote:
> > > > > For kernels 3.19 - 4.2, the system won't boot into xen at all. In
> > > > > all cases,bare metal boots work fine.
> > > > >
> > > > > For kernels 4.3 - 4.6, and 4.7-rc, it gets more interesting, and I
> > > > > am able to provide a log (for 4.6). The system refuses to
> > > > > initialize my hard disk, and I am dumped into a rescue shell. I
> > > > > was able to initialze the network, and mount my Windows machine
> > > > > over cifs, so I could xfer the logs.
> > > > >
> > > > > I've played quite a bit with dracut's {add,force}_drivers+= parms,
> > > > > and the files in /usr/lib/modules-load.d, and currently load the
> > > > > following kernel modules, in the following order, to no effect. (I
> > > > > also don't remember the xen version for the last 4 years changing
> > > > > any of my results - 4.2 - 4.6.) [snip]
> > > >
> > > > Huh! I just installed kernel 4.5.6 today, and for the first time
> > > > since 3.18, I can boot into xen! Still can't boot into 4.5.5, or
> > > > 4.6.0, and the config files for 4.5.5 & 4.5.6 are identical, so I
> > > > don't know what's changed. I won't be losing the 4.5.6 rpms any time
> > > > soon!
> > >
> > > Just installed 4.7rc1 today, and it boots into xen also (on my old
> > > machine). Haven't seen a version of 4.6 that will yet. I would love to
> > > know what changed in 4.7 (and possibly later 4.6 development) that
> > > probably was back ported between 4.5.5 and 4.5.6 that lets the latter
> > > boot into xen also.
> >
> > Hmm, according to the kernel changelog for 4.5.6 -
> >
> > https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.5.6
> >
> > The only xen related patch was:
> >
> > commit f21a3ff053d11bd9442b6ae7f51503bc5b373feb
> > Author: Stefano Stabellini <sstabellini@xxxxxxxxxx
> > Date: Wed Apr 20 14:15:01 2016 +0100
> >
> > xen/x86: actually allocate legacy interrupts on PV guests
> >
> > commit 702f926067d2a4b28c10a3c41a1172dd62d9e735 upstream.
> >
> > b4ff8389ed14 is incomplete: relies on nr_legacy_irqs() to get the number
> > of legacy interrupts when actually nr_legacy_irqs() returns 0 after
> > probe_8259A(). Use NR_IRQS_LEGACY instead.
> >
> > Signed-off-by: Stefano Stabellini <sstabellini@xxxxxxxxxx
> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> >
> > Since 4.5.5 and less, and 4.6.0 don't work for me, and this same patch
> > shows up in the changelog for 4.6.1, if kernel 4.6.1 works for me, it may
> > have to do with this patch.
>
> Have you tried to revert this patch and see if it works?
>
> Regards,
>
> --
> Julien Grall
Thanx for the interest. Unfortunately, as stated, this is an old computer, and takes 1 1/2 hrs to compile the kernel at runlevel 3. Re-compiles would not be my first choice for the use of my time!
I noticed that 4.4.12 also has Stefano's patch, and I installed it today, and lo and behold, it works (where 4.4.9 didn't). So - preponderance of the evidence? I'm waiting for Fedora to supply rpms for 4.6.1 or higher to cinch it (since 4.6.1 also has Stefano's patch).
BTW, I've noticed that xen MSI init tends to cluster at the beginning of dmesg, instead of being spread out as was the previous norm. Is this a side effect of Stefano's patch?:
[ 0.000000] Using NULL legacy PIC [ 0.000000] NR_IRQS:65792 nr_irqs:440 0 [ 0.000000] xen:events: Using FIFO-based ABI [ 0.000000] xen: --> pirq=1 -> irq=1 (gsi=1) [ 0.000000] xen: --> pirq=2 -> irq=2 (gsi=2) [ 0.000000] xen: --> pirq=3 -> irq=3 (gsi=3) [ 0.000000] xen: --> pirq=4 -> irq=4 (gsi=4) [ 0.000000] xen: --> pirq=5 -> irq=5 (gsi=5) [ 0.000000] xen: --> pirq=6 -> irq=6 (gsi=6) [ 0.000000] xen: --> pirq=7 -> irq=7 (gsi=7) [ 0.000000] xen: --> pirq=8 -> irq=8 (gsi=8) [ 0.000000] xen: --> pirq=9 -> irq=9 (gsi=9) [ 0.000000] xen: --> pirq=10 -> irq=10 (gsi=10) [ 0.000000] xen: --> pirq=11 -> irq=11 (gsi=11) [ 0.000000] xen: --> pirq=12 -> irq=12 (gsi=12) [ 0.000000] xen: --> pirq=13 -> irq=13 (gsi=13) [ 0.000000] xen: --> pirq=14 -> irq=14 (gsi=14) [ 0.000000] xen: --> pirq=15 -> irq=15 (gsi=15) [ 0.000000] Offload RCU callbacks from all CPUs [ 0.000000] Offload RCU callbacks from CPUs: 0-1. |