On Thu, 17 Jan 2013 14:52:57 -0800 Cody P Schafer <cody@xxxxxxxxxxxxxxxxxx> wrote: > From: Cody P Schafer <jmesmon@xxxxxxxxx> > > Add pgdat_end_pfn() and pgdat_is_empty() helpers which match the similar > zone_*() functions. > > Change node_end_pfn() to be a wrapper of pgdat_end_pfn(). > > ... > > --- a/include/linux/mmzone.h > +++ b/include/linux/mmzone.h > @@ -772,11 +772,17 @@ typedef struct pglist_data { > #define nid_page_nr(nid, pagenr) pgdat_page_nr(NODE_DATA(nid),(pagenr)) > > #define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn) > +#define node_end_pfn(nid) pgdat_end_pfn(NODE_DATA(nid)) I wonder if these could be implemented in nice C code rather than nasty cpp code. > -#define node_end_pfn(nid) ({\ > - pg_data_t *__pgdat = NODE_DATA(nid);\ > - __pgdat->node_start_pfn + __pgdat->node_spanned_pages;\ > -}) > +static inline unsigned long pgdat_end_pfn(pg_data_t *pgdat) > +{ > + return pgdat->node_start_pfn + pgdat->node_spanned_pages; > +} It wouldn't hurt to add a little comment pointing out that this returns "end pfn plus one", or similar. ie, it is exclusive, not inclusive. Ditto the "zone_*() functions", if needed. > +static inline bool pgdat_is_empty(pg_data_t *pgdat) > +{ > + return !pgdat->node_start_pfn && !pgdat->node_spanned_pages; > +} -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>