Ok, thx you for answering.<div><br></div><div>Regards,</div><div><br></div><div>Bertrand</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Dec 3, 2012 at 2:55 PM, Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru" target="_blank">mdounin@mdounin.ru</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<div><div class="h5"><br>
On Sun, Dec 02, 2012 at 12:15:03PM +0100, Bertrand Paquet wrote:<br>
<br>
> Hi,<br>
><br>
> I have virtual machine running on qemu / kvm.<br>
><br>
> cat /proc/cpuinfo give :<br>
> processor : 0<br>
> vendor_id : GenuineIntel<br>
> cpu family : 6<br>
> model : 2<br>
> model name : QEMU Virtual CPU version 1.1.2<br>
> stepping : 3<br>
> microcode : 0x1<br>
> cpu MHz : 1999.999<br>
> cache size : 4096 KB<br>
> fpu : yes<br>
> fpu_exception : yes<br>
> cpuid level : 4<br>
> wp : yes<br>
> flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36<br>
> clflush mmx fxsr sse sse2 syscall nx lm up rep_good nopl pni cx16 popcnt<br>
> hypervisor lahf_lm<br>
> bogomips : 3999.99<br>
> clflush size : 64<br>
> cache_alignment : 64<br>
> address sizes : 40 bits physical, 48 bits virtual<br>
> power management:<br>
><br>
> the code in ngx_cpuinfo use the model value (2), and set<br>
> the ngx_cacheline_size to 32, instead of 64 given by cache_alignment in<br>
> /proc/cpuinfo.<br>
><br>
> On same host using vmware virtualization, /proc/cpuinfo give a model of 45,<br>
> ngx_cacheline_size is set to 64.<br>
><br>
> I think I can have low performances problems due to the ngx_cacheline_size<br>
> of 32 under qemu virtualization. Do you confirm ?<br>
><br>
> Do you think we have to change ngx_cpuinfo code to give ngx_cacheline_size<br>
> 64 on qemu env ?<br>
<br>
</div></div>Incorrectly detected cache line size may result in slightly<br>
non-optimal performance in some situations (I wouldn't suppose 32<br>
vs 64 to result in more than a few percent difference in real word<br>
nginx operation though, even on real hardware).  On the other<br>
hand, using virtualization ensures non-optimal performance in all<br>
situations, so one using virtualization probably don't care<br>
anyway.<br>
<br>
(In any case there are no plans to change Intel CPUs cache line<br>
size detection code to support fake emulated qemu CPUs.  In<br>
particular because it's not possible to tell which cache line size<br>
is more effective for a given emulated CPU.  It's up to you to<br>
configure qemu to emulate a CPU with a cache line size most<br>
effective on your hardware if you think you care.)<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Maxim Dounin<br>
<a href="http://nginx.com/support.html" target="_blank">http://nginx.com/support.html</a><br>
<br>
_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
</font></span></blockquote></div><br></div>