login
Header Space

 
 

[patch 12/21] No Reclaim LRU Infrastructure

Previous thread: [patch 19/21] handle mlocked pages during map/unmap and truncate by Rik van Riel on Thursday, February 28, 2008 - 3:29 pm. (1 message)

Next thread: [patch 21/21] cull non-reclaimable anon pages from the LRU at fault time by Rik van Riel on Thursday, February 28, 2008 - 3:29 pm. (3 messages)
To: <linux-kernel@...>
Cc: KOSAKI Motohiro <kosaki.motohiro@...>, Lee Schermerhorn <Lee.Schermerhorn@...>, <linux-mm@...>
Date: Thursday, February 28, 2008 - 3:29 pm

V1 -&gt; V3:
+ rebase to 23-mm1 atop RvR's split LRU series
+ define NR_NORECLAIM and LRU_NORECLAIM to avoid errors when not
  configured.

V1 -&gt; V2:
+  handle review comments -- various typos and errors.
+  extract "putback_all_noreclaim_pages()" into a separate patch
   and rework as "scan_all_zones_noreclaim_pages().

Infrastructure to manage pages excluded from reclaim--i.e., hidden
from vmscan.  Based on a patch by Larry Woodman of Red Hat. Reworked
to maintain "nonreclaimable" pages on a separate per-zone LRU list,
to "hide" them from vmscan.  A separate noreclaim pagevec is provided
for shrink_active_list() to move nonreclaimable pages to the noreclaim
list without over burdening the zone lru_lock.

Pages on the noreclaim list have both PG_noreclaim and PG_lru set.
Thus, PG_noreclaim is analogous to and mutually exclusive with
PG_active--it specifies which LRU list the page is on.  

The noreclaim infrastructure is enabled by a new mm Kconfig option
[CONFIG_]NORECLAIM.

A new function 'page_reclaimable(page, vma)' in vmscan.c tests whether
or not a page is reclaimable.  Subsequent patches will add the various
!reclaimable tests.  We'll want to keep these tests light-weight for
use in shrink_active_list() and, possibly, the fault path.

Notes:

1.  for now, use bit 30 in page flags.  This restricts the no reclaim
    infrastructure to 64-bit systems.  [The mlock patch, later in this
    series, uses another of these 64-bit-system-only flags.]

    Rationale:  32-bit systems have no free page flags and are less
    likely to have the large amounts of memory that exhibit the problems
    this series attempts to solve.  [I'm sure someone will disabuse me
    of this notion.]

    Thus, NORECLAIM currently depends on [CONFIG_]64BIT.

2.  The pagevec to move pages to the noreclaim list results in another
    loop at the end of shrink_active_list().  If we ultimately adopt Rik
    van Riel's split lru approach, I think we'll need to find a way to
    factor all of t...
To: Rik van Riel <riel@...>
Cc: <kosaki.motohiro@...>, <linux-kernel@...>, Lee Schermerhorn <Lee.Schermerhorn@...>, <linux-mm@...>
Date: Tuesday, March 4, 2008 - 6:46 am

Hi


as far as I remembered, somebody said CONFIG_NORECLAIM is easy confusable.
may be..

IMHO insert "lru" word is better.
example,

config NORECLAIM_LRU
	bool "Zone LRU of track non-reclaimable pages (EXPERIMENTAL; 64BIT only)"

it seems unnecessary change??


--
To: KOSAKI Motohiro <kosaki.motohiro@...>
Cc: Rik van Riel <riel@...>, <linux-kernel@...>, <linux-mm@...>
Date: Tuesday, March 4, 2008 - 11:05 am

OK.  But, I'd suggest the 'bool' description be something like:

config NORECLAIM_LRU

Hmmm.  Not sure what I was thinking here.  Might be a relic of some
previous debug instrumentation.  Guess I don't have any problem with
removing this change.

Lee

--
To: Lee Schermerhorn <Lee.Schermerhorn@...>
Cc: <kosaki.motohiro@...>, Rik van Riel <riel@...>, <linux-kernel@...>, <linux-mm@...>
Date: Tuesday, March 4, 2008 - 9:42 pm

That's nice. thanks.



--
To: Lee Schermerhorn <Lee.Schermerhorn@...>
Cc: KOSAKI Motohiro <kosaki.motohiro@...>, <linux-kernel@...>, <linux-mm@...>
Date: Tuesday, March 4, 2008 - 5:21 pm

On Tue, 04 Mar 2008 10:05:58 -0500


Removed.

-- 
All Rights Reversed
--
Previous thread: [patch 19/21] handle mlocked pages during map/unmap and truncate by Rik van Riel on Thursday, February 28, 2008 - 3:29 pm. (1 message)

Next thread: [patch 21/21] cull non-reclaimable anon pages from the LRU at fault time by Rik van Riel on Thursday, February 28, 2008 - 3:29 pm. (3 messages)
speck-geostationary