1. 11 12月, 2012 1 次提交
    • P
      mm: numa: Add fault driven placement and migration · cbee9f88
      Peter Zijlstra 提交于
      NOTE: This patch is based on "sched, numa, mm: Add fault driven
      	placement and migration policy" but as it throws away all the policy
      	to just leave a basic foundation I had to drop the signed-offs-by.
      
      This patch creates a bare-bones method for setting PTEs pte_numa in the
      context of the scheduler that when faulted later will be faulted onto the
      node the CPU is running on.  In itself this does nothing useful but any
      placement policy will fundamentally depend on receiving hints on placement
      from fault context and doing something intelligent about it.
      Signed-off-by: NMel Gorman <mgorman@suse.de>
      Acked-by: NRik van Riel <riel@redhat.com>
      cbee9f88
  2. 09 12月, 2011 1 次提交
    • T
      memblock: Kill early_node_map[] · 0ee332c1
      Tejun Heo 提交于
      Now all ARCH_POPULATES_NODE_MAP archs select HAVE_MEBLOCK_NODE_MAP -
      there's no user of early_node_map[] left.  Kill early_node_map[] and
      replace ARCH_POPULATES_NODE_MAP with HAVE_MEMBLOCK_NODE_MAP.  Also,
      relocate for_each_mem_pfn_range() and helper from mm.h to memblock.h
      as page_alloc.c would no longer host an alternative implementation.
      
      This change is ultimately one to one mapping and shouldn't cause any
      observable difference; however, after the recent changes, there are
      some functions which now would fit memblock.c better than page_alloc.c
      and dependency on HAVE_MEMBLOCK_NODE_MAP instead of HAVE_MEMBLOCK
      doesn't make much sense on some of them.  Further cleanups for
      functions inside HAVE_MEMBLOCK_NODE_MAP in mm.h would be nice.
      
      -v2: Fix compile bug introduced by mis-spelling
       CONFIG_HAVE_MEMBLOCK_NODE_MAP to CONFIG_MEMBLOCK_HAVE_NODE_MAP in
       mmzone.h.  Reported by Stephen Rothwell.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Chen Liqin <liqin.chen@sunplusct.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      0ee332c1
  3. 04 11月, 2010 1 次提交
    • P
      sh: nommu: use 32-bit phys mode. · e2fcf74f
      Paul Mundt 提交于
      The nommu code has regressed somewhat in that 29BIT gets set for the
      SH-2/2A configs regardless of the fact that they are really 32BIT sans
      MMU or PMB. This does a bit of tidying to get nommu properly selecting
      32BIT as it was before.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      e2fcf74f
  4. 15 10月, 2010 1 次提交
    • P
      sh: Provide a generic SRAM pool for tiny memories. · c993487e
      Paul Mundt 提交于
      This sets up a generic SRAM pool for CPUs and platform code to insert
      their otherwise unused memories into. A simple alloc/free interface is
      provided (lifed from avr32) for generic code.
      
      This only applies to tiny SRAMs that are otherwise unmanaged, and does
      not take in to account the more complex SRAMs sitting behind transfer
      engines, or that employ an I/D split.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      c993487e
  5. 18 2月, 2010 1 次提交
    • P
      sh: Merge legacy and dynamic PMB modes. · d01447b3
      Paul Mundt 提交于
      This implements a bit of rework for the PMB code, which permits us to
      kill off the legacy PMB mode completely. Rather than trusting the boot
      loader to do the right thing, we do a quick verification of the PMB
      contents to determine whether to have the kernel setup the initial
      mappings or whether it needs to mangle them later on instead.
      
      If we're booting from legacy mappings, the kernel will now take control
      of them and make them match the kernel's initial mapping configuration.
      This is accomplished by breaking the initialization phase out in to
      multiple steps: synchronization, merging, and resizing. With the recent
      rework, the synchronization code establishes page links for compound
      mappings already, so we build on top of this for promoting mappings and
      reclaiming unused slots.
      
      At the same time, the changes introduced for the uncached helpers also
      permit us to dynamically resize the uncached mapping without any
      particular headaches. The smallest page size is more than sufficient for
      mapping all of kernel text, and as we're careful not to jump to any far
      off locations in the setup code the mapping can safely be resized
      regardless of whether we are executing from it or not.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      d01447b3
  6. 12 2月, 2010 1 次提交
    • P
      sh: Isolate uncached mapping support. · b0f3ae03
      Paul Mundt 提交于
      This splits out the uncached mapping support under its own config option,
      presently only used by 29-bit mode and 32-bit + PMB. This will make it
      possible to optionally add an uncached mapping on sh64 as well as booting
      without an uncached mapping for 32-bit.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      b0f3ae03
  7. 16 1月, 2010 1 次提交
    • M
      sh: Add fixed ioremap support · 4d35b93a
      Matt Fleming 提交于
      Some devices need to be ioremap'd and accessed very early in the boot
      process. It is not possible to use the standard ioremap() function in
      this case because that requires kmalloc()'ing some virtual address space
      and kmalloc() may not be available so early in boot.
      
      This patch provides fixmap mappings that allow physical address ranges
      to be remapped into the kernel address space during the early boot
      stages.
      Signed-off-by: NMatt Fleming <matt@console-pimps.org>
      4d35b93a
  8. 13 1月, 2010 2 次提交
    • P
      sh: default to extended TLB support. · 782bb5a5
      Paul Mundt 提交于
      All SH-X2 and SH-X3 parts support an extended TLB mode, which has been
      left as experimental since support was originally merged. Now that it's
      had some time to stabilize and get some exposure to various platforms,
      we can drop it as an option and default enable it across the board.
      
      This is also good future proofing for newer parts that will drop support
      for the legacy TLB mode completely.
      
      This will also force 3-level page tables for all newer parts, which is
      necessary both for the varying page sizes and larger memories.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      782bb5a5
    • P
      sh: fixed PMB mode refactoring. · a0ab3668
      Paul Mundt 提交于
      This introduces some much overdue chainsawing of the fixed PMB support.
      fixed PMB was introduced initially to work around the fact that dynamic
      PMB mode was relatively broken, though they were never intended to
      converge. The main areas where there are differences are whether the
      system is booted in 29-bit mode or 32-bit mode, and whether legacy
      mappings are to be preserved. Any system booting in true 32-bit mode will
      not care about legacy mappings, so these are roughly decoupled.
      
      Regardless of the entry point, PMB and 32BIT are directly related as far
      as the kernel is concerned, so we also switch back to having one select
      the other.
      
      With legacy mappings iterated through and applied in the initialization
      path it's now possible to finally merge the two implementations and
      permit dynamic remapping overtop of remaining entries regardless of
      whether boot mappings are crafted by hand or inherited from the boot
      loader.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      a0ab3668
  9. 04 1月, 2010 2 次提交
  10. 02 1月, 2010 1 次提交
    • M
      sh: Correct the PTRS_PER_PMD and PMD_SHIFT values · 3f5ab768
      Matt Fleming 提交于
      The previous expressions were wrong which made free_pmd_range() explode
      when using anything other than 4KB pages (which is why 8KB and 64KB
      pages were disabled with the 3-level page table layout).
      
      The problem was that pmd_offset() was returning an index of non-zero
      when it should have been returning 0. This non-zero offset was used to
      calculate the address of the pmd table to free in free_pmd_range(),
      which ended up trying to free an object that was not aligned on a page
      boundary.
      
      Now 3-level page tables should work with 4KB, 8KB and 64KB pages.
      Signed-off-by: NMatt Fleming <matt@console-pimps.org>
      3f5ab768
  11. 17 12月, 2009 1 次提交
    • M
      sh: Definitions for 3-level page table layout · 5d9b4b19
      Matt Fleming 提交于
      If using 64-bit PTEs and 4K pages then each page table has 512 entries
      (as opposed to 1024 entries with 32-bit PTEs). Unlike MIPS, SH follows
      the convention that all structures in the page table (pgd_t, pmd_t,
      pgprot_t, etc) must be the same size. Therefore, 64-bit PTEs require
      64-bit PGD entries, etc. Using 2-levels of page tables and 64-bit PTEs
      it is only possible to map 1GB of virtual address space.
      
      In order to map all 4GB of virtual address space we need to adopt a
      3-level page table layout. This actually works out better for
      CONFIG_SUPERH32 because we only waste 2 PGD entries on the P1 and P2
      areas (which are untranslated) instead of 256.
      Signed-off-by: NMatt Fleming <matt@console-pimps.org>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      5d9b4b19
  12. 11 11月, 2009 1 次提交
  13. 27 10月, 2009 1 次提交
    • P
      sh: Fix hugetlbfs dependencies for SH-3 && MMU configurations. · ffb4a73d
      Paul Mundt 提交于
      The hugetlb dependencies presently depend on SUPERH && MMU while the
      hugetlb page size definitions depend on CPU_SH4 or CPU_SH5. This
      unfortunately allows SH-3 + MMU configurations to enable hugetlbfs
      without a corresponding HPAGE_SHIFT definition, resulting in the build
      blowing up.
      
      As SH-3 doesn't support variable page sizes, we tighten up the
      dependenies a bit to prevent hugetlbfs from being enabled. These days
      we also have a shiny new SYS_SUPPORTS_HUGETLBFS, so switch to using
      that rather than adding to the list of corner cases in fs/Kconfig.
      Reported-by: NKristoffer Ericson <kristoffer.ericson@gmail.com>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      ffb4a73d
  14. 16 10月, 2009 1 次提交
  15. 10 10月, 2009 1 次提交
  16. 21 8月, 2009 1 次提交
  17. 14 5月, 2009 1 次提交
  18. 10 5月, 2009 1 次提交
  19. 02 4月, 2009 1 次提交
    • P
      sh: Kill off broken direct-mapped cache mode. · e8208828
      Paul Mundt 提交于
      Forcing direct-mapped worked on certain older 2-way set associative
      parts, but was always error prone on 4-way parts. As these are the
      norm these days, there is not much point in continuing to support this
      mode. Most of the folks that used direct-mapped mode generally just
      wanted writethrough caching in the first place..
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      e8208828
  20. 10 3月, 2009 1 次提交
  21. 17 9月, 2008 1 次提交
  22. 08 9月, 2008 1 次提交
  23. 11 8月, 2008 1 次提交
  24. 04 8月, 2008 1 次提交
  25. 28 7月, 2008 3 次提交
  26. 06 3月, 2008 1 次提交
  27. 28 1月, 2008 6 次提交
  28. 07 11月, 2007 1 次提交
    • P
      sh: Kill off the remaining ST40 cruft. · f9669187
      Paul Mundt 提交于
      The ST40 stuff in-tree hasn't built for some time, and hasn't been
      updated for over 3 years. ST maintains their own out-of-tree changes
      and rebases occasionally, and that's ultimately where all of the ST40
      users go anyways.
      
      In order for the ST40 code to be brought up to date most of the stuff
      removed in this changeset would have to be rewritten anyways, so there's
      very little benefit in keeping the remnants around either.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      f9669187
  29. 27 9月, 2007 3 次提交