1. 30 1月, 2008 4 次提交
    • I
      KVM: Allow dynamic allocation of the mmu shadow cache size · 82ce2c96
      Izik Eidus 提交于
      The user is now able to set how many mmu pages will be allocated to the guest.
      Signed-off-by: NIzik Eidus <izike@qumranet.com>
      Signed-off-by: NAvi Kivity <avi@qumranet.com>
      82ce2c96
    • I
      KVM: Remove the usage of page->private field by rmap · 290fc38d
      Izik Eidus 提交于
      When kvm uses user-allocated pages in the future for the guest, we won't
      be able to use page->private for rmap, since page->rmap is reserved for
      the filesystem.  So we move the rmap base pointers to the memory slot.
      
      A side effect of this is that we need to store the gfn of each gpte in
      the shadow pages, since the memory slot is addressed by gfn, instead of
      hfn like struct page.
      Signed-off-by: NIzik Eidus <izik@qumranet.com>
      Signed-off-by: NAvi Kivity <avi@qumranet.com>
      290fc38d
    • A
      KVM: MMU: Make flooding detection work when guest page faults are bypassed · 12b7d28f
      Avi Kivity 提交于
      When we allow guest page faults to reach the guests directly, we lose
      the fault tracking which allows us to detect demand paging.  So we provide
      an alternate mechnism by clearing the accessed bit when we set a pte, and
      checking it later to see if the guest actually used it.
      Signed-off-by: NAvi Kivity <avi@qumranet.com>
      12b7d28f
    • A
      KVM: Allow not-present guest page faults to bypass kvm · c7addb90
      Avi Kivity 提交于
      There are two classes of page faults trapped by kvm:
       - host page faults, where the fault is needed to allow kvm to install
         the shadow pte or update the guest accessed and dirty bits
       - guest page faults, where the guest has faulted and kvm simply injects
         the fault back into the guest to handle
      
      The second class, guest page faults, is pure overhead.  We can eliminate
      some of it on vmx using the following evil trick:
       - when we set up a shadow page table entry, if the corresponding guest pte
         is not present, set up the shadow pte as not present
       - if the guest pte _is_ present, mark the shadow pte as present but also
         set one of the reserved bits in the shadow pte
       - tell the vmx hardware not to trap faults which have the present bit clear
      
      With this, normal page-not-present faults go directly to the guest,
      bypassing kvm entirely.
      
      Unfortunately, this trick only works on Intel hardware, as AMD lacks a
      way to discriminate among page faults based on error code.  It is also
      a little risky since it uses reserved bits which might become unreserved
      in the future, so a module parameter is provided to disable it.
      Signed-off-by: NAvi Kivity <avi@qumranet.com>
      c7addb90
  2. 22 10月, 2007 2 次提交
  3. 13 10月, 2007 6 次提交
  4. 15 9月, 2007 1 次提交
  5. 21 7月, 2007 3 次提交
  6. 20 7月, 2007 1 次提交
    • P
      mm: Remove slab destructors from kmem_cache_create(). · 20c2df83
      Paul Mundt 提交于
      Slab destructors were no longer supported after Christoph's
      c59def9f change. They've been
      BUGs for both slab and slub, and slob never supported them
      either.
      
      This rips out support for the dtor pointer from kmem_cache_create()
      completely and fixes up every single callsite in the kernel (there were
      about 224, not including the slab allocator definitions themselves,
      or the documentation references).
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      20c2df83
  7. 16 7月, 2007 19 次提交
  8. 03 5月, 2007 4 次提交