From: Christoph Lameter <cl@linux-foundation.org>
To: Hugh Dickins <hugh@veritas.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Russ Anderson <rja@sgi.com>,
Nick Piggin <nickpiggin@yahoo.com.au>,
Dave Jones <davej@redhat.com>,
Arjan van de Ven <arjan@infradead.org>,
Martin Schwidefsky <schwidefsky@de.ibm.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [PATCH 1/8] badpage: simplify page_alloc flag check+clear
Date: Mon, 1 Dec 2008 20:21:45 -0600 (CST) [thread overview]
Message-ID: <Pine.LNX.4.64.0812012014150.30344@quilx.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0812012349330.18893@blonde.anvils>
On Mon, 1 Dec 2008, Hugh Dickins wrote:
> > Rename this to PAGE_FLAGS_CLEAR_WHEN_FREE?
>
> No, that's a list of just the ones it's checking at free;
> it then (with this patch) goes on to clear all of them.
But they are always clear on free. The checking is irrelevant.
> One of the problems with PREP is that it's not obvious that it
> means ALLOC: yes, I'd be happier with PAGE_FLAGS_CLEAR_AT_FREE.
Ok.
>
> > This is equal to
> >
> > page->flags &=~PAGE_FLAGS_CHECK_AT_PREP;
> >
> > You can drop the if...
>
> I was intentionally following the existing style of
> if (PageDirty(page))
> __ClearPageDirty(page);
> if (PageSwapBacked(page))
> __ClearPageSwapBacked(page);
> which is going out of its way to avoid dirtying a cacheline.
>
> In all the obvious cases, I think the cacheline will already
> be dirty; but I guess there's an important case (high order
> but not compound?) which has a lot of clean cachelines.
Free or alloc dirties the cacheline of the page struct regardless since
the LRU field is always modified.
Well, ok. The not compound high order case may be an exception.
But then lets at least make a single check
If (page->flags & (all the flags including dirty and SwapBacked))
zap-em.
--
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>
next prev parent reply other threads:[~2008-12-02 2:21 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-01 0:37 [PATCH 0/8] badpage: more resilient bad page pte and rmap Hugh Dickins
2008-12-01 0:40 ` [PATCH 1/8] badpage: simplify page_alloc flag check+clear Hugh Dickins
2008-12-01 14:47 ` Christoph Lameter
2008-12-01 23:50 ` Hugh Dickins
2008-12-02 2:21 ` Christoph Lameter [this message]
2008-12-02 10:39 ` Hugh Dickins
2008-12-02 13:12 ` Christoph Lameter
2008-12-02 14:12 ` Hugh Dickins
2008-12-03 0:57 ` Andrew Morton
2008-12-01 0:41 ` [PATCH 2/8] badpage: keep any bad page out of circulation Hugh Dickins
2008-12-01 14:49 ` Christoph Lameter
2008-12-01 23:19 ` Hugh Dickins
2008-12-01 0:42 ` [PATCH 3/8] badpage: replace page_remove_rmap Eeek and BUG Hugh Dickins
2008-12-01 0:43 ` [PATCH 4/8] badpage: vm_normal_page use print_bad_pte Hugh Dickins
2008-12-01 0:44 ` [PATCH 5/8] badpage: zap print_bad_pte on swap and file Hugh Dickins
2008-12-01 0:45 ` [PATCH 6/8] badpage: remove vma from page_remove_rmap Hugh Dickins
2008-12-01 0:46 ` [PATCH 7/8] badpage: ratelimit print_bad_pte and bad_page Hugh Dickins
2008-12-03 0:56 ` Andrew Morton
2008-12-03 13:04 ` Hugh Dickins
2008-12-01 0:48 ` [PATCH 8/8] badpage: KERN_ALERT BUG instead of KERN_EMERG Hugh Dickins
2008-12-01 14:40 ` Christoph Lameter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.LNX.4.64.0812012014150.30344@quilx.com \
--to=cl@linux-foundation.org \
--cc=akpm@linux-foundation.org \
--cc=arjan@infradead.org \
--cc=davej@redhat.com \
--cc=hugh@veritas.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=nickpiggin@yahoo.com.au \
--cc=rja@sgi.com \
--cc=schwidefsky@de.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox