linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [RFC][PATCH] overwride page->mapping [0/3] intro
@ 2007-09-12  2:43 KAMEZAWA Hiroyuki
  2007-09-12  2:45 ` [RFC][PATCH] overwride page->mapping [1/3] cleanup KAMEZAWA Hiroyuki
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: KAMEZAWA Hiroyuki @ 2007-09-12  2:43 UTC (permalink / raw)
  To: linux-mm
  Cc: nickpiggin, Christoph Lameter, Lee.Schermerhorn, balbir,
	Andrew Morton, kamezawa.hiroyu

In general, we cannot inclease size of 'struct page'. So, overriding and
adding prural meanings to page struct's member is done in many situation.

But to do some kind of precise VM mamangement, page struct itself seems to be
too small. This patchset overrides page->mapping and add on-demand page
information.

like this:

==
page->mapping points to address_space or anon_vma or mapping_info

mapping_info is strucutured as 

struct mapping_info {
	union {
		anon_vma;
		address_space;
	};
	/* Additional Information to this page */
};

==
This works based on "adding page->mapping interface" patch set, I posted.

My main target is move page_container information to this mapping_info.
By this, we can avoid increasing size of struct page when container is used.

Maybe other men may have other information they want to remember.
This patch set implements mlock_counter on mapping_info as *exmaple*.
(About mlock_counter, overriding page->lru may be able to be used.)


This approach will consume some amount of memory. But I believe this *additional
information* can be tunred off easily if the user doesn't want this.

I'm glad if I can get some comments.

Thanks,
-Kame

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2007-09-13  1:27 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-09-12  2:43 [RFC][PATCH] overwride page->mapping [0/3] intro KAMEZAWA Hiroyuki
2007-09-12  2:45 ` [RFC][PATCH] overwride page->mapping [1/3] cleanup KAMEZAWA Hiroyuki
2007-09-12  2:47 ` [RFC][PATCH] overwride page->mapping [2/3] page_mapping_info KAMEZAWA Hiroyuki
2007-09-12  2:48 ` [RFC][PATCH] override page->mapping [3/3] mlock counter per page KAMEZAWA Hiroyuki
2007-09-12  8:42 ` [RFC][PATCH] overwride page->mapping [0/3] intro Balbir Singh
2007-09-12 13:28   ` KAMEZAWA Hiroyuki
2007-09-12 19:10   ` Christoph Lameter
2007-09-12 19:12     ` Martin Bligh
2007-09-12 19:17       ` Christoph Lameter
2007-09-13  0:32       ` KAMEZAWA Hiroyuki
2007-09-13  1:05         ` Christoph Lameter
2007-09-13  1:27           ` KAMEZAWA Hiroyuki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox