|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] qemu-dm performance
I've been investigating why qemu-dm is causing %CPU to be high when
viewing fully vitalized guests with vncviewer( about 20% usage ).
I've looked at the code, and one area that I'm curious about is the
vram_dirty() function in tools/ioemu/hw/vga.c. Please correct me if I'm
wrong, but vram_dirty() seems to be using SSE inline functions to
optimize it's bit-shifting/masking/loading/storing/comparison operations
to see if dirty bits need to be set for a page within the shadow table.
Also, I used gdb to make sure that I'm really executing the SSE
optimized version of vram_dirty() that utilizes xmm0 registers.
So out of curiosity, I decided to comment out calls to vram_dirty() from
vga_draw_graphic() and the guests still behave normally, but CPU% now
drops to 8%. I know this is silly, and that I should expect a CPU drop
for commenting out code, but why is vram_dirty() adding 12% CPU
utilization when it can be commented out without crashing my viewer, and
without me even noticing a difference in the guests behavior? Can
someone help me to understand the purpose vram_dirty serves and perhaps
why it seems 2 be so CPU intensive without really changing the way my
virtual guest behaves?
Also, where else should I look in the code for possible explanations to
why qemu-dm uses 20% CPU simply to view a guest. All comments and
suggestions regarding this matter are appreciated,
thx,
T. McAfee
Xen Testing
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|