[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] xen-unstable, winxp32 very poor performance on AMD FX-8150, I bisected and changeset is 24770:7f79475d3de7



And so Pasi suggested on IRC that I try with 2 vcpus, and in this
situation it still runs slow, but it's usably slow.

When it first boots, "xl top" shows pretty high cpu usage, and then it
goes down eventually and it's harder to notice it is slower than usual. 
By comparison, with 4-8 vcpus, it is unbearably slow, and would take you
probably 10 minutes to even log in, but also the cpu would go down over
time.

And also with 2 vcpus, in task manager, you can see the processes using
CPU seem to be using much more than they should. So when the cpu usage
is lower later on, while the system is still idle, a bunch of processes
are using 2 or 3% each adding up to 20-50% (fluctuating). And with 2
vcpus, the mouse seems faster.

And then I tested minecraft, which runs only 5-20 fps. So it's
definitely still slow, but usable for non-3d stuff.


On 10/20/2012 07:21 PM, Peter Maloney wrote:
> 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@xxxxxxxxxxxxxxxx>
> 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
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.