1. 03 8月, 2006 2 次提交
  2. 01 8月, 2006 10 次提交
  3. 30 7月, 2006 5 次提交
    • 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
      V4L/DVB (4343): Fix for compilation without V4L1 or V4L1_COMPAT · 985bc96e
      Mauro Carvalho Chehab 提交于
      Removed usage of HAVE_V4L1
      Including videodev.h will just include videodev2.h if V4L1 is not supported
      V4L1 code at core drivers will honor CONFIG_V4L1_COMPAT stuff
      Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
      985bc96e
    • M
      V4L/DVB (4342): Fix ext_controls align on 64 bit architectures · f251d23e
      Mauro Carvalho Chehab 提交于
      u64 is aligned as 128bits on x86_64 architetures, requiring an special
      handling to ioctls that depends on v4l2_ext_control. 
      Let's fix this before ext controls go to kernel mainstream to avoid one 
      more compat32 stuff.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
      f251d23e
    • M
      V4L/DVB (4316): Check __must_check warnings · 3117beec
      Michael Krufky 提交于
      
      Check __must_check warnings for class_device_register and class_device_create_file
      
      video_device_create_file was declared as a void, but instead should
      return the int value of class_device_create_file.
      
      Move the check from bttv-driver.c into v4l2-dev.h, because all other
      callers of video_device_create_file must also be checked.
      
      Replace the call to class_device_create_file in videodev.c with
      video_device_create_file, as defined in v4l2-dev.h, so that the
      return value of class_device_create_file will be checked.
      
      Check the return value of class_device_register in videodev.c and
      pvrusb2-sysfs.c
      Signed-off-by: NMichael Krufky <mkrufky@linuxtv.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
      3117beec
  4. 29 7月, 2006 2 次提交
    • I
      [PATCH] pi-futex: robust-futex exit · e3f2ddea
      Ingo Molnar 提交于
      Fix robust PI-futexes to be properly unlocked on unexpected exit.
      
      For this to work the kernel has to know whether a futex is a PI or a
      non-PI one, because the semantics are different.  Since the space in
      relevant glibc data structures is extremely scarce, the best solution is
      to encode the 'PI' information in bit 0 of the robust list pointer.
      Existing (non-PI) glibc robust futexes have this bit always zero, so the
      ABI is kept.  New glibc with PI-robust-futexes will set this bit.
      
      Further fixes from Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NUlrich Drepper <drepper@redhat.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      e3f2ddea
    • B
      [PATCH] x86_64: Enlarge debug stack for nested kprobes · a4045dff
      bibo mao 提交于
      In x86_64 platform, INT1 and INT3 trap stack is IST stack called DEBUG_STACK,
      when INT1/INT3 trap happens, system will switch to DEBUG_STACK by hardware.
      Current DEBUG_STACK size is 4K, when int1/int3 trap happens, kernel will
      minus current DEBUG_STACK IST value by 4k. But if int3/int1 trap is nested,
      it will destroy other vector's IST stack. This patch modifies this, it sets
      DEBUG_STACK size as 8K and allows two level of nested int1/int3 trap.
      
      Kprobe DEBUG_STACK may be nested, because kprobe handler may be probed
      by other kprobes.
      
      Thanks jbeulich for pointing out error in the first patch.
      
      [AK: nested kprobes are pretty dubious. Hopefully one nest
      will be enough. This will cost 8K per CPU (4K more than before)]
      Signed-off-by: Nbibo, mao <bibo.mao@intel.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      a4045dff
  5. 28 7月, 2006 3 次提交
  6. 26 7月, 2006 1 次提交
    • A
      [PATCH] Reorganize the cpufreq cpu hotplug locking to not be totally bizare · 153d7f3f
      Arjan van de Ven 提交于
      The patch below moves the cpu hotplugging higher up in the cpufreq
      layering; this is needed to avoid recursive taking of the cpu hotplug
      lock and to otherwise detangle the mess.
      
      The new rules are:
      1. you must do lock_cpu_hotplug() around the following functions:
         __cpufreq_driver_target
         __cpufreq_governor (for CPUFREQ_GOV_LIMITS operation only)
         __cpufreq_set_policy
      2. governer methods (.governer) must NOT take the lock_cpu_hotplug()
         lock in any way; they are called with the lock taken already
      3. if your governer spawns a thread that does things, like calling
         __cpufreq_driver_target, your thread must honor rule #1.
      4. the policy lock and other cpufreq internal locks nest within
         the lock_cpu_hotplug() lock.
      
      I'm not entirely happy about how the __cpufreq_governor rule ended up
      (conditional locking rule depending on the argument) but basically all
      callers pass this as a constant so it's not too horrible.
      
      The patch also removes the cpufreq_governor() function since during the
      locking audit it turned out to be entirely unused (so no need to fix it)
      
      The patch works on my testbox, but it could use more testing
      (otoh... it can't be much worse than the current code)
      Signed-off-by: NArjan van de Ven <arjan@linux.intel.com>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      153d7f3f
  7. 25 7月, 2006 7 次提交
  8. 24 7月, 2006 1 次提交
    • L
      cpu hotplug: simplify and hopefully fix locking · aa953877
      Linus Torvalds 提交于
      The CPU hotplug locking was quite messy, with a recursive lock to
      handle the fact that both the actual up/down sequence wanted to
      protect itself from being re-entered, but the callbacks that it
      called also tended to want to protect themselves from CPU events.
      
      This splits the lock into two (one to serialize the whole hotplug
      sequence, the other to protect against the CPU present bitmaps
      changing). The latter still allows recursive usage because some
      subsystems (ondemand policy for cpufreq at least) had already gotten
      too used to the lax locking, but the locking mistakes are hopefully
      now less fundamental, and we now warn about recursive lock usage
      when we see it, in the hope that it can be fixed.
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      aa953877
  9. 22 7月, 2006 6 次提交
  10. 20 7月, 2006 1 次提交
    • T
      [PATCH] libata: improve EH action and EHI flag handling · 13abf50d
      Tejun Heo 提交于
      Update ata_eh_about_to_do() and ata_eh_done() to improve EH action and
      EHI flag handling.
      
      * There are two types of EHI flags - one which expires on successful
        EH and the other which expires on a successful reset.  Make this
        distinction clear.
      
      * Unlike other EH actions, reset actions are represented by two EH
        action masks and a EHI modifier.  Implement correct about_to_do/done
        semantics for resets.  That is, prior to reset, related EH info is
        sucked in from ehi and cleared, and after reset is complete, related
        EH info in ehc is cleared.
      
      These changes improve consistency and remove unnecessary EH actions
      caused by stale EH action masks and EHI flags.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      13abf50d
  11. 17 7月, 2006 2 次提交