[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20060911042201.GA8379@osiris.ibm.com>
Date: Mon, 11 Sep 2006 06:22:01 +0200
From: Heiko Carstens <heiko.carstens@...ibm.com>
To: Dave Hansen <haveblue@...ibm.com>
Cc: Roman Zippel <zippel@...ux-m68k.org>,
Andrew Morton <akpm@...l.org>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org,
Martin Schwidefsky <schwidefsky@...ibm.com>
Subject: Re: [patch 2/2] convert s390 page handling macros to functions v3
On Sun, Sep 10, 2006 at 09:25:18AM -0700, Dave Hansen wrote:
> On Sun, 2006-09-10 at 15:08 +0200, Heiko Carstens wrote:
> >
> > +static inline int page_test_and_clear_dirty(struct page *page)
> > +{
> > + unsigned long physpage = __pa((page - mem_map) << PAGE_SHIFT);
> > + int skey = page_get_storage_key(physpage);
>
> This has nothing to do with your patch at all, but why is 'page -
> mem_map' being open-coded here?
I just changed the defines to functions without thinking about this.. :)
> I see at least a couple of page_to_phys() definitions on some
> architectures. This operation is done enough times that s390 could
> probably use the same treatment.
Yes, even s390 has page_to_phys() as well. But why is it in io.h? Seems
like this is inconsistent across architectures. Also in quite a few
architectures the define looks like this:
#define page_to_phys(page) ((page - mem_map) << PAGE_SHIFT)
A pair of braces is missing around page. Yet another possible subtle bug...
> It could at least use a page_to_pfn() instead of the 'page - mem_map'
> operation, right?
Yes, I will address that in a later patch. Shouldn't stop this one from
being merged, if there aren't any other objections.
Thanks for pointing this out!
-
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