On Wed, May 16, 2012 at 08:56:54PM +0800, nai.xia wrote:On 2012/05/16 14:51, Johannes Weiner wrote:There may have been improvements from clock-pro, but it's hard to get
code merged that does not behave as expected in theory with nobody
understanding what's going on.
Damn, that sounded way harsher and arrogant than I wanted it to sound.
And it's only based on what I gathered from the discussions on the
list archives. Sorry :(
OK, I assume that you do aware that the system you constructed with
this simple and understandable idea looks like a so called "feedback
system"? Or in other words, I think theoretically the refault-distance
of a page before and after your algorithm is applied is not the same.
And this changed refault-distance pattern is then feed as input into
your algorithm. A feedback system may be hard(and may be simple) to
analyze but may also work well magically.
I'm with you on that, but I can't see an alternative in this case. We
can't predict future page accesses very well, so we have to take
speculative shots and be considerate about the consequences.
And BECAUSE we may get it wrong, the algorithm does not rely on the
decisions it makes to be correct. For example, it does not activate
pages based on refault distance, but requires the refaulted page to
win the race against an actual active page. Likewise, pages are not
evicted from the active list directly, instead they get a chance at
re-activation when challenged.