xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* xen-unstable, winxp32 very poor performance on AMD FX-8150, I bisected and changeset is 24770:7f79475d3de7
@ 2012-10-20 17:21 Peter Maloney
  2012-10-20 18:40 ` Peter Maloney
                   ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: Peter Maloney @ 2012-10-20 17:21 UTC (permalink / raw)
  To: xen-devel; +Cc: Andres Lagar-Cavilla

I ran a bisect to find out when Windows XP 32 bit becomes unusably slow.
And I found the changeset that caused it.

==========
The problem:
==========

Windows 8 64 bit and 32 bit run fast and fine in the newest xen versions.

Windows XP 32 bit runs unusably slow in anything new that I built from
xen-unstable, but runs fast in 4.1.2 and 4.1.3 stable. While it is
running slow, "xm top" or "xl top" show cpu usage around 650% for the domu.

The bug might be AMD specific. I'm running an AMD FX-8150.

==========
The result:
==========

good: 24769:730f6ed72d70
bad: 24770:7f79475d3de7

The change was 8 months ago

changeset:   24770:7f79475d3de7
user:        Andres Lagar-Cavilla <andres@lagarcavilla.org>
date:        Fri Feb 10 16:07:07 2012 +0000
summary:     x86/mm: Make p2m lookups fully synchronized wrt modifications

==========
My hardware:
==========

AMD FX-8150
990 FX chipset

Here's a dmidecode: http://pastebin.com/XUZjmiVz

==========
My kernel:
==========

I compiled the for-linus branch of cmason's linux-btrfs git repo, around
August 11th (
git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git
for-linus )

peter:~/xen # uname -a
Linux peter 3.5.0-1-default+ #3 SMP Sat Aug 11 21:30:44 CEST 2012 x86_64
x86_64 x86_64 GNU/Linux

Here's the kernel config: http://pastebin.com/1GQbiFZE (only weird thing
I set was CONFIG_NR_CPUS=16 for no particular reason; default was 512 or
256)

==========
My Windows XP VM config:
==========

# grep -vE "^#|^$" windowsxp2
name="windowsxp2"
description="None"
uuid="292b0651-9913-2459-5cfa-fb828f9c4314"
memory=4096
maxmem=4096
vcpus=7
on_poweroff="destroy"
on_reboot="restart"
on_crash="destroy"
localtime=1
keymap="en-us"
builder="hvm"
device_model="/usr/lib/xen/bin/qemu-dm"
kernel="/usr/lib/xen/boot/hvmloader"
boot="c"
disk=[ 'phy:/dev/data/winxp1_disk1,hda,w',
'file:/var/lib/xen/winxp1_disk2.raw,hdb,w', ]
vif=[ 'mac=00:16:3e:4e:c5:0c,bridge=br0,model=e1000', ]
sdl=0
vnc=1
vncunused=1
audio=0
soundhw='es1370'
viridian=1
usb=1
acpi=1
apic=0
pae=1
usbdevice='tablet'
serial="pty"
stdvga=1
gfx_passthru=0
# this is an AMD Radeon HD 6770 and it's HDMI audio, and 2 USB ports
pci = [ '04:00.0' , '04:00.1' , '00:12.0' , '00:12.2' ]
xen_platform_pci=1
pci_msitranslate=1


The Windows 8 32 and 64 bit configs I used are the same except changed
mac address, and different disk.

Whether or not I use sound or PCI passthrough doesn't (significantly)
affect performance.


==========
my build process, including how to hack the build so it actually compiles:
==========

# Install older libyajl-devel
    
    On openSUSE, this would be:
        
        zypper install libyajl1-devel

# Delete everything (except .hg)... prevents unclean builds from
breaking things. make distclean is not enough for very many builds.
cd xen-unstable.hg
rm -rf *
# If you have permission denied errors (caused by running make install
as root earlier), make sure to use chown and run rm again, or builds
will fail.

# Check out the revision
hg update --clean "${build}"

# hack up a troublesome Makefile that prevents builds
vim tools/libxl/Makefile
    add "-lyajl":
        at the end of all 4 "$(CC) ..." lines
        to LIBXL_LIBS
        to LIBXLU_LIBS
        to LIBUUID_LIBS
    
    (don't know which ones are important... but it works with all of it)

make distclean >/tmp/xen.distclean.log 2>&1 ; status=$? ; echo $status

if [ -e configure ]; then
    ./configure
else
    touch .config
fi
            
make dist >/tmp/xen.dist.log 2>&1 ; status=$? ; echo $status


==========
my install process
==========

To install the build, it's important to clean out old lib files...
uninstall doesn't get them all. If you miss these, xm, xl, etc. may fail
due to shared library issues.

Also, "make uninstall" deletes important system files it should not
(kernel, kernel modules, vm disks).

As it says in the "make help":
  uninstall        - attempt to remove installed Xen tools
                     (use with extreme care!)

Here is my process to solve the uninstall issues:
http://pastebin.com/nXCavFTp

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2013-01-26 12:30 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-20 17:21 xen-unstable, winxp32 very poor performance on AMD FX-8150, I bisected and changeset is 24770:7f79475d3de7 Peter Maloney
2012-10-20 18:40 ` Peter Maloney
2012-10-22 13:56 ` Andres Lagar-Cavilla
2012-10-22 13:59 ` Tim Deegan
2012-10-23 22:17   ` Peter Maloney
2012-11-01 17:00   ` Tim Deegan
2012-11-01 17:28     ` Andres Lagar-Cavilla
2012-11-13 13:17       ` Peter Maloney
2012-11-22 18:54         ` Peter Maloney
2013-01-12 15:25           ` Peter Maloney
2013-01-17 20:57             ` Pasi Kärkkäinen
2013-01-18 14:22               ` George Dunlap
2013-01-18 14:40                 ` Andres Lagar-Cavilla
2013-01-21 12:07                   ` George Dunlap
2013-01-18 14:30             ` George Dunlap
2013-01-26 12:30               ` Peter Maloney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).