1. 03 8月, 2006 2 次提交
  2. 01 8月, 2006 3 次提交
  3. 30 7月, 2006 4 次提交
    • A
      [PATCH] x86_64: Fix swiotlb=force · 65f87d8a
      Andi Kleen 提交于
      It was broken before. But having it is important as possible hardware
      bug workaround.
      
      And previously there was no way to force swiotlb if there is another IOMMU.
      Side effect is that iommu=force won't force swiotlb anymore even if there
      isn't another IOMMU.
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      65f87d8a
    • J
      [PATCH] x86_64: Calgary IOMMU - Multi-Node NULL pointer dereference fix · d2105b10
      Jon Mason 提交于
      Calgary hits a NULL pointer dereference when booting in a multi-chassis
      NUMA system.  See Redhat bugzilla number 198498, found by Konrad
      Rzeszutek (konradr@redhat.com).
      
      There are many issues that had to be resolved to fix this problem.
      Firstly when I originally wrote the code to handle NUMA systems, I
      had a large misunderstanding that was not corrected until now.  That was
      that I thought the "number of nodes online" referred to number of
      physical systems connected.  So that if NUMA was disabled, there
      would only be 1 node and it would only show that node's PCI bus.
      In reality if NUMA is disabled, the system displays all of the
      connected chassis as one node but is only ignorant of the delays
      in accessing main memory.  Therefore, references to num_online_nodes()
      and MAX_NUMNODES are incorrect and need to be set to the maximum
      number of nodes that can be accessed (which are 8).  I created a
      variable, MAX_NUM_CHASSIS, and set it to 8 to fix this.
      
      Secondly, when walking the PCI in detect_calgary, the code only
      checked the first "slot" when looking to see if a device is present.
      This will work for most cases, but unfortunately it isn't always the
      case.  In the NUMA MXE drawers, there are USB devices present on the
      3rd slot (with slot 1 being empty).  So, to work around this, all
      slots (up to 8) are scanned to see if there are any devices present.
      
      Lastly, the bus is being enumerated on large systems in a different
      way the we originally thought.  This throws the ugly logic we had
      out the window.  To more elegantly handle this, I reorganized the
      kva array to be sparse (which removed the need to have any bus number
      to kva slot logic in tce.c) and created a secondary space array to
      contain the bus number to phb mapping.
      
      With these changes Calgary boots on an x460 with 4 nodes with and
      without NUMA enabled.
      Signed-off-by: NJon Mason <jdmason@us.ibm.com>
      Signed-off-by: NMuli Ben-Yehuda <muli@il.ibm.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      d2105b10
    • M
      [PATCH] x86_64: Calgary IOMMU - fix off by one error · 089bbbcb
      Muli Ben-Yehuda 提交于
      Fixed off-by-one error in detect_calgary and calgary_init which will
      cause arrays to overflow.  Also, removed impossible to hit BUG_ON.
      Signed-off-by: NJon Mason <jdmason@us.ibm.com>
      Signed-off-by: NMuli Ben-Yehuda <muli@il.ibm.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      089bbbcb
    • A
      [PATCH] x86_64: On Intel systems when CPU has C3 don't use TSC · 0e5f61b0
      Andi Kleen 提交于
      On Intel systems generally the TSC stops in C3 or deeper,
      so don't use it there. Follows similar logic on i386.
      
      This should fix problems on Meroms.
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      0e5f61b0
  4. 29 7月, 2006 2 次提交
    • A
      [PATCH] x86_64: Dump leftover backtrace entries when dwarf2 unwinder got stuck · b13761ec
      Andi Kleen 提交于
      The dwarf2 unwinder currently often gets stuck because a lot
      of assembly code doesn't have proper dwarf2 annotiation yet.
      
      This currently often happens with __down. Should fix this by
      adding proper dwarf2 annotation to all inline assembly. However
      until that's done we need a quick fix for 2.6.18 to avoid
      incomplete backtraces.
      
      So when this happens dump the rest of the stack with the old unwinder
      instead of silently not dumping it. There was already a optional
      "both" mode that dumped both, but that was too ugly.
      
      I also clarified the headers for the different backtraces a bit.
      
      Also add a clear error message for missing dwarf2
      annotation that people can work on.
      
      And I removed a dead variable left over from Ingo's changes.
      
      Cc: mingo@elte.hu
      Cc: jbeulich@novell.com
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      b13761ec
    • A
      [PATCH] i386/x86-64: Add user_mode checks to profile_pc for oprofile · d5a26017
      Andi Kleen 提交于
      Fixes a obscure user space triggerable crash during oprofiling.
      
      Oprofile calls profile_pc from NMIs even when user_mode(regs) is not true and
      the program counter is inside the kernel lock section. This opens
      a race - when a user program jumps to a kernel lock address and
      a NMI happens before the illegal page fault exception is raised
      and the program has a unmapped esp or ebp then the kernel could
      oops. NMIs have a higher priority than exceptions so that could
      happen.
      
      Add user_mode checks to i386/x86-64 profile_pc to prevent that.
      
      Cc: John Levon <levon@movementarian.org>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      d5a26017
  5. 11 7月, 2006 6 次提交
  6. 04 7月, 2006 7 次提交
  7. 03 7月, 2006 1 次提交
  8. 01 7月, 2006 2 次提交
  9. 30 6月, 2006 4 次提交
    • A
      [NET]: make skb_release_data() static · 5bba1712
      Adrian Bunk 提交于
      skb_release_data() no longer has any users in other files.
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5bba1712
    • I
      [PATCH] genirq: add ->retrigger() irq op to consolidate hw_irq_resend() · c0ad90a3
      Ingo Molnar 提交于
      Add ->retrigger() irq op to consolidate hw_irq_resend() implementations.
      (Most architectures had it defined to NOP anyway.)
      
      NOTE: ia64 needs testing. i386 and x86_64 tested.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      c0ad90a3
    • I
      [PATCH] genirq: cleanup: merge irq_affinity[] into irq_desc[] · a53da52f
      Ingo Molnar 提交于
      Consolidation: remove the irq_affinity[NR_IRQS] array and move it into the
      irq_desc[NR_IRQS].affinity field.
      
      [akpm@osdl.org: sparc64 build fix]
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      a53da52f
    • I
      [PATCH] genirq: rename desc->handler to desc->chip · d1bef4ed
      Ingo Molnar 提交于
      This patch-queue improves the generic IRQ layer to be truly generic, by adding
      various abstractions and features to it, without impacting existing
      functionality.
      
      While the queue can be best described as "fix and improve everything in the
      generic IRQ layer that we could think of", and thus it consists of many
      smaller features and lots of cleanups, the one feature that stands out most is
      the new 'irq chip' abstraction.
      
      The irq-chip abstraction is about describing and coding and IRQ controller
      driver by mapping its raw hardware capabilities [and quirks, if needed] in a
      straightforward way, without having to think about "IRQ flow"
      (level/edge/etc.) type of details.
      
      This stands in contrast with the current 'irq-type' model of genirq
      architectures, which 'mixes' raw hardware capabilities with 'flow' details.
      The patchset supports both types of irq controller designs at once, and
      converts i386 and x86_64 to the new irq-chip design.
      
      As a bonus side-effect of the irq-chip approach, chained interrupt controllers
      (master/slave PIC constructs, etc.) are now supported by design as well.
      
      The end result of this patchset intends to be simpler architecture-level code
      and more consolidation between architectures.
      
      We reused many bits of code and many concepts from Russell King's ARM IRQ
      layer, the merging of which was one of the motivations for this patchset.
      
      This patch:
      
      rename desc->handler to desc->chip.
      
      Originally i did not want to do this, because it's a big patch.  But having
      both "desc->handler", "desc->handle_irq" and "action->handler" caused a
      large degree of confusion and made the code appear alot less clean than it
      truly is.
      
      I have also attempted a dual approach as well by introducing a
      desc->chip alias - but that just wasnt robust enough and broke
      frequently.
      
      So lets get over with this quickly.  The conversion was done automatically
      via scripts and converts all the code in the kernel.
      
      This renaming patch is the first one amongst the patches, so that the
      remaining patches can stay flexible and can be merged and split up
      without having some big monolithic patch act as a merge barrier.
      
      [akpm@osdl.org: build fix]
      [akpm@osdl.org: another build fix]
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      d1bef4ed
  10. 29 6月, 2006 2 次提交
  11. 28 6月, 2006 4 次提交
  12. 27 6月, 2006 3 次提交