Subject: Re: xen 3.1 problem (Re: xen 3.1.0 is there)
To: Kazushi Marukawa <jam@pobox.com>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: port-xen
Date: 06/27/2007 12:53:20
--SLDf9lqlvOQaIe6s
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
On Wed, Jun 27, 2007 at 07:31:54PM +0900, Kazushi Marukawa wrote:
> > Does it still happens with yesterday's commit which did fix a race in
> > cpu_idle() ? I can't see how this commit could fix the KASSERT issue, but
> > who knows ...
>
> Yes, it happens, unfortunately. I needed to apply my
> locore.S patch to run WinXP on hvm with Xen 3.0.4. I forgot
> to try with Xen 3.1.0. I'm not going to reboot my machine
> to try it again for now. If you want to see the result with
> Xen 3.1.0, please let me know. I can try.
I don't think it's needed for now. There's definitively a bug in NetBSD
current, Xen 3.0.4 or 3.1.0 doesn't change this fact :)
>
> > > However, the related issue, slow hvm is not solved yet.
> > > When I use WinXP with recent kernel, I feel it is much
> > > slower than 4.99.18. I feel something like below.
> > > e.g. 4.99.21 Xen3.1.0 took 30 sec to open empty start menu.
> >
> > again, maybe yesterday commits fixed it ... please try !
>
> BTW, this works great. Now WinXP on hvm runs as normal with
> both Xen 3.0.4 and 3.1.0 after applying locore.S patch.
> Many thanks. I changed my environment to the 4.99.21. ;-)
OK, that's a good point. I spotted several places in assembly code
where interrupts could be deffered, I'm working on it. hopefully this
will improve performances a bit.
>
>
> However, I'm having several new minor problems with this
> latest kernel. They are all minor, but I want to let them
> know in public. Maybe some of them are problems for only my
> environment. hehe. Please let me know how others feel.
>
> Here is a list of them.
>
> 1. the latest NetBSD DomU runs slower than before and Dom0.
> 2. the latest NetBSD DomU ask me the root partition when it
> boots.
> 3. the WinXP on the latest NetBSD Dom0 doesn't show better
> network performance for me.
>
> Let me explain more details.
>
> 1st problem: I'm not sure when this started but the latest
> NetBSD DomU runs slower. Here is a simple benchmark
> result. The benchmark is to run mkid several times under
> 20070624's sys directory and pick one generally good time
> from results.
>
> src date dom0 time domu time
> 0518 on Xen3.0.4 10.614 9.757
> 0624 w/ patch on Xen3.0.4 10.650 16.938 <- slow
> 0624 w/ patch on Xen3.1.0 10.625 9.638
> 0627 w/ patch on Xen3.0.4 10.640 17.283 <- slow
> 0627 w/ patch on Xen3.1.0 10.524 16.817 <- slow
>
> I was thinking this is caused since the recent kernel is
> optimized for Xen3.1.0, but 0627 kernel runs slower on both.
There's not "optimisations" for 3.1.0. The only change was a bug fixe
in an ioctl call, which has been there since day 0 of dom0 support
but didn't cause problems before (I suspect because before 3.1.0 this
interface was always used with a one-element list only. the bug shows up
when there's more than one page in the list).
>
> 2nd problem: DomU ask me what is the boot device. I
> answered xbd0 is root, dump is xbd0b, file system is lfs,
> and init path is /sbin/init. It works fine after that,
> but I need to let NetBSD DomU knows them each time.
I think I know what's the problem. Please try the attached patch
>
> 3rd problem: This is not a real problem. I just saw the
> throughput of WinXP on NetBSD Dom0 and Xen3.1.0 is similar
> to the WinXP on NetBSD Dom0 and Xen4.0.3. Just wondering
> how much throughput others are having now. Mine shows
> 4 times slower than standalone WinXP.
You should try switching to the pcnet emulated network device. This one
gives better results for me on 2003 server (about 3MB/s).
--
Manuel Bouyer, LIP6, Universite Paris VI. Manuel.Bouyer@lip6.fr
NetBSD: 26 ans d'experience feront toujours la difference
--
--SLDf9lqlvOQaIe6s
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=diff
Index: xen_machdep.c
===================================================================
RCS file: /cvsroot/src/sys/arch/xen/i386/xen_machdep.c,v
retrieving revision 1.17
retrieving revision 1.16
diff -u -r1.17 -r1.16
--- xen_machdep.c 18 Jun 2007 18:56:23 -0000 1.17
+++ xen_machdep.c 22 Jan 2006 20:15:51 -0000 1.16
@@ -1,4 +1,4 @@
-/* $NetBSD: xen_machdep.c,v 1.17 2007/06/18 18:56:23 bouyer Exp $ */
+/* $NetBSD: xen_machdep.c,v 1.16 2006/01/22 20:15:51 bouyer Exp $ */
/*
* Copyright (c) 2006 Manuel Bouyer.
@@ -63,7 +63,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xen_machdep.c,v 1.17 2007/06/18 18:56:23 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xen_machdep.c,v 1.16 2006/01/22 20:15:51 bouyer Exp $");
#include "opt_xen.h"
@@ -187,8 +187,7 @@
switch (what) {
case XEN_PARSE_BOOTDEV:
- if (strncasecmp(opt, "bootdev=", 8) == 0 ||
- strncasecmp(opt, "root=", 5) == 0)
+ if (strncasecmp(opt, "bootdev=", 8) == 0)
strncpy(xcp->xcp_bootdev, opt + 8,
sizeof(xcp->xcp_bootdev));
break;
--SLDf9lqlvOQaIe6s--