Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1161560Ab3DEDsR (ORCPT ); Thu, 4 Apr 2013 23:48:17 -0400 Received: from mail-pb0-f49.google.com ([209.85.160.49]:58540 "EHLO mail-pb0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932390Ab3DEDsP (ORCPT ); Thu, 4 Apr 2013 23:48:15 -0400 Message-ID: <515E4977.3040002@gmail.com> Date: Fri, 05 Apr 2013 11:48:07 +0800 From: Ric Mason User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130308 Thunderbird/17.0.4 MIME-Version: 1.0 To: "Kirill A. Shutemov" CC: Andrea Arcangeli , Andrew Morton , Al Viro , Hugh Dickins , Wu Fengguang , Jan Kara , Mel Gorman , linux-mm@kvack.org, Andi Kleen , Matthew Wilcox , "Kirill A. Shutemov" , Hillf Danton , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCHv2, RFC 07/30] thp, mm: introduce mapping_can_have_hugepages() predicate References: <1363283435-7666-1-git-send-email-kirill.shutemov@linux.intel.com> <1363283435-7666-8-git-send-email-kirill.shutemov@linux.intel.com> <515E48D1.2090505@gmail.com> In-Reply-To: <515E48D1.2090505@gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1533 Lines: 49 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" >> >> 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 >> --- >> 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 > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/