[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Xen PVH support
On Sat, 2 May 2020 at 17:56, Manuel Bouyer <bouyer%antioche.eu.org@localhost> wrote:
> I just commited Xen PVH support to -current.
> The PVH mode was introduced by Xen as a way to take advantage of hardware
> virtualisation features, without the cost of HVM and its qemu process
> in the dom0.
> Xen PVH uses only PV drivers for I/O, in the same way the old PV mode does.
> But, unlike PV, PVH uses native CPU and page table management operations.
> Because PVH is much closer to native hardware, the PVH support is in
> GENERIC and not in the XEN3_DOMU kernel.
> Note that on amd64, SVS is enabled by default and can be quite slow if
> your hardware doens't have the EPT extension. I've not tested it with
> a EPT-capable CPU yet.
My XCP-NG CPU is Xeon(R) CPU E31245, which apparently has VT-x, VT-d and EPT.
> SVS can be disabled at boot time with '-3' on the kernel boot arguments
> (extra="-3" in the config file).
I have no idea what is this.
> To use PVH, add
> type = "pvh"
> to your domU config file, and change the kernel= line to point to
> a GENERIC kernel.
I can say I did some reasonable testing of this under XCP-NG v.8.1.
The best way to do it in my experience is to create the VM using the
usual "Other Install Media" template and switch the boot mode to EFI.
Perform usual installation from the ISO file on a GPT-partitioned
virtual disk; at this moment the machine is still in HVM mode and you
don't see the xen devices. After the installation remount the
targetroot and adjust the network interface definitions in
/etc/rc.conf - from wm0 or re0 to xennet0 etc., plus the requisite
/etc/ifconfig.xennet0 (autoselect for xennet was giving me errors, so
I took it off). Shutdown the vm and change its platform:viridian
parameter to false, e.g.
# xe vm-param-set uuid=8a13d3cd-a3cb-af55-e119-4a54c556930a
(Alternatively one could change the value before booting from the cd
for installation, but I haven't tested this).
Iperf3 results are indeed best with xennet0; it gives me around
300mb/s on average; with the (100mb/s) re0 I get just under the
expected speed, but if I use the 1000mb/s wm0 emulation, I get no more
than 40mb/s. The result for xennet0 is still far off the xn0
performance under FreeBSD, which comes at wire speeds, though.
I ran the full atf tests on yesterday's -current and got pretty
reasonable results (some 14 unexpected failures I think). However, on
a system from three days ago I tried to build release after I switched
it to platform:viridian->false; perhaps some half an hour after the
start the VM simply resets and reboots, with no trace of a reason in
the log files of the VM or the XCP-NG host; this was repeatable,
ddb.onpanic=1 didn't get me a prompt.
It's no longer necessary to unconfigure the cd-rom when switching to PVHVM.
X used to work on the system from two days ago (but I could not figure
out the mouse - it was moving erraticaly); now with this version it
genfb0 at pci0 dev 2 function 0: Cirrus Logic CL-GD5446 (rev. 0x00)
genfb0: framebuffer at 0xf0000000, size 1024x768, depth 24, stride 3072
genfb0: shadow framebuffer enabled, size 2304 KB
wsdisplay0 at genfb0 kbdmux 1: console (default, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
drm at genfb0 not configured
is recognised, but then I get
[ 37897.824] (WW) Falling back to old probe method for cirrus
[ 37897.824] (--) Chipset CLGD5446 found
[ 37897.824] (EE) cirrus: The PCI device 0xb8 at 00@00:02:0 has a
kernel module claiming it.
[ 37897.824] (EE) cirrus: This driver cannot operate until it has been unloaded.
[ 37897.824] Number of created screens does not match number of
On an earlier version of this integration (from 28th of April, prior
to the merge) Xorg -configure was specifying the 'modesetting' driver,
which didn't work; replacing it with 'wsfb' results in a wiorking
configuration (still with the problem with the mouse).
> Manuel Bouyer <bouyer%antioche.eu.org@localhost>
> NetBSD: 26 ans d'experience feront toujours la difference
Main Index |
Thread Index |