1. 06 6月, 2008 5 次提交
  2. 05 6月, 2008 7 次提交
  3. 04 6月, 2008 7 次提交
  4. 03 6月, 2008 2 次提交
  5. 02 6月, 2008 1 次提交
    • P
      sh: fix miscompilation of ip_fast_csum with gcc >= 4.3 · d02d6be5
      Paul Mundt 提交于
      As noted by Matthew Wilcox:
      
          Kyle McMartin just tracked down a bug on parisc to a missing
          "memory" clobber in the inline assembly implementation of
          ip_fast_csum.  The FRV, SH and Xtensa ports are also missing a
          memory clobber, so I thought it would be polite to let you know.
      
          The bug manifests as dropped network packets (obviously they have
          the wrong checksum).  It started appearing for parisc with GCC 4.3.
      
          The GCC manual says:
      
           If your assembler instructions access memory in an unpredictable
           fashion, add `memory' to the list of clobbered registers.  This
           will cause GCC to not keep memory values cached in registers
           across the assembler instruction and not optimize stores or loads
           to that memory.
      
          I see that FRV has a 400 byte memory output which may prevent this
          problem from appearing, but SH and Xtensa have nothing to prevent
          this bug.  Hope this saves you a few days of debugging.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      d02d6be5
  6. 31 5月, 2008 3 次提交
  7. 30 5月, 2008 10 次提交
  8. 29 5月, 2008 3 次提交
    • I
      sched: re-tune NUMA topologies · ea3f01f8
      Ingo Molnar 提交于
      improve the sysbench ramp-up phase and its peak throughput on
      a 16way NUMA box, by turning on WAKE_AFFINE:
      
                   tip/sched   tip/sched+wake-affine
      -------------------------------------------------
          1:             700              830    +15.65%
          2:            1465             1391    -5.28%
          4:            3017             3105    +2.81%
          8:            5100             6021    +15.30%
         16:           10725            10745    +0.19%
         32:           10135            10150    +0.16%
         64:            9338             9240    -1.06%
        128:            8599             8252    -4.21%
        256:            8475             8144    -4.07%
      -------------------------------------------------
        SUM:           57558            57882    +0.56%
      
      this change also improves lat_ctx from 6.69 usecs to 1.11 usec:
      
        $ ./lat_ctx -s 0 2
        "size=0k ovr=1.19
        2 1.11
      
        $ ./lat_ctx -s 0 2
        "size=0k ovr=1.22
        2 6.69
      
      in sysbench it's an overall win with some weakness at the lots-of-clients
      side. That happens because we now under-balance this workload
      a bit. To counter that effect, turn on NEWIDLE:
      
                    wake-idle          wake-idle+newidle
       -------------------------------------------------
           1:             830              834    +0.43%
           2:            1391             1401    +0.65%
           4:            3105             3091    -0.43%
           8:            6021             6046    +0.42%
          16:           10745            10736    -0.08%
          32:           10150            10206    +0.55%
          64:            9240             9533    +3.08%
         128:            8252             8355    +1.24%
         256:            8144             8384    +2.87%
       -------------------------------------------------
         SUM:           57882            58591    +1.21%
      
      as a bonus this not only improves the many-clients case but
      also improves the (more important) rampup phase.
      
      sysbench is a workload that quickly breaks down if the
      scheduler over-balances, so since it showed an improvement
      under NEWIDLE this change is definitely good.
      ea3f01f8
    • I
      revert ("sched: fair-group: SMP-nice for group scheduling") · 6363ca57
      Ingo Molnar 提交于
      Yanmin Zhang reported:
      
      Comparing with 2.6.25, volanoMark has big regression with kernel 2.6.26-rc1.
      It's about 50% on my 8-core stoakley, 16-core tigerton, and Itanium Montecito.
      
      With bisect, I located the following patch:
      
      | 18d95a28 is first bad commit
      | commit 18d95a28
      | Author: Peter Zijlstra <a.p.zijlstra@chello.nl>
      | Date:   Sat Apr 19 19:45:00 2008 +0200
      |
      |     sched: fair-group: SMP-nice for group scheduling
      
      Revert it so that we get v2.6.25 behavior.
      Bisected-by: NYanmin Zhang <yanmin_zhang@linux.intel.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      6363ca57
    • D
      Fix FRV minimum slab/kmalloc alignment · 0a2ce2ff
      David Howells 提交于
      > +#define	ARCH_KMALLOC_MINALIGN		(sizeof(long) * 2)
      > +#define	ARCH_SLAB_MINALIGN		(sizeof(long) * 2)
      
      This doesn't work if SLAB is selected and slab debugging is enabled as
      these are passed to the preprocessor, and the preprocessor doesn't
      understand sizeof.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0a2ce2ff
  9. 28 5月, 2008 2 次提交