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 _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
On Fri, Sep 19, 2008 at 2:39 PM, Andrew Lyon <andrew.lyon@gmail.com> 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@lists.xensource.com http://lists.xensource.com/xen-users
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@gmail.com> 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@lists.xensource.com > http://lists.xensource.com/xen-users_______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
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@titanic.nyme.hu> 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@gmail.com> 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@lists.xensource.com >> http://lists.xensource.com/xen-users > > > _______________________________________________ > Xen-users mailing list > Xen-users@lists.xensource.com > http://lists.xensource.com/xen-users >_______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
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@gmail.com> wrote:> http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=895 > > On Fri, Sep 19, 2008 at 5:18 PM, Andrew Lyon <andrew.lyon@gmail.com> 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@titanic.nyme.hu> 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@gmail.com> 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@lists.xensource.com >>>> http://lists.xensource.com/xen-users >>> >>> >>> _______________________________________________ >>> Xen-users mailing list >>> Xen-users@lists.xensource.com >>> http://lists.xensource.com/xen-users >>> >> >_______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
On Fri, Sep 19, 2008 at 2:46 PM, Andrew Lyon <andrew.lyon@gmail.com> wrote:> On Fri, Sep 19, 2008 at 2:39 PM, Andrew Lyon <andrew.lyon@gmail.com> 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 >I found the solution to this problem, in my hvm windows config file I added: cpuid=''1:edx=xxx1xxxxxxxxxxxxxxxxxxxxxxxxxxxx,ebx=xxxxxxxx00010000xxxxxxxxxxxxxxxx'',''4,0:eax=001111xxxxxxxxxxxxxxxxxxxxxxxxxx''] vcpus=8 Which makes the 8 CPUs appear to the guest os as a single 8 core rather than 8 separate cpus, as windows is limited to 2 sockets it now sees all 8 cores in task manager. Andy _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
Awesome, mind telling us how you figured this out? Is it documented somewhere? I have seen several people want to do this, and someone always tells them it is not possible. Dustin -----Original Message----- From: xen-users-bounces@lists.xensource.com [mailto:xen-users-bounces@lists.xensource.com] On Behalf Of Andrew Lyon Sent: Sunday, September 28, 2008 09:44 To: xen-users@lists.xensource.com Subject: [Xen-users] Re: Windows and Multiple CPUS? On Fri, Sep 19, 2008 at 2:46 PM, Andrew Lyon <andrew.lyon@gmail.com> wrote:> On Fri, Sep 19, 2008 at 2:39 PM, Andrew Lyon <andrew.lyon@gmail.com>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 >I found the solution to this problem, in my hvm windows config file I added: cpuid=''1:edx=xxx1xxxxxxxxxxxxxxxxxxxxxxxxxxxx,ebx=xxxxxxxx00010000xxxxxxxxxx xxxxxx'',''4,0:eax=001111xxxxxxxxxxxxxxxxxxxxxxxxxx''] vcpus=8 Which makes the 8 CPUs appear to the guest os as a single 8 core rather than 8 separate cpus, as windows is limited to 2 sockets it now sees all 8 cores in task manager. Andy _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
You need Xen 3.3, examples are shown in /etc/xen/ xmexample.hvm-stubdom: # Expose to the guest multi-core cpu instead of multiple processors # Example for intel, expose a 8-core processor : #cpuid=[''1:edx=xxx1xxxxxxxxxxxxxxxxxxxxxxxxxxxx, # ebx=xxxxxxxx00010000xxxxxxxxxxxxxxxx'', # ''4,0:eax=001111xxxxxxxxxxxxxxxxxxxxxxxxxx''] # - CPUID.1[EDX][HT] : Enable HT # - CPUID.1[EBX] : Number of vcpus * 2 # - CPUID.4,0[EAX] : Number of vcpus * 2 - 1 #vcpus=8 I used a single line to set the cpuid: cpuid=[''1:edx=xxx1xxxxxxxxxxxxxxxxxxxxxxxxxxxx,ebx=xxxxxxxx00010000xxxxxxxxxxxxxxxx'',''4,0:eax=001111xxxxxxxxxxxxxxxxxxxxxxxxxx''] vcpus=8 Andy On Mon, Sep 29, 2008 at 12:49 PM, Dustin Henning <Dustin.Henning@prd-inc.com> wrote:> Awesome, mind telling us how you figured this out? Is it documented > somewhere? I have seen several people want to do this, and someone always > tells them it is not possible. > Dustin > > -----Original Message----- > From: xen-users-bounces@lists.xensource.com > [mailto:xen-users-bounces@lists.xensource.com] On Behalf Of Andrew Lyon > Sent: Sunday, September 28, 2008 09:44 > To: xen-users@lists.xensource.com > Subject: [Xen-users] Re: Windows and Multiple CPUS? > > On Fri, Sep 19, 2008 at 2:46 PM, Andrew Lyon <andrew.lyon@gmail.com> wrote: >> On Fri, Sep 19, 2008 at 2:39 PM, Andrew Lyon <andrew.lyon@gmail.com> > 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 >> > > I found the solution to this problem, in my hvm windows config file I added: > > cpuid=''1:edx=xxx1xxxxxxxxxxxxxxxxxxxxxxxxxxxx,ebx=xxxxxxxx00010000xxxxxxxxxx > xxxxxx'',''4,0:eax=001111xxxxxxxxxxxxxxxxxxxxxxxxxx''] > vcpus=8 > > Which makes the 8 CPUs appear to the guest os as a single 8 core > rather than 8 separate cpus, as windows is limited to 2 sockets it now > sees all 8 cores in task manager. > > Andy > > _______________________________________________ > Xen-users mailing list > Xen-users@lists.xensource.com > http://lists.xensource.com/xen-users > > >_______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
Hi Andrew, Very interesting. The trouble is that I don''t understand the examples. Can anyone advise on how to make 2,3 and 4 AMD cpu assigned VMs appear as a single multicore CPU? I''m interested in how doing this may affect software optimizations and NUMA type detection within HVMs. Thanks, Rob -----Original Message----- From: xen-users-bounces@lists.xensource.com [mailto:xen-users-bounces@lists.xensource.com] On Behalf Of Andrew Lyon Sent: 29 September 2008 14:51 To: Dustin.Henning@prd-inc.com Cc: xen-users@lists.xensource.com Subject: Re: [Xen-users] Re: Windows and Multiple CPUS? You need Xen 3.3, examples are shown in /etc/xen/ xmexample.hvm-stubdom: # Expose to the guest multi-core cpu instead of multiple processors # Example for intel, expose a 8-core processor : #cpuid=[''1:edx=xxx1xxxxxxxxxxxxxxxxxxxxxxxxxxxx, # ebx=xxxxxxxx00010000xxxxxxxxxxxxxxxx'', # ''4,0:eax=001111xxxxxxxxxxxxxxxxxxxxxxxxxx''] # - CPUID.1[EDX][HT] : Enable HT # - CPUID.1[EBX] : Number of vcpus * 2 # - CPUID.4,0[EAX] : Number of vcpus * 2 - 1 #vcpus=8 I used a single line to set the cpuid: cpuid=[''1:edx=xxx1xxxxxxxxxxxxxxxxxxxxxxxxxxxx,ebx=xxxxxxxx00010000xxxxx xxxxxxxxxxx'',''4,0:eax=001111xxxxxxxxxxxxxxxxxxxxxxxxxx''] vcpus=8 Andy On Mon, Sep 29, 2008 at 12:49 PM, Dustin Henning <Dustin.Henning@prd-inc.com> wrote:> Awesome, mind telling us how you figured this out? Is itdocumented> somewhere? I have seen several people want to do this, and someonealways> tells them it is not possible. > Dustin > > -----Original Message----- > From: xen-users-bounces@lists.xensource.com > [mailto:xen-users-bounces@lists.xensource.com] On Behalf Of AndrewLyon> Sent: Sunday, September 28, 2008 09:44 > To: xen-users@lists.xensource.com > Subject: [Xen-users] Re: Windows and Multiple CPUS? > > On Fri, Sep 19, 2008 at 2:46 PM, Andrew Lyon <andrew.lyon@gmail.com>wrote:>> On Fri, Sep 19, 2008 at 2:39 PM, Andrew Lyon <andrew.lyon@gmail.com> > 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 systemproperties>>> 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, whichis>>> 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 8cpus>> would be utilized. >> >> Andy >> > > I found the solution to this problem, in my hvm windows config file Iadded:> >cpuid=''1:edx=xxx1xxxxxxxxxxxxxxxxxxxxxxxxxxxx,ebx=xxxxxxxx00010000xxxxxx xxxx> xxxxxx'',''4,0:eax=001111xxxxxxxxxxxxxxxxxxxxxxxxxx''] > vcpus=8 > > Which makes the 8 CPUs appear to the guest os as a single 8 core > rather than 8 separate cpus, as windows is limited to 2 sockets it now > sees all 8 cores in task manager. > > Andy > > _______________________________________________ > Xen-users mailing list > Xen-users@lists.xensource.com > http://lists.xensource.com/xen-users > > >_______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users The SAQ Group Registered Office: 18 Chapel Street, Petersfield, Hampshire. GU32 3DZ SEMTEC Limited trading as SAQ is Registered in England & Wales Company Number: 06481952 http://www.saqnet.co.uk AS29219 SAQ Group Delivers high quality, honestly priced communication and I.T. services to UK Business. DSL : Domains : Email : Hosting : CoLo : Servers : Racks : Transit : Backups : Managed Networks : Remote Support. Find us in http://www.thebestof.co.uk/petersfield _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users