WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-users

Re: [Xen-users] Xen - Linux PV on HVM drivers

To: Alex <alex@xxxxxxxxxx>
Subject: Re: [Xen-users] Xen - Linux PV on HVM drivers
From: "Fajar A. Nugraha" <list@xxxxxxxxx>
Date: Tue, 21 Jun 2011 14:28:12 +0700
Cc: xen-users@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 21 Jun 2011 00:29:25 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <9e84b4bbafd783f260d1ad5eb936bab7@xxxxxxxxxx>
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
References: <9e84b4bbafd783f260d1ad5eb936bab7@xxxxxxxxxx>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
On Tue, Jun 21, 2011 at 1:37 PM, Alex <alex@xxxxxxxxxx> wrote:
> Hi Guys,
>
> Is there a way to get Xen PV-on-HVM drivers for Linux HVM guests working on
> ubuntu server 11.04 x86_64?

It works. Sort of.

> I am using Ubuntu server on my Xen HVM VPS. It would be nice to use the PV
> drivers for HVM to take advantage of performance improvements.
>
> I am running a custom kernel 2.6.39.1 and have enabled Xen support in the
> kernel (under "Processor type and features" -> "Paravirtualized guest
> support" -> "Xen guest support"
>
> However it appears this is not working, it's not using the PV-on-HVM drivers
> (still using the QEMU detected stuff).
>
> Quote:
> ------
> root@srv:/usr/src/linux# dmesg | grep -i xen
>
> Linux version 2.6.39.1-customserver-xen (root@xxxxxxxxxxxxxxxx) (gcc version
> 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ) #1 SMP PREEMPT Sun Jun 19 16:41:16
> EST 2011
> DMI: Xen HVM domU, BIOS 3.4.3 01/22/2011
> ACPI: RSDP 00000000000ea020 00024 (v02 Xen)
> ACPI: XSDT 00000000fc006060 00034 (v01 Xen HVM 00000000 HVML 00000000)
> ACPI: FACP 00000000fc005ee0 000F4 (v04 Xen HVM 00000000 HVML 00000000)
> ACPI: DSDT 00000000fc002c40 0321F (v02 Xen HVM 00000000 INTL 20090220)
> ACPI: APIC 00000000fc005fe0 00080 (v02 Xen HVM 00000000 HVML 00000000)
> XENFS: not registering filesystem on non-xen platform

The trick is you need to make sure that xen-platform-pci is loaded
BEFORE xen-blkfront loaded. This makes natty's linux-image-virtual
unusable for PVonHVM since xen-blkfront is compiled in, while
xen-platform-pci is compiled as module. Using linux-image-server, and
adding these entrie, make it work:

# cat /etc/initramfs-tools/modules
xen-platform-pci
xen-blkfront

Here's the result:

# dmesg | egrep -i "xen|blkfront"
[    0.000000] DMI: Xen HVM domU, BIOS 4.0.1-1.pv_ops.el5 01/13/2011
[    0.000000] Hypervisor detected: Xen HVM
[    0.000000] Xen version 4.0.
[    0.000000] Xen Platform PCI: I/O protocol version 1
[    0.000000] Netfront and the Xen platform PCI driver have been
compiled for this kernel: unplug emulated NICs.
[    0.000000] Blkfront and the Xen platform PCI driver have been
compiled for this kernel: unplug emulated disks.
[    0.000000] ACPI: RSDP 00000000000ea020 00024 (v02    Xen)
[    0.000000] ACPI: XSDT 00000000fc012cb0 00034 (v01    Xen      HVM
00000000 HVML 00000000)
[    0.000000] ACPI: FACP 00000000fc012ad0 000F4 (v04    Xen      HVM
00000000 HVML 00000000)
[    0.000000] ACPI: DSDT 00000000fc002c40 0FE0B (v02    Xen      HVM
00000000 INTL 20090123)
[    0.000000] ACPI: APIC 00000000fc012bd0 000D8 (v02    Xen      HVM
00000000 HVML 00000000)
[    0.000000] Booting paravirtualized kernel on Xen
[    0.000000] Xen HVM callback vector for event delivery is enabled
[    0.210018] Xen: using vcpuop timer interface
[    0.210029] installing Xen timer for CPU 0
[    0.020000] installing Xen timer for CPU 1
[    0.020000] installing Xen timer for CPU 2
[    0.020000] installing Xen timer for CPU 3
[    0.020000] installing Xen timer for CPU 4
[    0.020000] installing Xen timer for CPU 5
[    1.526585] Switching to clocksource xen
[    4.861230] xen-platform-pci 0000:00:03.0: PCI INT A -> GSI 28
(level, low) -> IRQ 28
[    5.006193] blkfront device/vbd/51712 num-ring-pages 1 nr_ents 32.
[    5.013080] blkfront: xvda: barriers enabled
[    5.038129] blkfront device/vbd/51728 num-ring-pages 1 nr_ents 32.
[    5.075300] blkfront: xvdb: barriers enabled
[   15.673938] Initialising Xen virtual ethernet driver.
[   22.996610] blkfront: xvda: empty write barrier op failed
[   22.996618] blkfront: xvda: barriers disabled


# lsmod | grep xen
xen_netfront           26568  0
xen_blkfront           22122  5
xenbus_probe_frontend    13194  2 xen_netfront,xen_blkfront,[permanent]
xen_platform_pci       12836  0 [permanent]

If you use custom kernel, either compile them all as builtin, or make
sure xen-platform-pci is loaded.

-- 
Fajar

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users