1. 16 7月, 2007 2 次提交
  2. 22 5月, 2007 1 次提交
    • A
      Detach sched.h from mm.h · e8edc6e0
      Alexey Dobriyan 提交于
      First thing mm.h does is including sched.h solely for can_do_mlock() inline
      function which has "current" dereference inside. By dealing with can_do_mlock()
      mm.h can be detached from sched.h which is good. See below, why.
      
      This patch
      a) removes unconditional inclusion of sched.h from mm.h
      b) makes can_do_mlock() normal function in mm/mlock.c
      c) exports can_do_mlock() to not break compilation
      d) adds sched.h inclusions back to files that were getting it indirectly.
      e) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were
         getting them indirectly
      
      Net result is:
      a) mm.h users would get less code to open, read, preprocess, parse, ... if
         they don't need sched.h
      b) sched.h stops being dependency for significant number of files:
         on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,
         after patch it's only 3744 (-8.3%).
      
      Cross-compile tested on
      
      	all arm defconfigs, all mips defconfigs, all powerpc defconfigs,
      	alpha alpha-up
      	arm
      	i386 i386-up i386-defconfig i386-allnoconfig
      	ia64 ia64-up
      	m68k
      	mips
      	parisc parisc-up
      	powerpc powerpc-up
      	s390 s390-up
      	sparc sparc-up
      	sparc64 sparc64-up
      	um-x86_64
      	x86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig
      
      as well as my two usual configs.
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e8edc6e0
  3. 03 5月, 2007 20 次提交
  4. 04 3月, 2007 8 次提交
  5. 13 2月, 2007 3 次提交
  6. 10 2月, 2007 1 次提交
  7. 31 1月, 2007 1 次提交
  8. 27 1月, 2007 2 次提交
  9. 23 1月, 2007 1 次提交
    • A
      [PATCH] KVM: fix race between mmio reads and injected interrupts · cccf748b
      Avi Kivity 提交于
      The kvm mmio read path looks like:
      
       1. guest read faults
       2. kvm emulates read, calls emulator_read_emulated()
       3. fails as a read requires userspace help
       4. exit to userspace
       5. userspace emulates read, kvm sets vcpu->mmio_read_completed
       6. re-enter guest, fault again
       7. kvm emulates read, calls emulator_read_emulated()
       8. succeeds as vcpu->mmio_read_emulated is set
       9. instruction completes and guest is resumed
      
      A problem surfaces if the userspace exit (step 5) also requests an interrupt
      injection.  In that case, the guest does not re-execute the original
      instruction, but the interrupt handler.  The next time an mmio read is
      exectued (likely for a different address), step 3 will find
      vcpu->mmio_read_completed set and return the value read for the original
      instruction.
      
      The problem manifested itself in a few annoying ways:
      - little squares appear randomly on console when switching virtual terminals
      - ne2000 fails under nfs read load
      - rtl8139 complains about "pci errors" even though the device model is
        incapable of issuing them.
      
      Fix by skipping interrupt injection if an mmio read is pending.
      
      A better fix is to avoid re-entry into the guest, and re-emulating immediately
      instead.  However that's a bit more complex.
      Signed-off-by: NAvi Kivity <avi@qumranet.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cccf748b
  10. 12 1月, 2007 1 次提交
    • I
      [PATCH] KVM: add VM-exit profiling · 07031e14
      Ingo Molnar 提交于
      This adds the profile=kvm boot option, which enables KVM to profile VM
      exits.
      
      Use: "readprofile -m ./System.map | sort -n" to see the resulting
      output:
      
         [...]
         18246 serial_out                               148.3415
         18945 native_flush_tlb                         378.9000
         23618 serial_in                                212.7748
         29279 __spin_unlock_irq                        622.9574
         43447 native_apic_write                        2068.9048
         52702 enable_8259A_irq                         742.2817
         54250 vgacon_scroll                             89.3740
         67394 ide_inb                                  6126.7273
         79514 copy_page_range                           98.1654
         84868 do_wp_page                                86.6000
        140266 pit_read                                 783.6089
        151436 ide_outb                                 25239.3333
        152668 native_io_delay                          21809.7143
        174783 mask_and_ack_8259A                       783.7803
        362404 native_set_pte_at                        36240.4000
       1688747 total                                      0.5009
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Acked-by: NAvi Kivity <avi@qumranet.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      07031e14