1. 22 3月, 2006 6 次提交
  2. 18 3月, 2006 3 次提交
  3. 15 3月, 2006 1 次提交
  4. 10 3月, 2006 1 次提交
  5. 09 3月, 2006 2 次提交
    • A
      [PATCH] i386: port ATI timer fix from x86_64 to i386 II · f9262c12
      Andi Kleen 提交于
      ATI chipsets tend to generate double timer interrupts for the local APIC
      timer when both the 8254 and the IO-APIC timer pins are enabled.  This is
      because they route it to both and the result is anded together and the CPU
      ends up processing it twice.
      
      This patch changes check_timer to disable the 8254 routing for interrupt 0.
      
      I think it would be safe on all chipsets actually (i tested it on a couple
      and it worked everywhere) and Windows seems to do it in a similar way, but
      to be conservative this patch only enables this mode on ATI (and adds
      options to enable/disable too)
      
      Ported over from a similar x86-64 change.
      
      I reused the ACPI earlyquirk infrastructure for the ATI bridge check, but
      tweaked it a bit to work even without ACPI.
      
      Inspired by a patch from Chuck Ebbert, but redone.
      
      Cc: Chuck Ebbert <76306.1226@compuserve.com>
      Cc: "Brown, Len" <len.brown@intel.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      f9262c12
    • D
      [PATCH] rcu batch tuning · 21a1ea9e
      Dipankar Sarma 提交于
      This patch adds new tunables for RCU queue and finished batches.  There are
      two types of controls - number of completed RCU updates invoked in a batch
      (blimit) and monitoring for high rate of incoming RCUs on a cpu (qhimark,
      qlowmark).
      
      By default, the per-cpu batch limit is set to a small value.  If the input
      RCU rate exceeds the high watermark, we do two things - force quiescent
      state on all cpus and set the batch limit of the CPU to INTMAX.  Setting
      batch limit to INTMAX forces all finished RCUs to be processed in one shot.
       If we have more than INTMAX RCUs queued up, then we have bigger problems
      anyway.  Once the incoming queued RCUs fall below the low watermark, the
      batch limit is set to the default.
      Signed-off-by: NDipankar Sarma <dipankar@in.ibm.com>
      Cc: "Paul E. McKenney" <paulmck@us.ibm.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      21a1ea9e
  6. 05 3月, 2006 1 次提交
  7. 04 3月, 2006 3 次提交
  8. 28 2月, 2006 1 次提交
  9. 27 2月, 2006 1 次提交
    • A
      [PATCH] x86_64: Better ATI timer fix · ab9b32ee
      Andi Kleen 提交于
      The previous experiment for using apicmaintimer on ATI systems didn't
      work out very well.  In particular laptops with C2/C3 support often
      don't let it tick during idle, which makes it useless.  There were also
      some other bugs that made the apicmaintimer often not used at all.
      
      I tried some other experiments - running timer over RTC and some other
      things but they didn't really work well neither.
      
      I rechecked the specs now and it turns out this simple change is
      actually enough to avoid the double ticks on the ATI systems.  We just
      turn off IRQ 0 in the 8254 and only route it directly using the IO-APIC.
      
      I tested it on a few ATI systems and it worked there.  In fact it worked
      on all chipsets (NVidia, Intel, AMD, ATI) I tried it on.
      
      According to the ACPI spec routing should always work through the
      IO-APIC so I think it's the correct thing to do anyways (and most of the
      old gunk in check_timer should be thrown away for x86-64).
      
      But for 2.6.16 it's best to do a fairly minimal change:
       - Use the known to be working everywhere-but-ATI IRQ0 both over 8254
         and IO-APIC setup everywhere
       - Except on ATI disable IRQ0 in the 8254
       - Remove the code to select apicmaintimer on ATI chipsets
       - Add some boot options to allow to override this (just paranoia)
      
      In 2.6.17 I hope to switch the default over to this for everybody.
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      ab9b32ee
  10. 25 2月, 2006 1 次提交
  11. 24 2月, 2006 1 次提交
  12. 23 2月, 2006 1 次提交
    • G
      Revert mount/umount uevent removal · fa675765
      Greg Kroah-Hartman 提交于
      This change reverts the 033b96fd commit
      from Kay Sievers that removed the mount/umount uevents from the kernel.
      Some older versions of HAL still depend on these events to detect when a
      new device has been mounted.  These events are not correctly emitted,
      and are broken by design, and so, should not be relied upon by any
      future program.  Instead, the /proc/mounts file should be polled to
      properly detect this kind of event.
      
      A feature-removal-schedule.txt entry has been added, noting when this
      interface will be removed from the kernel.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      fa675765
  13. 22 2月, 2006 1 次提交
    • H
      [PATCH] tmpfs: fix mount mpol nodelist parsing · b00dc3ad
      Hugh Dickins 提交于
      I've been dissatisfied with the mpol_nodelist mount option which was
      added to tmpfs earlier in -rc.  Replace it by mpol=policy:nodelist.
      
      And it was broken: a nodelist is a comma-separated list of numbers and
      ranges; the mount options are a comma-separated list of token=values.
      Whoops, blindly strsep'ing on commas doesn't work so well: since we've
      no numeric tokens, and unlikely to add them, use that to distinguish.
      
      Move the mpol= parsing to shmem_parse_mpol under CONFIG_NUMA, reject
      all its options as invalid if not NUMA.  /proc shows MPOL_PREFERRED
      as "prefer", so use that name for the policy instead of "preferred".
      
      Enforce that mpol=default has no nodelist; that mpol=prefer has one
      node only; that mpol=bind has a nodelist; but let mpol=interleave use
      node_online_map if no nodelist given.  Describe this in tmpfs.txt.
      Signed-off-by: NHugh Dickins <hugh@veritas.com>
      Acked-by: NRobin Holt <holt@sgi.com>
      Acked-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      b00dc3ad
  14. 21 2月, 2006 3 次提交
  15. 18 2月, 2006 3 次提交
  16. 17 2月, 2006 1 次提交
  17. 16 2月, 2006 1 次提交
  18. 15 2月, 2006 3 次提交
    • D
      [PATCH] FRV: Use virtual interrupt disablement · 28baebae
      David Howells 提交于
      Make the FRV arch use virtual interrupt disablement because accesses to the
      processor status register (PSR) are relatively slow and because we will
      soon have the need to deal with multiple interrupt controls at the same
      time (separate h/w and inter-core interrupts).
      
      The way this is done is to dedicate one of the four integer condition code
      registers (ICC2) to maintaining a virtual interrupt disablement state
      whilst inside the kernel.  This uses the ICC2.Z flag (Zero) to indicate
      whether the interrupts are virtually disabled and the ICC2.C flag (Carry)
      to indicate whether the interrupts are physically disabled.
      
      ICC2.Z is set to indicate interrupts are virtually disabled.  ICC2.C is set
      to indicate interrupts are physically enabled.  Under normal running
      conditions Z==0 and C==1.
      
      Disabling interrupts with local_irq_disable() doesn't then actually
      physically disable interrupts - it merely sets ICC2.Z to 1.  Should an
      interrupt then happen, the exception prologue will note ICC2.Z is set and
      branch out of line using one instruction (an unlikely BEQ).  Here it will
      physically disable interrupts and clear ICC2.C.
      
      When it comes time to enable interrupts (local_irq_enable()), this simply
      clears the ICC2.Z flag and invokes a trap #2 if both Z and C flags are
      clear (the HI integer condition).  This can be done with the TIHI
      conditional trap instruction.
      
      The trap then physically reenables interrupts and sets ICC2.C again.  Upon
      returning the interrupt will be taken as interrupts will then be enabled.
      Note that whilst processing the trap, the whole exceptions system is
      disabled, and so an interrupt can't happen till it returns.
      
      If no pending interrupt had happened, ICC2.C would still be set, the HI
      condition would not be fulfilled, and no trap will happen.
      
      Saving interrupts (local_irq_save) is simply a matter of pulling the ICC2.Z
      flag out of the CCR register, shifting it down and masking it off.  This
      gives a result of 0 if interrupts were enabled and 1 if they weren't.
      
      Restoring interrupts (local_irq_restore) is then a matter of taking the
      saved value mentioned previously and XOR'ing it against 1.  If it was one,
      the result will be zero, and if it was zero the result will be non-zero.
      This result is then used to affect the ICC2.Z flag directly (it is a
      condition code flag after all).  An XOR instruction does not affect the
      Carry flag, and so that bit of state is unchanged.  The two flags can then
      be sampled to see if they're both zero using the trap (TIHI) as for the
      unconditional reenablement (local_irq_enable).
      
      This patch also:
      
       (1) Modifies the debugging stub (break.S) to handle single-stepping crossing
           into the trap #2 handler and into virtually disabled interrupts.
      
       (2) Removes superseded fixup pointers from the second instructions in the trap
           tables (there's no a separate fixup table for this).
      
       (3) Declares the trap #3 vector for use in .org directives in the trap table.
      
       (4) Moves irq_enter() and irq_exit() in do_IRQ() to avoid problems with
           virtual interrupt handling, and removes the duplicate code that has now
           been folded into irq_exit() (softirq and preemption handling).
      
       (5) Tells the compiler in the arch Makefile that ICC2 is now reserved.
      
       (6) Documents the in-kernel ABI, including the virtual interrupts.
      
       (7) Renames the old irq management functions to different names.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      28baebae
    • J
      [PATCH] kprobes: Update Documentation/kprobes.txt · 8861da31
      Jim Keniston 提交于
      Update Documentation/kprobes.txt to reflect Kprobes enhancements and other
      recent developments.
      Acked-by: NAnanth Mavinakayanahalli <mananth@in.ibm.com>
      Signed-off-by: NJim Keniston <jkenisto@us.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      8861da31
    • R
  19. 14 2月, 2006 1 次提交
  20. 10 2月, 2006 1 次提交
  21. 08 2月, 2006 1 次提交
  22. 07 2月, 2006 3 次提交