1. 08 9月, 2005 5 次提交
    • P
      [PATCH] IA64: convert kcalloc to kzalloc · f96cb1f0
      Pekka Enberg 提交于
      This patch converts kcalloc(1, ...) calls to use the new kzalloc() function.
      Signed-off-by: NPekka Enberg <penberg@cs.helsinki.fi>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      f96cb1f0
    • M
      [PATCH] remove duplicated sys_open32() code from 64bit archs · e922efc3
      Miklos Szeredi 提交于
      64 bit architectures all implement their own compatibility sys_open(),
      when in fact the difference is simply not forcing the O_LARGEFILE
      flag.  So use the a common function instead.
      Signed-off-by: NMiklos Szeredi <miklos@szeredi.hu>
      Cc: <viro@parcelfarce.linux.theplanet.co.uk>
      Cc: Christoph Hellwig <hch@lst.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      e922efc3
    • J
      9c1cfda2
    • J
      [PATCH] ia64 cpuset + build_sched_domains() mangles structures · f68f447e
      John Hawkes 提交于
      I've already sent this to the maintainers, and this is now being sent to a
      larger community audience.  I have fixed a problem with the ia64 version of
      build_sched_domains(), but a similar fix still needs to be made to the
      generic build_sched_domains() in kernel/sched.c.
      
      The "dynamic sched domains" functionality has recently been merged into
      2.6.13-rcN that sees the dynamic declaration of a cpu-exclusive (a.k.a.
      "isolated") cpuset and rebuilds the CPU Scheduler sched domains and sched
      groups to separate away the CPUs in this cpu-exclusive cpuset from the
      remainder of the non-isolated CPUs.  This allows the non-isolated CPUs to
      completely ignore the isolated CPUs when doing load-balancing.
      
      Unfortunately, build_sched_domains() expects that a sched domain will
      include all the CPUs of each node in the domain, i.e., that no node will
      belong in both an isolated cpuset and a non-isolated cpuset.  Declaring a
      cpuset that violates this presumption will produce flawed data structures
      and will oops the kernel.
      
      To trigger the problem (on a NUMA system with >1 CPUs per node):
         cd /dev/cpuset
         mkdir newcpuset
         cd newcpuset
         echo 0 >cpus
         echo 0 >mems
         echo 1 >cpu_exclusive
      
      I have fixed this shortcoming for ia64 NUMA (with multiple CPUs per node).
      A similar shortcoming exists in the generic build_sched_domains() (in
      kernel/sched.c) for NUMA, and that needs to be fixed also.  The fix
      involves dynamically allocating sched_group_nodes[] and
      sched_group_allnodes[] for each invocation of build_sched_domains(), rather
      than using global arrays for these structures.  Care must be taken to
      remember kmalloc() addresses so that arch_destroy_sched_domains() can
      properly kfree() the new dynamic structures.
      Signed-off-by: NJohn Hawkes <hawkes@sgi.com>
      Cc: Nick Piggin <nickpiggin@yahoo.com.au>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      f68f447e
    • A
      [PATCH] x86/x86_64: deferred handling of writes to /proc/irqxx/smp_affinity · 54d5d424
      Ashok Raj 提交于
      When handling writes to /proc/irq, current code is re-programming rte
      entries directly. This is not recommended and could potentially cause
      chipset's to lockup, or cause missing interrupts.
      
      CONFIG_IRQ_BALANCE does this correctly, where it re-programs only when the
      interrupt is pending. The same needs to be done for /proc/irq handling as well.
      Otherwise user space irq balancers are really not doing the right thing.
      
      - Changed pending_irq_balance_cpumask to pending_irq_migrate_cpumask for
        lack of a generic name.
      - added move_irq out of IRQ_BALANCE, and added this same to X86_64
      - Added new proc handler for write, so we can do deferred write at irq
        handling time.
      - Display of /proc/irq/XX/smp_affinity used to display CPU_MASKALL, instead
        it now shows only active cpu masks, or exactly what was set.
      - Provided a common move_irq implementation, instead of duplicating
        when using generic irq framework.
      
      Tested on i386/x86_64 and ia64 with CONFIG_PCI_MSI turned on and off.
      Tested UP builds as well.
      
      MSI testing: tbd: I have cards, need to look for a x-over cable, although I
      did test an earlier version of this patch.  Will test in a couple days.
      Signed-off-by: NAshok Raj <ashok.raj@intel.com>
      Acked-by: NZwane Mwaikambo <zwane@holomorphy.com>
      Grudgingly-acked-by: NAndi Kleen <ak@muc.de>
      Signed-off-by: NCoywolf Qi Hunt <coywolf@lovecn.org>
      Signed-off-by: NAshok Raj <ashok.raj@intel.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      54d5d424
  2. 01 9月, 2005 1 次提交
  3. 30 8月, 2005 1 次提交
    • S
      [PATCH] convert signal handling of NODEFER to act like other Unix boxes. · 69be8f18
      Steven Rostedt 提交于
      It has been reported that the way Linux handles NODEFER for signals is
      not consistent with the way other Unix boxes handle it.  I've written a
      program to test the behavior of how this flag affects signals and had
      several reports from people who ran this on various Unix boxes,
      confirming that Linux seems to be unique on the way this is handled.
      
      The way NODEFER affects signals on other Unix boxes is as follows:
      
      1) If NODEFER is set, other signals in sa_mask are still blocked.
      
      2) If NODEFER is set and the signal is in sa_mask, then the signal is
      still blocked. (Note: this is the behavior of all tested but Linux _and_
      NetBSD 2.0 *).
      
      The way NODEFER affects signals on Linux:
      
      1) If NODEFER is set, other signals are _not_ blocked regardless of
      sa_mask (Even NetBSD doesn't do this).
      
      2) If NODEFER is set and the signal is in sa_mask, then the signal being
      handled is not blocked.
      
      The patch converts signal handling in all current Linux architectures to
      the way most Unix boxes work.
      
      Unix boxes that were tested:  DU4, AIX 5.2, Irix 6.5, NetBSD 2.0, SFU
      3.5 on WinXP, AIX 5.3, Mac OSX, and of course Linux 2.6.13-rcX.
      
      * NetBSD was the only other Unix to behave like Linux on point #2. The
      main concern was brought up by point #1 which even NetBSD isn't like
      Linux.  So with this patch, we leave NetBSD as the lonely one that
      behaves differently here with #2.
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      69be8f18
  4. 27 8月, 2005 4 次提交
  5. 25 8月, 2005 8 次提交
  6. 23 8月, 2005 2 次提交
  7. 19 8月, 2005 2 次提交
    • A
      [IA64, X86_64] fix swiotlb sizing · e8579e72
      Alex Williamson 提交于
         Fix swiotlb sizing to match what the comments and the kernel
      parameters documentation indicate.  Given a default 16k page size kernel
      (ia64) and a 2k swiotlb page size, we're off by a multiple of 8 trying
      to size the swiotlb.  When specified on the boot line, the swiotlb is
      made 8x bigger than requested.  When left to the default value, it's 8x
      smaller than the comments indicate.  For x86_64 the multiplier would be
      2x.  The patch below fixes this.  Now, what's a good default swiotlb
      size?  Apparently we don't really need 64MB.
      Signed-off-by: NAlex Williamson <alex.williamson@hp.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      e8579e72
    • I
      [IA64] Simulator bootloader fails with gcc 4 · 4aec0fb1
      Ian Wienand 提交于
      After building a fresh tree with gcc 4 I can't boot the simulator as
      the bootloader loader dies with 
      
      loading /home/ianw/kerntest/kerncomp//build/sim_defconfig/vmlinux...
      failed to read phdr
      
      After some investigation I believe this is do with differences between
      the alignment of variables on the stack between gcc 3 and 4 and the
      ski simulator.  If you trace through with the simulator you can see
      that the disk_stat structure value returned from the SSC_WAIT_COMPLETION
      call seems to be only half loaded.  I guess it doesn't like the alignment
      of the input.
      Signed-off-by: NIan Wienand <ianw@gelato.unsw.edu.au>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      4aec0fb1
  8. 18 8月, 2005 7 次提交
  9. 17 8月, 2005 4 次提交
  10. 16 8月, 2005 2 次提交
  11. 12 8月, 2005 4 次提交