On Sat, Mar 03, 2007 at 09:34:42PM -0800, Nishanth Aravamudan wrote:
> On 04.03.2007 [09:55:09 +1100], David Gibson wrote:
> > On Sat, Mar 03, 2007 at 01:53:11PM -0800, Nishanth Aravamudan wrote:
> > [snip]
> > > hugeutils: remove hugetlbfs_vaddr_granularity in favor of slice functions
> > > 
> > > hugetlbfs_vaddr_granularity() currently does not take a parameter, even
> > > though the granularity at which hugepages can be used varies by address
> > > on ppc64 (and perhaps other archs). Taking a queue from Ben
> > > Herrenschmidt's kernel slice patches for Cell add similar functions and
> > > macros for hugetlbfs_slice_start() and hugetlbfs_slice_end() which,
> > > given an unsigned long address, will indicate where the enclosing slice
> > > starts and ends, inclusively (that is the start and end are part of the
> > > slice). This has very clean and useful semantics compared to the
> > > granularity() function. This is also useful for the partial_remap code,
> > > as it would (effectively) never run on ppc64 otherwise (would need a 1TB
> > > or larger segment, without relinking, which is unlikely). Thanks to
> > > David Gibson for several rounds of review.
> > 
> > Looks good, save for one thing now.
> > 
> > [...]
> > > --- a/libhugetlbfs_internal.h
> > > +++ b/libhugetlbfs_internal.h
> > > @@ -26,7 +26,16 @@
> > >  #define stringify_1(x)   #x
> > >  #define stringify(x)     stringify_1(x)
> > >  
> > > -#define ALIGN(x, a)      (((x) + (a) - 1) & ~((a) - 1))
> > > +#define SLICE_LOW_SHIFT          28
> > > +#define SLICE_HIGH_SHIFT 40
> > > +
> > > +#define SLICE_LOW_TOP            (0x100000000UL)
> > > +#define SLICE_LOW_SIZE           (1UL << SLICE_LOW_SHIFT)
> > > +#define SLICE_HIGH_SIZE          (1UL << SLICE_HIGH_SHIFT)
> > 
> > The SLICE_* constants don't belong here.  They should go right next to
> > the slice functions, preferably within one of the #ifdefs, since
> > they're powerpc specific.
> 
> Good point, does the following get your ACK?
> 
> hugeutils: remove hugetlbfs_vaddr_granularity in favor of slice functions
> 
> hugetlbfs_vaddr_granularity() currently does not take a parameter, even
> though the granularity at which hugepages can be used varies by address
> on ppc64 (and perhaps other archs). Taking a queue from Ben
> Herrenschmidt's kernel slice patches for Cell add similar functions and
> macros for hugetlbfs_slice_start() and hugetlbfs_slice_end() which,
> given an unsigned long address, will indicate where the enclosing slice
> starts and ends, inclusively (that is the start and end are part of the
> slice). This has very clean and useful semantics compared to the
> granularity() function. This is also useful for the partial_remap code,
> as it would (effectively) never run on ppc64 otherwise (would need a 1TB
> or larger segment, without relinking, which is unlikely). Thanks to
> David Gibson for several rounds of review.

Acked-by: David Gibson <[EMAIL PROTECTED]>

-- 
David Gibson                    | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
                                | _way_ _around_!
http://www.ozlabs.org/~dgibson

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Libhugetlbfs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libhugetlbfs-devel

Reply via email to