[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0710301535270.9322@blonde.wat.veritas.com>
Date: Tue, 30 Oct 2007 15:47:40 +0000 (GMT)
From: Hugh Dickins <hugh@...itas.com>
To: Peter Zijlstra <a.p.zijlstra@...llo.nl>
cc: Jaya Kumar <jayakumar.lkml@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>, stefani@...bold.net,
linux-kernel@...r.kernel.org, David Howells <dhowells@...hat.com>,
linux-mm@...ck.org
Subject: Re: vm_ops.page_mkwrite() fails with vmalloc on 2.6.23
On Tue, 30 Oct 2007, Peter Zijlstra wrote:
> On Tue, 2007-10-30 at 09:16 -0400, Jaya Kumar wrote:
...
> > - defio mmap adds this vma to private list (equivalent of
> > address_space or anon_vma)
...
> > - foreach vma { foreach page { page_mkclean_one(page, vma) }
>
> Yeah, page_mkclean_one(page, vma) will use vma_address() to obtain an
> user-space address for the page in this vma using page->index and the
> formula from the last email, this address is then used to walk the page
> tables and obtain a pte.
I don't understand why you suggested an anon_vma, nor why Jaya is
suggesting a private list. All vmas mapping /dev/fb0 will be kept
in the prio_tree rooted in its struct address_space (__vma_link_file
in mm/mmap.c). And page_mkclean gets page_mkclean_file to walk that
very tree. The missing part is just the setting of page->mapping to
point to that struct address_space (and clearing it before finally
freeing the pages), and the setting of page->index as you described.
Isn't it?
Hugh
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists