[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-users] Re: Windows and Multiple CPUS?
Adding timer_mode=1 to the config file for Windows HVMs with multiple cpu solves the problem, tested on Windows XP and Server 2003 32 bit. I verified that the changes made in 16366 are present in Xen 3.2.1, perhaps you are missing the timer setting or are using a older version? http://xenbits.xensource.com/xen-unstable.hg/rev/837f83225153 Andy On Fri, Sep 19, 2008 at 5:52 PM, Andrew Lyon <andrew.lyon@xxxxxxxxx> wrote: > http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=895 > > On Fri, Sep 19, 2008 at 5:18 PM, Andrew Lyon <andrew.lyon@xxxxxxxxx> wrote: >> I have noticed the same thing, does it cause other problems? >> >> Here are logs from different versions of windows pinging the default >> gateway and localhost, note that when the time is irregular the >> response happens instantly or too quickly to be correct timing, i.e. >> multiple response lines are printed at once or very close together, >> much quicker than the stated time, only when the time is sensible does >> each line appear with regular timing: >> >> XP Pro 32 Bit 2 cpus: >> >> C:\Documents and Settings\Administrator>ping 10.0.4.1 -t >> >> Pinging 10.0.4.1 with 32 bytes of data: >> >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=6140ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> >> and localhost: >> >> C:\Documents and Settings\Administrator>ping -t localhost >> >> Pinging localhost [127.0.0.1] with 32 bytes of data: >> >> Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-6186ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-6187ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-6187ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-6187ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-6187ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-6187ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-6187ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-6187ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-6187ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 >> >> If you set the affinity of the ping.exe process to a single CPU >> sometimes the problem goes away, I think the time is not sync over the >> cpus and so the ping timings over/under flow and give strange values? >> or the time is taken from one cpu and by chance when I set the >> affinity to the cpu that has the master timer and the ping works >> properly? >> >> Windows 2003 32 bit Standard Edition 4 cpus: >> >> C:\Documents and Settings\Administrator>ping -t 10.0.4.1 >> >> Pinging 10.0.4.1 with 32 bytes of data: >> >> Reply from 10.0.4.1: bytes=32 time=2434ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=-501ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=-604ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=2434ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=-501ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=2434ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=-501ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=2434ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=-501ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=-501ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=-604ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=2434ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time=-501ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> >> C:\Documents and Settings\Administrator>ping -t localhost >> >> Pinging xen-win2003x86 [127.0.0.1] with 32 bytes of data: >> >> Reply from 127.0.0.1: bytes=32 time=501ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-2436ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=501ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=501ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=501ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=501ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=501ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=501ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=501ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=501ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=501ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=501ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=501ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=501ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=501ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=501ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=501ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=501ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=501ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=501ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=501ms TTL=128 >> >> Each time I run the ping I get a different response time: >> >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> Reply from 127.0.0.1: bytes=32 time=-605ms TTL=128 >> >> >> >> Windows 2008 Enterprise Edition 32 bit with 8 CPUs seems to not have >> the problem: >> >> C:\Users\Administrator>ping -t 10.0.4.1 >> >> Pinging 10.0.4.1 with 32 bytes of data: >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> Reply from 10.0.4.1: bytes=32 time<1ms TTL=64 >> >> C:\Users\Administrator>ping -t localhost >> >> Pinging WIN-PA2NTBT8TNB [::1] from ::1 with 32 bytes of data: >> Reply from ::1: time<1ms >> Reply from ::1: time<1ms >> Reply from ::1: time<1ms >> Reply from ::1: time<1ms >> Reply from ::1: time<1ms >> Reply from ::1: time<1ms >> Reply from ::1: time<1ms >> Reply from ::1: time<1ms >> Reply from ::1: time<1ms >> Reply from ::1: time<1ms >> Reply from ::1: time<1ms >> Reply from ::1: time<1ms >> >> >> Andy >> >> On Fri, Sep 19, 2008 at 4:15 PM, Nemeth, Tamas <nice@xxxxxxxxxxxxxxx> wrote: >>> Hi, >>> >>> I've tried to run w2k3 server with multiple CPUs, but i had to realize >>> that a HVM virtualized w2k3 has some timing (clock) issues. Timing >>> becomes somehow imprecise. I tried it on 64bit hypervisor and 32bit >>> dom0, xen version 3.2.1. I tried to ping a host from a multiple VCPU >>> windows and the packets coming back seemed to arrive earlier then they >>> left the NIC, or something like this. Can you confirm this symtom? >>> (However it's possible, this is a problem of networking, not timing.) >>> This problem doesn't exist on single VCPU Windows HVM domUs. >>> >>> Cheers >>> >>> Tamas >>> >>> >>> 2008. 09. 19, péntek keltezéssel 14.46-kor Andrew Lyon ezt írta: >>>> On Fri, Sep 19, 2008 at 2:39 PM, Andrew Lyon <andrew.lyon@xxxxxxxxx> wrote: >>>> > Hi, >>>> > >>>> > Am I correct in thinking that when Xen is running on a multi-core / >>>> > smp system and several cpus are assigned to a VM they are "presented" >>>> > as multiple single core cpus rather than 1 or more multi-core cpus? >>>> > >>>> > Microsoft CPU limits are for physical sockets, not cores. >>>> > >>>> > Windows XP and Vista are limited to two physical cpus, running under >>>> > Xen the maximum cpus I have seen in task manager and system properties >>>> > is 2, although device manager shows all of the assigned cpus (up to >>>> > 8). >>>> > >>>> > Windows 2003 and 2008 standard edition are limited to 4 cpus, which is >>>> > the limit I find under Xen, again device manager shows all assigned >>>> > cpus (up to 8). >>>> > >>>> > Is there any way to make windows see the cpus as multi-core so that >>>> > all 8 cores can be used ? >>>> > >>>> > Andy >>>> > >>>> >>>> I've also noticed that if I run "xm list" repeatedly as the VM is >>>> starting up I can actually see the cpus being initialized, the value >>>> matches the limit i find in windows: >>>> >>>> A Windows 2003 R2 Standard Edition 32 Bit VM: >>>> >>>> #grep vcpu Win2003x86.cfg >>>> vcpus=8 >>>> >>>> xm list (several times during boot process) >>>> >>>> Win2003x86 24 2048 1 >>>> Win2003x86 24 2048 2 >>>> Win2003x86 24 2048 3 >>>> Win2003x86 24 2048 4 >>>> >>>> But if i booted this version of windows on the raw hardware all 8 cpus >>>> would be utilized. >>>> >>>> Andy >>>> >>>> _______________________________________________ >>>> Xen-users mailing list >>>> Xen-users@xxxxxxxxxxxxxxxxxxx >>>> http://lists.xensource.com/xen-users >>> >>> >>> _______________________________________________ >>> Xen-users mailing list >>> Xen-users@xxxxxxxxxxxxxxxxxxx >>> http://lists.xensource.com/xen-users >>> >> > _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-users
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |