1. 05 10月, 2007 1 次提交
    • S
      Remove unnecessary cast in prefetch() · 4ecbca85
      Serge Belyshev 提交于
      It is ok to call prefetch() function with NULL argument, as specifically
      commented in include/linux/prefetch.h.  But in standard C, it is invalid
      to dereference NULL pointer (see C99 standard 6.5.3.2 paragraph 4 and
      note #84).
      
      prefetch() has a memory reference for its argument.
      
      Newer gcc versions (4.3 and above) will use that to conclude that "x"
      argument is non-null and thus wreaking havok everywhere prefetch() was
      inlined.
      
      Fixed by removing cast and changing asm constraint.
      
      [ It seems in theory gcc 4.2 could miscompile this too; although no
        cases known.  In 2.6.24 we should probably switch to
        __builtin_prefetch() instead, but this is a simpler fix for now.
      				-- AK ]
      Signed-off-by: NSerge Belyshev <belyshev@depni.sinp.msu.ru>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      4ecbca85
  2. 23 7月, 2007 1 次提交
    • J
      x86: Replace NSC/Cyrix specific chipset access macros by inlined functions. · f25f64ed
      Juergen Beisert 提交于
      Due to index register access ordering problems, when using macros a line
      like this fails (and does nothing):
      
      	setCx86(CX86_CCR2, getCx86(CX86_CCR2) | 0x88);
      
      With inlined functions this line will work as expected.
      
      Note about a side effect: Seems on Geode GX1 based systems the
      "suspend on halt power saving feature" was never enabled due to this
      wrong macro expansion. With inlined functions it will be enabled, but
      this will stop the TSC when the CPU runs into a HLT instruction.
      Kernel output something like this:
      	Clocksource tsc unstable (delta = -472746897 ns)
      
      This is the 3rd version of this patch.
      
       - Adding missed arch/i386/kernel/cpu/mtrr/state.c
      	Thanks to Andres Salomon
       - Adding some big fat comments into the new header file
       	Suggested by Andi Kleen
      
      AK: fixed x86-64 compilation
      Signed-off-by: NJuergen Beisert <juergen@kreuzholzen.de>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f25f64ed
  3. 22 7月, 2007 1 次提交
  4. 13 7月, 2007 2 次提交
  5. 03 5月, 2007 3 次提交
  6. 07 12月, 2006 1 次提交
  7. 14 10月, 2006 1 次提交
  8. 31 8月, 2006 1 次提交
  9. 27 6月, 2006 2 次提交
  10. 26 4月, 2006 1 次提交
  11. 29 3月, 2006 1 次提交
  12. 28 3月, 2006 1 次提交
    • S
      [PATCH] sched: new sched domain for representing multi-core · 1e9f28fa
      Siddha, Suresh B 提交于
      Add a new sched domain for representing multi-core with shared caches
      between cores.  Consider a dual package system, each package containing two
      cores and with last level cache shared between cores with in a package.  If
      there are two runnable processes, with this appended patch those two
      processes will be scheduled on different packages.
      
      On such systems, with this patch we have observed 8% perf improvement with
      specJBB(2 warehouse) benchmark and 35% improvement with CFP2000 rate(with 2
      users).
      
      This new domain will come into play only on multi-core systems with shared
      caches.  On other systems, this sched domain will be removed by domain
      degeneration code.  This new domain can be also used for implementing power
      savings policy (see OLS 2005 CMP kernel scheduler paper for more details..
      I will post another patch for power savings policy soon)
      
      Most of the arch/* file changes are for cpu_coregroup_map() implementation.
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      1e9f28fa
  13. 17 1月, 2006 2 次提交
  14. 13 1月, 2006 1 次提交
  15. 12 1月, 2006 2 次提交
  16. 15 11月, 2005 1 次提交
  17. 13 9月, 2005 2 次提交
  18. 08 9月, 2005 1 次提交
  19. 05 9月, 2005 1 次提交
  20. 17 8月, 2005 1 次提交
  21. 24 6月, 2005 1 次提交
  22. 22 6月, 2005 1 次提交
    • S
      [PATCH] x86_64: TASK_SIZE fixes for compatibility mode processes · 84929801
      Suresh Siddha 提交于
      Appended patch will setup compatibility mode TASK_SIZE properly.  This will
      fix atleast three known bugs that can be encountered while running
      compatibility mode apps.
      
      a) A malicious 32bit app can have an elf section at 0xffffe000.  During
         exec of this app, we will have a memory leak as insert_vm_struct() is
         not checking for return value in syscall32_setup_pages() and thus not
         freeing the vma allocated for the vsyscall page.  And instead of exec
         failing (as it has addresses > TASK_SIZE), we were allowing it to
         succeed previously.
      
      b) With a 32bit app, hugetlb_get_unmapped_area/arch_get_unmapped_area
         may return addresses beyond 32bits, ultimately causing corruption
         because of wrap-around and resulting in SEGFAULT, instead of returning
         ENOMEM.
      
      c) 32bit app doing this below mmap will now fail.
      
        mmap((void *)(0xFFFFE000UL), 0x10000UL, PROT_READ|PROT_WRITE,
      	MAP_FIXED|MAP_PRIVATE|MAP_ANON, 0, 0);
      Signed-off-by: NZou Nan hai <nanhai.zou@intel.com>
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Cc: Andi Kleen <ak@muc.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      84929801
  23. 17 5月, 2005 2 次提交
  24. 17 4月, 2005 2 次提交
    • A
      [PATCH] x86_64: Rename the extended cpuid level field · ebfcaa96
      Andi Kleen 提交于
      It was confusingly named.
      Signed-off-by: NAndi Kleen <ak@suse.de>
      DESC
      x86_64: Switch SMP bootup over to new CPU hotplug state machine
      EDESC
      From: "Andi Kleen" <ak@suse.de>
      
      This will allow hotplug CPU in the future and in general cleans up a lot of
      crufty code.  It also should plug some races that the old hackish way
      introduces.  Remove one old race workaround in NMI watchdog setup that is not
      needed anymore.
      
      I removed the old total sum of bogomips reporting code.  The brag value of
      BogoMips has been greatly devalued in the last years on the open market.
      
      Real CPU hotplug will need some more work, but the infrastructure for it is
      there now.
      
      One drawback: the new TSC sync algorithm is less accurate than before.  The
      old way of zeroing TSCs is too intrusive to do later.  Instead the TSC of the
      BP is duplicated now, which is less accurate.
      
      Cc: <rusty@rustcorp.com.au>
      Cc: <mingo@elte.hu>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      ebfcaa96
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4