Re: [PATCH] Check for compound pages in set_page_dirty()

Hugh Dickins
2007-07-26T18:00:42Z

On Thu, 26 Jul 2007, Christoph Lameter wrote:
> On Thu, 26 Jul 2007, Hugh Dickins wrote:
>
> > I expect we could take that approach in the current kernel, yes
> > (though it would put those compound tests into the bio code that
> > Jens was preferring to remove). But I think not if your variable
> > page_cache_size went in: imagine an mmap of the tail component page
> > of an order-1 page_cache_size page, and that pte only being dirtied:
> > wouldn't set_page_dirty on that page need to redirect to the head?
>
> We would need to redirect all of the page state determinations and changes
> to the head page anyways. So the memory.c code would have to deal with two
> struct page pointers: One to the head where the state is kept and one to
> the tail page that contains the actual chunk of data we are interested in.
> The tail page pointer is only used for address determinations.
>
> VM functions that manipulate the state of a page (like set_page_dirty)
> could rely on only getting page heads.

Maybe. Sounds ugly. "would": so your patches remain just an RFC?

Hugh