@redakula
Well, this was unfortunately one of the potential outcome. Unfortunately we don't have the hardware to make more "in deep" debug. I will talk to Marek next week (on Xen Summit) about this patch series and if we could expect it eventually fix the issue with Coral TPU.
Will keep you posted.
Posts
-
RE: Coral TPU PCI Passthrough
-
RE: XCP-ng 8.2.1 crash
Hello, both issues seem to be related to memory corruption.
- The first trace is an #NMI exception (one of the causes can be a parity error detected by the HW). Moreover, CPU#12 gets the #MC(machine check) exception. The #MC is triggered by the HW to notify the system software that there's an unrecoverable issue with the HW.
- The second one is the invalid opcode in the Xen Hypervisor context. So it means that either the instruction flow is corrupted, or the instruction pointer is corrupted.
My hypothesis is:
In the first case - the ECC memory error is detected (and reported by HW) which makes the hypervisor panic and stop
In the second case - the memory error is not detected (but the memory is still corrupted) but at some point, this corruption provokes the same result on the Xen hypervisor.
Can you look with Hetzner guys if there's a way to change memory modules?
The other way to validate this hypothesis is to install a different system software (another OS/hypervisor, another version of hypervisor) and see if you experience the same issue.
You can also add on Xen command line "ler=true" option. This can give us more traces (leveraged by HW) to check if there's nothing abnormal on software level. I'll probably will need your Xen image with its symbole table (xen-syms-XXX and xen-syms-XXX.map)
-
RE: XCP-ng 8.3 public alpha 🚀
@ashceryth XCP-ng is based on Xen 4.13, so I'm quite sure it doesn't handle Intel Hybrid architecture. I'm not even sure there's ongoing efforts on this support in Xen Project Community.
Moreover, after a very quick check, I didn't see the trace of ARM big.LITTLE support in recent XEN.
I think this kind of features needs the profound analysis how exactly is to be mapped on hypervisor based platforms. And I think the response is not obvious at all.
-
RE: Coral TPU PCI Passthrough
@redakula Hello, unfortunately these patches are not in 4.17 Xen (and was never integrated in more recent Xen). So, to test it, you have to manually apply patches (normally should apply as is to 4.17) and rebuild your Xen.
-
RE: Google Coral TPU PCIe Passthrough Woes
@jjgg Thank you. Yes the same problem - ept violation.. Look, I'll try to figure out what we can do here. There's a patch that comes from Qubes OS guys that normally shold fix the MSI-x PBA issue (not sure that this is the good fix, but still... worth trying) This patch applies on recent Xen and wasn't accepted yet. I will take a look if it can be easily backported to XCP-ng Xen and come back to you.
-
RE: PCI Passthrough of Nvidia GPU and USB add-on card
Yes. Some of the PCI capabilities are beyond the "standard" PCI configuration space of 256 bytes per BDF (PCI device). And unfortunatly the "enhanced" configuration access method is not provided yet (it's ongoing work) for HVM guests by XEN. It would require from QEMU (xen related part) the chipset emulation which offers an access to such method, such as Q35.
Very probably, windows drivers for these devices are not happy to not access these fields, so this is potentially the reason of malfunctionning for these devices.
The good way to confirm this would be to try to passthrough these devices to Linux guests, so we could possibly add some extended traces. And possibly passthrough these devices to PVH Linux guest and see how they are handled (PVH guest do not use QEMU for PCI bus emulation)
-
RE: Coral TPU PCI Passthrough
Hello, sorry for late response (just discovered the topic)
With regards of Marek patches, I'm actually think it can worth a try (at least the patch seems to treat the problem where MSI-x PBA page is shared with other regs of the device), but there's some cons too:
- the patches are quite new (doesn't seems to be integrated yet).
- the patches can be applied to more recent Xen (not XCP-ng Xen), and even we could probably backport them, it potentially will require some significant work
- we are not 100% sure it's the issue (or the only issue)
So If this is a must have, we can go and do some digging to make it work (but still in the scope of "exeperimental" platform, not the production platform)
-
RE: Windows Server 2019 sporadic reboot
Hello @phipra,
Sorry for late response (didn't see this earlier)Well, this is the tricky one.
The triple fault could normally be two things:
- heavy memory corruption (the IDT was corrupted)
- the normal reboot (if ACPI reboot is not available)
My question is - can this Windows reboot be a planified Windows reboot (for example related with Windows update mechanism, or something like that ....)?
It can be obviously be a memory corruption (and possibly done by citrix-vm-tools drivers), but it'll be VERY hard to debug this from a memory dump (and actually AFAIK xen doesn't provide a guest memory dump).
My suggestions would be - try to enable/disable some Windows Services (disable the Update?) to see if there's some changes.
Sorry for this very poor insight, but this is related to my rather poor knowledge about Windows OS.
-
RE: Google Coral TPU PCIe Passthrough Woes
Hello @exime,
Here we have the EPT violation (write access to the r-x page) at 0x3fff2046. This address is tagged as an MMIO address, so very probably belongs to the device you're trying to passthrough.
Normally this has nothing to do with the 0x46xxx range (where MSI-X caps are pointing)? But the fact that there's some hacking in there make me think that Google engs also did some hacking all the place around.
Can you please while starting a native guest (or in dom0 before the passthrough) give a PCI dump for your device
lspci -vvv -s $YOUR_DEV_BDF
YOUR_DEV_BDF is your device PCI id (ex: 00:1:0)
-
RE: XCP-ng 8.2.1 crash
Hmm, in the bugzilla thread the guys talk about adjusting SoC voltage and updating the BIOS. It still seems to me to be a HW problem... I will look through the whole thread and I will do some research about possible workarounds in newer Linux kernels for 5000 series ryzen.