Re: [PATCH 2/3] mm: Add SECTION_ALIGN_UP() and SECTION_ALIGN_DOWN() macro

From: Daniel Kiper
Date: Tue Mar 29 2011 - 13:40:05 EST


On Mon, Mar 28, 2011 at 08:41:24AM -0700, Dave Hansen wrote:
> On Mon, 2011-03-28 at 11:24 +0200, Daniel Kiper wrote:
> > Add SECTION_ALIGN_UP() and SECTION_ALIGN_DOWN() macro which aligns
> > given pfn to upper section and lower section boundary accordingly.
> >
> > Signed-off-by: Daniel Kiper <dkiper@xxxxxxxxxxxx>
> > ---
> > include/linux/mmzone.h | 3 +++
> > 1 files changed, 3 insertions(+), 0 deletions(-)
> >
> > diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
> > index 02ecb01..d342820 100644
> > --- a/include/linux/mmzone.h
> > +++ b/include/linux/mmzone.h
> > @@ -931,6 +931,9 @@ static inline unsigned long early_pfn_to_nid(unsigned long pfn)
> > #define pfn_to_section_nr(pfn) ((pfn) >> PFN_SECTION_SHIFT)
> > #define section_nr_to_pfn(sec) ((sec) << PFN_SECTION_SHIFT)
> >
> > +#define SECTION_ALIGN_UP(pfn) (((pfn) + PAGES_PER_SECTION - 1) & PAGE_SECTION_MASK)
> > +#define SECTION_ALIGN_DOWN(pfn) ((pfn) & PAGE_SECTION_MASK)
>
> There are certainly a lot of different ways to do this, including using
> the existing ALIGN() macro, but you won't be the first to open-code
> it. :)

Sorry, I forgot about ALIGN(). However, there is only up version available.
That is why I prefer open-code version here. It is clearer in both
cases what is going on.

Daniel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/