1. 01 9月, 2005 1 次提交
  2. 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
  3. 27 8月, 2005 4 次提交
  4. 25 8月, 2005 8 次提交
  5. 23 8月, 2005 2 次提交
  6. 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
  7. 18 8月, 2005 7 次提交
  8. 17 8月, 2005 4 次提交
  9. 16 8月, 2005 2 次提交
  10. 12 8月, 2005 5 次提交
  11. 11 8月, 2005 1 次提交
    • S
      [IA64] fix perfmon context load · 6bf11e8c
      stephane.eranian@hp.com 提交于
      The PFM_LOAD_CONTEXT may fail silently and cause a session
      to remain reserved even though it should not. This can happen
      when the commands succeeds in reserving the session but fails
      when it actually tries to attach to the load_pid. In that case,
      the command has failed but will return 0. More importantly,
      the session will remain reserved. This patch fixes the problem.
      
      Signed-off-by: <stephane.eranian@hp.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      6bf11e8c
  12. 09 8月, 2005 1 次提交
  13. 02 8月, 2005 1 次提交
    • I
      [PATCH] remove sys_set_zone_reclaim() · 6cb54819
      Ingo Molnar 提交于
      This removes sys_set_zone_reclaim() for now.  While i'm sure Martin is
      trying to solve a real problem, we must not hard-code an incomplete and
      insufficient approach into a syscall, because syscalls are pretty much
      for eternity.  I am quite strongly convinced that this syscall must not
      hit v2.6.13 in its current form.
      
      Firstly, the syscall lacks basic syscall design: e.g. it allows the
      global setting of VM policy for unprivileged users. (!) [ Imagine an
      Oracle installation and a SAP installation on the same NUMA box fighting
      over the 'optimal' setting for this flag. What will they do? Will they
      try to set the flag to their own preferred value every second or so? ]
      
      Secondly, it was added based on a single datapoint from Martin:
      
       http://marc.theaimsgroup.com/?l=linux-mm&m=111763597218177&w=2
      
      where Martin characterizes the numbers the following way:
      
       ' Run-to-run variability for "make -j" is huge, so these numbers aren't
         terribly useful except to see that with reclaim the benchmark still
         finishes in a reasonable amount of time. '
      
      in other words: the fundamental problem has likely not been solved, only
      a tendential move into the right direction has been observed, and a
      handful of numbers were picked out of a set of hugely variable results,
      without showing the variability data. How much variance is there
      run-to-run?
      
      I'd really suggest to first walk the walk and see what's needed to get
      stable & predictable kernel compilation numbers on that NUMA box, before
      adding random syscalls to tune a particular aspect of the VM ... which
      approach might not even matter once the whole picture has been analyzed
      and understood!
      
      The third, most important point is that the syscall exposes VM tuning
      internals in a completely unstructured way. What sense does it make to
      have a _GLOBAL_ per-node setting for 'should we go to another node for
      reclaim'? If then it might make sense to do this per-app, via numalib or
      so.
      
      The change is minimalistic in that it doesnt remove the syscall and the
      underlying infrastructure changes, only the user-visible changes.  We
      could perhaps add a CAP_SYS_ADMIN-only sysctl for this hack, a'ka
      /proc/sys/vm/swappiness, but even that looks quite counterproductive
      when the generic approach is that we are trying to reduce the number of
      external factors in the VM balance picture.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      6cb54819
  14. 28 7月, 2005 1 次提交
    • K
      [IA64] unwind.c uses wrong unat from switch_stack · b833961b
      Keith Owens 提交于
      unwind.c can read the wrong unat bits from switch_stack.
      sw->caller_unat is the value of ar.unat when the task was blocked.
      sw->ar_unat is the value of ar.unat after doing st8.spill for r4-7.
      IOW, ar_unat is caller_unat with 4 bits changed.
      
      unw_access_gr() uses sw->ar_unat for r4-7 (correct), but it also uses
      sw->ar_unat for other scratch registers (incorrect).  sw->ar_unat
      should only be used for r4-7, everything else should use
      sw->caller_unat, unless modified by unwind info.  Using sw->ar_unat
      risks picking up the 4 bits that were overwritten when r4-7 were saved.
      
      Also this line is wrong
      	unw.sw_off[unw.preg_index[UNW_REG_PFS]] = SW(AR_UNAT);
      and should be
      	unw.sw_off[unw.preg_index[UNW_REG_PFS]] = SW(AR_PFS);
      Signed-off-by: NKeith Owens <kaos@sgi.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      b833961b