Skip to contentSkip to conversation

kvm-21 release

ANNOUNCE Avi Kivity 2 participants 4 messages Apr 27, 2007 – Apr 29, 2007 3 messages not in the archive KVM

lore
Share & tools
lore

Avi Kivity

author
#0 lore raw

This is mostly to fix a regression on Core processors, but also to bring you a few performance improvements.

Changes from kvm-20:
- fix regression on Core (not Core 2) processors
- performance improvements (Eddie Dong, Anthony Liguori)
- minor fixes

Notes:
If you use the modules from kvm-21, you can use any version of Linux
from 2.6.9 upwards.
If you use the modules from Linux 2.6.20, you need to use kvm-12. If you use the modules from Linux 2.6.21, you need to use kvm-17.

API/ABI stability is planned for Linux 2.6.22.

http://kvm.qumranet.com

Signature · 8 lines
error compiling committee.c: too many arguments to function


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

A message that is not in the archive (sent off-list or not yet received): 4631F988.4040306-atKUWr5tajBWk0Htik3J/[email protected]

#2 lore raw

#PF & shadow

I am looking into the efficiency of shadow code and get
interesting sight: Increasing KVM_NUM_MMU_PAGES doesn't help performance which is quit stranger, and the #PF is realitively higher than other virtualization solution.
If any of you have any sight, please let me know.
thanks, eddie

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

A message that is not in the archive (sent off-list or not yet received): 10EA09EFD8728347A513008B6B0DA77A014E8AA1-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org

author
#4 lore raw

Re: #PF & shadow

Quoted 7 lines · Eddie

I am looking into the efficiency of shadow code and get
interesting sight: Increasing KVM_NUM_MMU_PAGES doesn't help performance which is quit stranger, and the #PF is realitively higher than other virtualization solution.
If any of you have any sight, please let me know.
thanks, eddie

I know of the following issues in the mmu; of course there are likely more:

1. eviction is based on a FIFO policy instead of an approximation of an LRU.
2. the heuristics of when to unshadow a page (kvm_mmu_pre_write) have not been tuned. This can have two effects:
- a page is unshadowed prematurely, causing many shadow faults later on
- a page is not unshadowed soon enough, causing too many emulations
(a page should be unshadowed if the guest page is no longer a page table, or if it is batch updated as in fork())
3. when we emulate a write, we zero out the shadow entry, but we could instead translate the guest pte and install it in the shadow page. That's the purpose of kvm_mmu_post_post_write() which is currently empty. This could reduce the cost of a guest minor fault from three vmexits to two (one for the guest fault, one for the pte update). I started implementing this but got distracted.
4. not strictly mmu: after an mmio read, we re-enter the guest and get a vmexit directly. Instead we should enter the emulator immediately after an mmio read. I implemented that (b0092d187cfa19dfcada3b85d728af5ae27989dc), but backed it out soon after due to a regression it introduced with nonpae guests. I'll look into redoing it.

Signature · 8 lines
Do not meddle in the internals of kernels, for they are subtle and quick to panic.


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

A message that is not in the archive (sent off-list or not yet received): 4632E472.20005-atKUWr5tajBWk0Htik3J/[email protected]

author
#6 lore raw

Re: #PF & shadow

Quoted 7 lines · Avi Kivity

4. not strictly mmu: after an mmio read, we re-enter the guest and get a vmexit directly. Instead we should enter the emulator immediately after an mmio read. I implemented that (b0092d187cfa19dfcada3b85d728af5ae27989dc), but backed it out soon after due to a regression it introduced with nonpae guests. I'll look into redoing it.

I've just committed (9bf671a47ed6af3164524a31dbef9360f1b66fb5) and pushed this. All my guests seem to be faring well.

Signature · 8 lines
error compiling committee.c: too many arguments to function


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/