Re: question on page-migration code

Ray Bryant
2005-04-12T19:29:20Z

Hirokazu Takahashi wrote:

>
> I understand what happened on your machine.
>
> PG_private is a filesystem specific flag, setting some filesystem
> depending data in page->private. When the flag is set on a page,
> only the local filesystem on which the page depends can handle it.
>
> Most of the filesystems uses page->private to manage buffers while
> others may use it for different purposes. Each filesystem can
> implement migrate_page method to handles page->private.
> At this moment, only ext2 and ext3 have this method, which migrates
> buffers without any I/Os.
>
> If the method isn't implemented for the page, the migration code
> calls pageout() and try_to_release_page() to release page->private
> instead.
>
> Which filesystem are you using? I guess it might be XFS which
> doesn't have the method yet.
>
> Thank you,
> Hirokazu Takahashi.
>

Hi Hirakazu,

Just to make sure, I re-ran my test case with the test program's
home directory (and hence where its mapped files reside) on an
ext3 file system instead of on XFS. In this case, the
migrations are all fast; however, there are still significant
number of page I/O's occuring (135 MB worth, I am migrating
138 MB). So it doesn't appear that an I/O-less migration is
going on here either.

--
Best Regards,
Ray