linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Lameter <clameter@sgi.com>
To: Hugh Dickins <hugh@veritas.com>
Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>,
	Andrew Morton <akpm@osdl.org>,
	linux-mm@kvack.org
Subject: Re: [PATCH 2.6.17-rc1-mm3] add migratepage addresss space op to shmem
Date: Thu, 27 Apr 2006 16:05:23 -0700 (PDT)	[thread overview]
Message-ID: <Pine.LNX.4.64.0604271554060.27987@schroedinger.engr.sgi.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0604251153300.29020@blonde.wat.veritas.com>

On Tue, 25 Apr 2006, Hugh Dickins wrote:

> Perhaps.  But there seem to be altogether too many ways through this
> code: this part of migrate_pages then starts to look rather like,
> but not exactly like, swap_page.  Feels like it needs refactoring.

Actually the code migrates dirty pages because dirty information is 
available in the pte and not in the dirty bit of the page struct. 

The branch in question is never taken because at that point the dirty 
bit is not set in the the page struct.

Later we call migrate_page(). migrate page unmaps the ptes and transfers 
the dirty bit from the pte into the page struct. At that point we do not 
check the dirty bit again and therefore the page will be migrated without 
writeout. That is why the fallback mechanism passed the tests a couple of 
months back and thats also why Lee reported that migration works for shmem 
without a migratepage() method.

So the current problem is that the fallback path will migrate dirty pages 
without regard to page dirty state. This may cause a problem for 
filesystems that keep additional state for dirty pages and that do not 
define their a migration method (The only filesystems with migration 
methods are currently ext2,3 and xfs).

I need to do some restructuring of migrate_page_remove_references() in 
order to check the dirty state later. No need for pageout anymore. 
Pageout contains more swap specific code that is not needed anymore.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

      parent reply	other threads:[~2006-04-27 23:05 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-24 20:08 [PATCH 2.6.17-rc1-mm3] add migratepage addresss space op to shmem Hugh Dickins
2006-04-24 22:04 ` Christoph Lameter
2006-04-25 10:58   ` Hugh Dickins
2006-04-25 16:09     ` Christoph Lameter
2006-04-27 23:05     ` Christoph Lameter [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.64.0604271554060.27987@schroedinger.engr.sgi.com \
    --to=clameter@sgi.com \
    --cc=Lee.Schermerhorn@hp.com \
    --cc=akpm@osdl.org \
    --cc=hugh@veritas.com \
    --cc=linux-mm@kvack.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).