| Date | Fri, 05 Apr 2013 11:48:07 +0800 | From | Ric Mason <> | Subject | Re: [PATCHv2, RFC 07/30] thp, mm: introduce mapping_can_have_hugepages() predicate |
| |
On 04/05/2013 11:45 AM, Ric Mason wrote: > Hi Kirill, > On 03/15/2013 01:50 AM, Kirill A. Shutemov wrote: >> From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> >> >> Returns true if mapping can have huge pages. Just check for __GFP_COMP >> in gfp mask of the mapping for now. >> >> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> >> --- >> include/linux/pagemap.h | 10 ++++++++++ >> 1 file changed, 10 insertions(+) >> >> diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h >> index e3dea75..3521b0d 100644 >> --- a/include/linux/pagemap.h >> +++ b/include/linux/pagemap.h >> @@ -84,6 +84,16 @@ static inline void mapping_set_gfp_mask(struct >> address_space *m, gfp_t mask) >> (__force unsigned long)mask; >> } >> +static inline bool mapping_can_have_hugepages(struct address_space >> *m) >> +{ >> + if (IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE)) { >> + gfp_t gfp_mask = mapping_gfp_mask(m); >> + return !!(gfp_mask & __GFP_COMP); > > I always see !! in kernel, but why check directly instead of have !! > prefix?
s/why/why not
> >> + } >> + >> + return false; >> +} >> + >> /* >> * The page cache can done in larger chunks than >> * one page, because it allows for more efficient >
|