[lkml]   [2001]   [Sep]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: broken VM in 2.4.10-pre9

>>> (The new code is a simple state machine:
>>> - touch non-referenced page: set the reference bit
>>> - touch already referenced page: move it to next list "upwards"
(ie the
>>> active list)
>>> - age a non-referenced page on a list: move to "next" list
downwards (ie
>>> free if already inactive, move to inactive if currently active)
>>> - age a referenced page on a list: clear ref bit and move to
beginning of
>>> same list.

> > Are you sure about the _beginning_? You are aging out _all_
> > pages in the next step?
> Well, it depends on what your definition of "is" is..
> Or rather, what the "beginning" is. The way things work now, is that
> pages are added to the "beginning", and the aging is done from the
> moving pages at the end to other lists (or, in the case of a
> page, back to the beginning).

Wait a minute: if you age a page in active by clearing ref-bit and
moving it to beginning of the list, and your next aging cycle starts
from the end, that reads like you have to walk the whole list to find
all the ageable pages for moving "downwards". In fact I expected your
aging to start the list from the beginning, as there should be "most"
of the non-ref entries, and you could stop age-walking hitting the
first ref-page in that list.
This was my guess when aging is used to find possible free pages
Am I wrong or is this idea generally not useable?


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:03    [W:0.044 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site