1. 22 3月, 2006 30 次提交
  2. 17 3月, 2006 3 次提交
  3. 15 3月, 2006 2 次提交
  4. 10 3月, 2006 4 次提交
    • C
      [PATCH] slab: Node rotor for freeing alien caches and remote per cpu pages. · 8fce4d8e
      Christoph Lameter 提交于
      The cache reaper currently tries to free all alien caches and all remote
      per cpu pages in each pass of cache_reap.  For a machines with large number
      of nodes (such as Altix) this may lead to sporadic delays of around ~10ms.
      Interrupts are disabled while reclaiming creating unacceptable delays.
      
      This patch changes that behavior by adding a per cpu reap_node variable.
      Instead of attempting to free all caches, we free only one alien cache and
      the per cpu pages from one remote node.  That reduces the time spend in
      cache_reap.  However, doing so will lengthen the time it takes to
      completely drain all remote per cpu pagesets and all alien caches.  The
      time needed will grow with the number of nodes in the system.  All caches
      are drained when they overflow their respective capacity.  So the drawback
      here is only that a bit of memory may be wasted for awhile longer.
      
      Details:
      
      1. Rename drain_remote_pages to drain_node_pages to allow the specification
         of the node to drain of pcp pages.
      
      2. Add additional functions init_reap_node, next_reap_node for NUMA
         that manage a per cpu reap_node counter.
      
      3. Add a reap_alien function that reaps only from the current reap_node.
      
      For us this seems to be a critical issue.  Holdoffs of an average of ~7ms
      cause some HPC benchmarks to slow down significantly.  F.e.  NAS parallel
      slows down dramatically.  NAS parallel has a 12-16 seconds runtime w/o rotor
      compared to 5.8 secs with the rotor patches.  It gets down to 5.05 secs with
      the additional interrupt holdoff reductions.
      Signed-off-by: NChristoph Lameter <clameter@sgi.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      8fce4d8e
    • Y
      [PATCH] memory hotadd: pgdat->node_present_pages fix · f2937be5
      Yasunori Goto 提交于
      When pages are onlined, not only zone->present_pages but also
      pgdat->node_present_pages should be refreshed.
      
      This parameter is used to show information at
      /sys/device/system/node/nodeX/meminfo via si_meminfo_node().
      
      So, it shows strange value for MemUsed which is calculated
      (node_present_pages - all zones free pages).
      Signed-off-by: NYasunori Goto <y-goto@jp.fujitsu.com>
      Cc: Dave Hansen <haveblue@us.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      f2937be5
    • C
      [PATCH] vmscan: no zone_reclaim if PF_MALLOC is set · a6bf5270
      Christoph Lameter 提交于
      If the process has already set PF_MALLOC and is already using
      current->reclaim_state then do not try to reclaim memory from the zone.
      This is set by kswapd and/or synchrononous global reclaim which will not
      take it lightly if we zap the reclaim_state.
      Signed-off-by: NChristoph Lameter <clameter@sig.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      a6bf5270
    • H
      [PATCH] page_add_file_rmap(): remove BUG_ON()s · 85a6cd03
      Hugh Dickins 提交于
      Remove two early-development BUG_ONs from page_add_file_rmap.
      
      The pfn_valid test (originally useful for checking that nobody passed an
      artificial struct page) comes too late, since we already have the struct
      page.
      
      The PageAnon test (useful when anon was first distinguished from file rmap)
      prevents ->nopage implementations from reusing ->mapping, which would
      otherwise be available.
      Signed-off-by: NHugh Dickins <hugh@veritas.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      85a6cd03
  5. 09 3月, 2006 1 次提交