linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH 2.6.17-rc1-mm3] add migratepage addresss space op to shmem
@ 2006-04-24 20:08 Hugh Dickins
  2006-04-24 22:04 ` Christoph Lameter
  0 siblings, 1 reply; 5+ messages in thread
From: Hugh Dickins @ 2006-04-24 20:08 UTC (permalink / raw)
  To: Lee Schermerhorn; +Cc: Christoph Lameter, Andrew Morton, linux-mm

[Sorry, I seem to have deleted the original, so destroyed threading]

On Thu, 20 Apr 2006, Lee Schermerhorn wrote:
> 
> In 2.6.16 through 2.6.17-rc1, shared memory mappings do not
> have a migratepage address space op.  Therefore, migrate_pages()
> falls back to default processing.  In this path, it will try to
> pageout() dirty pages.  Once a shared memory page has been migrated
> it becomes dirty, so migrate_pages() will try to page it out.  
> However, because the page count is 3 [cache + current + pte],
> pageout() will return PAGE_KEEP because is_page_cache_freeable()
> returns false.  This will abort all subsequent migrations.

So far as I can see, this problem is not at all peculiar to shmem
(aside from its greater likelihood of being found PageDirty): won't
that PageDirty pageout in migrate_pages always return PAGE_KEEP?
so as it stands, is pointless and misleading?

> This patch adds a migratepage address space op to shared memory
> segments to avoid taking the default path.  We use the "migrate_page()"
> function because it knows how to migrate dirty pages.  This allows
> shared memory segment pages to migrate, subject to other conditions
> such as # pte's referencing the page [page_mapcount(page)], when
> requested.  

While that's not wrong, wouldn't the right fix be something else?

> I think this is safe.  If we're migrating a shared memory page,
> then we found the page via a page table, so it must be in
> memory.

Yes, I agree: the isolate_lru_page while holding ptl keeps it sane.

Hugh

--
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] 5+ messages in thread

end of thread, other threads:[~2006-04-27 23:05 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 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).