[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0707261834200.592@blonde.wat.veritas.com>
Date: Thu, 26 Jul 2007 18:37:23 +0100 (BST)
From: Hugh Dickins <hugh@...itas.com>
To: Christoph Lameter <clameter@....com>
cc: Jens Axboe <jens.axboe@...cle.com>, linux-kernel@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>,
Adam Litke <agl@...ibm.com>,
David Gibson <david@...son.dropbear.id.au>,
Ken Chen <kenchen@...gle.com>, Bill Irwin <wli@...omorphy.com>
Subject: Re: [PATCH] Check for compound pages in set_page_dirty()
On Mon, 23 Jul 2007, Christoph Lameter wrote:
> On Thu, 19 Jul 2007 18:35:17 +0100 (BST)
> Hugh Dickins <hugh@...itas.com> wrote:
>
> > I didn't see any attention to set_page_dirty in Christoph's
> > Large Blocksize (variable page_cachesize) patches, but I expect
> > he'd also be wanting set_page_dirty to act on compound_head.
>
> There is no need for special casing if set_page_dirty() is only
> ever called for page heads. Make sure that direct I/O does not call
> set_page_dirty for tail pages.
>
> A VM_BUG_ON(PageTail(page)) could be used to make sure that this
> does not happen in the future?
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?
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