1. 21 1月, 2011 1 次提交
  2. 24 4月, 2010 1 次提交
    • R
      x86, pat: Update the page flags for memtype atomically instead of using memtype_lock · 1f9cc3cb
      Robin Holt 提交于
      While testing an application using the xpmem (out of kernel) driver, we
      noticed a significant page fault rate reduction of x86_64 with respect
      to ia64.  For one test running with 32 cpus, one thread per cpu, it
      took 01:08 for each of the threads to vm_insert_pfn 2GB worth of pages.
      For the same test running on 256 cpus, one thread per cpu, it took 14:48
      to vm_insert_pfn 2 GB worth of pages.
      
      The slowdown was tracked to lookup_memtype which acquires the
      spinlock memtype_lock.  This heavily contended lock was slowing down
      vm_insert_pfn().
      
      With the cmpxchg on page->flags method, both the 32 cpu and 256 cpu
      cases take approx 00:01.3 seconds to complete.
      Signed-off-by: NRobin Holt <holt@sgi.com>
      LKML-Reference: <20100423153627.751194346@gulag1.americas.sgi.com>
      Cc: Venkatesh Pallipadi <venkatesh.pallipadi@gmail.com>
      Cc: Rafael Wysocki <rjw@novell.com>
      Reviewed-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      1f9cc3cb
  3. 06 4月, 2010 1 次提交
  4. 26 11月, 2009 1 次提交
    • I
      block: add helpers to run flush_dcache_page() against a bio and a request's pages · 2d4dc890
      Ilya Loginov 提交于
      Mtdblock driver doesn't call flush_dcache_page for pages in request.  So,
      this causes problems on architectures where the icache doesn't fill from
      the dcache or with dcache aliases.  The patch fixes this.
      
      The ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE symbol was introduced to avoid
      pointless empty cache-thrashing loops on architectures for which
      flush_dcache_page() is a no-op.  Every architecture was provided with this
      flush pages on architectires where ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE is
      equal 1 or do nothing otherwise.
      
      See "fix mtd_blkdevs problem with caches on some architectures" discussion
      on LKML for more information.
      Signed-off-by: NIlya Loginov <isloginov@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Peter Horton <phorton@bitbox.co.uk>
      Cc: "Ed L. Cashin" <ecashin@coraid.com>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      2d4dc890
  5. 03 11月, 2009 1 次提交
  6. 27 8月, 2009 1 次提交
  7. 20 3月, 2009 1 次提交
  8. 25 2月, 2009 1 次提交
  9. 21 2月, 2009 1 次提交
    • S
      ftrace, x86: make kernel text writable only for conversions · 16239630
      Steven Rostedt 提交于
      Impact: keep kernel text read only
      
      Because dynamic ftrace converts the calls to mcount into and out of
      nops at run time, we needed to always keep the kernel text writable.
      
      But this defeats the point of CONFIG_DEBUG_RODATA. This patch converts
      the kernel code to writable before ftrace modifies the text, and converts
      it back to read only afterward.
      
      The kernel text is converted to read/write, stop_machine is called to
      modify the code, then the kernel text is converted back to read only.
      
      The original version used SYSTEM_STATE to determine when it was OK
      or not to change the code to rw or ro. Andrew Morton pointed out that
      using SYSTEM_STATE is a bad idea since there is no guarantee to what
      its state will actually be.
      
      Instead, I moved the check into the set_kernel_text_* functions
      themselves, and use a local variable to determine when it is
      OK to change the kernel text RW permissions.
      
      [ Update: Ingo Molnar suggested moving the prototypes to cacheflush.h ]
      Reviewed-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NSteven Rostedt <srostedt@redhat.com>
      16239630
  10. 23 10月, 2008 2 次提交
  11. 11 10月, 2008 2 次提交
  12. 21 8月, 2008 2 次提交
  13. 15 8月, 2008 1 次提交
  14. 23 7月, 2008 1 次提交
    • V
      x86: consolidate header guards · 77ef50a5
      Vegard Nossum 提交于
      This patch is the result of an automatic script that consolidates the
      format of all the headers in include/asm-x86/.
      
      The format:
      
      1. No leading underscore. Names with leading underscores are reserved.
      2. Pathname components are separated by two underscores. So we can
         distinguish between mm_types.h and mm/types.h.
      3. Everything except letters and numbers are turned into single
         underscores.
      Signed-off-by: NVegard Nossum <vegard.nossum@gmail.com>
      77ef50a5
  15. 17 4月, 2008 5 次提交
  16. 15 2月, 2008 1 次提交
  17. 10 2月, 2008 1 次提交
    • T
      x86: introduce page pool in cpa · 76ebd054
      Thomas Gleixner 提交于
      DEBUG_PAGEALLOC was not possible on 64-bit due to its early-bootup
      hardcoded reliance on PSE pages, and the unrobustness of the runtime
      splitup of large pages. The splitup ended in recursive calls to
      alloc_pages() when a page for a pte split was requested.
      
      Avoid the recursion with a preallocated page pool, which is used to
      split up large mappings and gets refilled in the return path of
      kernel_map_pages after the split has been done. The size of the page
      pool is adjusted to the available memory.
      
      This part just implements the page pool and the initialization w/o
      using it yet.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      76ebd054
  18. 30 1月, 2008 8 次提交
  19. 22 10月, 2007 1 次提交
  20. 18 10月, 2007 1 次提交
  21. 11 10月, 2007 1 次提交