1. 12 6月, 2008 1 次提交
    • J
      common implementation of iterative div/mod · f595ec96
      Jeremy Fitzhardinge 提交于
      We have a few instances of the open-coded iterative div/mod loop, used
      when we don't expcet the dividend to be much bigger than the divisor.
      Unfortunately modern gcc's have the tendency to strength "reduce" this
      into a full mod operation, which isn't necessarily any faster, and
      even if it were, doesn't exist if gcc implements it in libgcc.
      
      The workaround is to put a dummy asm statement in the loop to prevent
      gcc from performing the transformation.
      
      This patch creates a single implementation of this loop, and uses it
      to replace the open-coded versions I know about.
      Signed-off-by: NJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: john stultz <johnstul@us.ibm.com>
      Cc: Segher Boessenkool <segher@kernel.crashing.org>
      Cc: Christian Kujau <lists@nerdbynature.de>
      Cc: Robert Hancock <hancockr@shaw.ca>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      f595ec96
  2. 23 5月, 2008 1 次提交
  3. 28 4月, 2008 1 次提交
  4. 26 4月, 2008 1 次提交
  5. 25 4月, 2008 18 次提交
  6. 17 4月, 2008 4 次提交
  7. 05 4月, 2008 3 次提交
  8. 27 3月, 2008 2 次提交
    • J
      xen: fix UP setup of shared_info · 2e8fe719
      Jeremy Fitzhardinge 提交于
      We need to set up the shared_info pointer once we've mapped the real
      shared_info into its fixmap slot.  That needs to happen once the general
      pagetable setup has been done.  Previously, the UP shared_info was set
      up one in xen_start_kernel, but that was left pointing to the dummy
      shared info.  Unfortunately there's no really good place to do a later
      setup of the shared_info in UP, so just do it once the pagetable setup
      has been done.
      
      [ Stable: needed in 2.6.24.x ]
      Signed-off-by: NJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      Cc: Stable Kernel <stable@kernel.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      2e8fe719
    • J
      xen: fix RMW when unmasking events · 04c44a08
      Jeremy Fitzhardinge 提交于
      xen_irq_enable_direct and xen_sysexit were using "andw $0x00ff,
      XEN_vcpu_info_pending(vcpu)" to unmask events and test for pending ones
      in one instuction.
      
      Unfortunately, the pending flag must be modified with a locked operation
      since it can be set by another CPU, and the unlocked form of this
      operation was causing the pending flag to get lost, allowing the processor
      to return to usermode with pending events and ultimately deadlock.
      
      The simple fix would be to make it a locked operation, but that's rather
      costly and unnecessary.  The fix here is to split the mask-clearing and
      pending-testing into two instructions; the interrupt window between
      them is of no concern because either way pending or new events will
      be processed.
      
      This should fix lingering bugs in using direct vcpu structure access too.
      
      [ Stable: needed in 2.6.24.x ]
      Signed-off-by: NJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      Cc: Stable <stable@kernel.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      04c44a08
  9. 05 3月, 2008 1 次提交
  10. 01 3月, 2008 1 次提交
  11. 13 2月, 2008 1 次提交
  12. 10 2月, 2008 2 次提交
  13. 30 1月, 2008 4 次提交