linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Nikita Danilov <nikita@clusterfs.com>
To: Christoph Lameter <clameter@sgi.com>
Cc: Mike Kravetz <kravetz@us.ibm.com>,
	linux-kernel@vger.kernel.org, Dave Hansen <haveblue@us.ibm.com>,
	Nick Piggin <nickpiggin@yahoo.com.au>,
	linux-mm@kvack.org, torvalds@osdl.org,
	Hirokazu Takahashi <taka@valinux.co.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Paul Jackson <pj@sgi.com>,
	Marcelo Tosatti <marcelo.tosatti@cyclades.com>,
	Andi Kleen <ak@suse.de>
Subject: Re: [PATCH 6/8] Direct Migration V2: Avoid writeback / page_migrate() method
Date: Wed, 9 Nov 2005 14:01:37 +0300	[thread overview]
Message-ID: <17265.55057.438316.467289@gargle.gargle.HOWL> (raw)
In-Reply-To: <20051108210417.31330.72381.sendpatchset@schroedinger.engr.sgi.com>

Christoph Lameter writes:
 > Migrate a page with buffers without requiring writeback
 > 
 > This introduces a new address space operation migrate_page() that
 > may be used by a filesystem to implement its own version of page migration.
 > 
 > A version is provided that migrates buffers attached to pages. Some
 > filesystems (ext2, ext3, xfs) are modified to utilize this feature.
 > 
 > The swapper address space operation are modified so that a regular
 > migrate_pages() will occur for anonymous pages without writeback
 > (migrate_pages forces every anonymous page to have a swap entry).
 > 
 > V1->V2:
 > - Fix CONFIG_MIGRATION handling
 > 
 > Signed-off-by: Mike Kravetz <kravetz@us.ibm.com>
 > Signed-off-by: Christoph Lameter <clameter@sgi.com>
 > 
 > Index: linux-2.6.14-mm1/include/linux/fs.h
 > ===================================================================
 > --- linux-2.6.14-mm1.orig/include/linux/fs.h	2005-11-07 11:48:46.000000000 -0800
 > +++ linux-2.6.14-mm1/include/linux/fs.h	2005-11-08 10:18:51.000000000 -0800
 > @@ -332,6 +332,8 @@ struct address_space_operations {
 >  			loff_t offset, unsigned long nr_segs);
 >  	struct page* (*get_xip_page)(struct address_space *, sector_t,
 >  			int);
 > +	/* migrate the contents of a page to the specified target */
 > +	int (*migrate_page) (struct page *, struct page *);
 >  };
 >  
 >  struct backing_dev_info;
 > @@ -1679,6 +1681,12 @@ extern void simple_release_fs(struct vfs
 >  
 >  extern ssize_t simple_read_from_buffer(void __user *, size_t, loff_t *, const void *, size_t);
 >  
 > +#ifdef CONFIG_MIGRATION
 > +extern int buffer_migrate_page(struct page *, struct page *);
 > +#else
 > +#define buffer_migrate_page(a,b) NULL
 > +#endif

Depending on the CONFIG_MIGRATION, the type of buffer_migrate_page(a,b)
expansion is either int or void *, which doesn't look right.

Moreover below you have initializations

        .migrate_page		= buffer_migrate_page,

that wouldn't compile when CONFIG_MIGRATION is not defined (as macro
requires two arguments).

Nikita.

--
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>

  reply	other threads:[~2005-11-09 11:01 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-08 21:02 [PATCH 0/8] Direct Migration V2: Overview Christoph Lameter
2005-11-08 21:03 ` [PATCH 1/8] Direct Migration V2: Swap migration patchset fixes Christoph Lameter
2005-11-08 21:03 ` [PATCH 2/8] Direct Migration V2: PageSwapCache checks Christoph Lameter
2005-11-08 21:03 ` [PATCH 3/8] Direct Migration V2: migrate_pages() extension Christoph Lameter
2005-11-08 21:03 ` [PATCH 4/8] Direct Migration V2: remove_from_swap() to remove swap ptes Christoph Lameter
2005-11-08 21:04 ` [PATCH 5/8] Direct Migration V2: upgrade MPOL_MF_MOVE and sys_migrate_pages() Christoph Lameter
2005-11-09  1:35   ` KAMEZAWA Hiroyuki
2005-11-09  3:23     ` Christoph Lameter
2005-11-09  3:59       ` KAMEZAWA Hiroyuki
2005-11-09 16:50         ` Christoph Lameter
2005-11-08 21:04 ` [PATCH 6/8] Direct Migration V2: Avoid writeback / page_migrate() method Christoph Lameter
2005-11-09 11:01   ` Nikita Danilov [this message]
2005-11-09 17:07     ` Christoph Lameter
2005-11-09 17:20       ` Nikita Danilov
2005-11-09 19:14         ` Christoph Lameter
2005-11-08 21:04 ` [PATCH 7/8] Direct Migration V2: add_to_swap() with additional gfp_t parameter Christoph Lameter
2005-11-08 21:04 ` [PATCH 8/8] Direct Migration V2: SWAP_REFERENCE for try_to_unmap() Christoph Lameter

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=17265.55057.438316.467289@gargle.gargle.HOWL \
    --to=nikita@clusterfs.com \
    --cc=ak@suse.de \
    --cc=clameter@sgi.com \
    --cc=haveblue@us.ibm.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=kravetz@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=magnus.damm@gmail.com \
    --cc=marcelo.tosatti@cyclades.com \
    --cc=nickpiggin@yahoo.com.au \
    --cc=pj@sgi.com \
    --cc=taka@valinux.co.jp \
    --cc=torvalds@osdl.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