Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753779AbaAQW6M (ORCPT ); Fri, 17 Jan 2014 17:58:12 -0500 Received: from relay3.sgi.com ([192.48.152.1]:60722 "EHLO relay.sgi.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753745AbaAQW6J (ORCPT ); Fri, 17 Jan 2014 17:58:09 -0500 Date: Fri, 17 Jan 2014 16:58:22 -0600 From: Alex Thorlton To: Oleg Nesterov Cc: linux-kernel@vger.kernel.org, Ingo Molnar , Peter Zijlstra , Andrew Morton , "Kirill A. Shutemov" , Benjamin Herrenschmidt , Rik van Riel , Naoya Horiguchi , "Eric W. Biederman" , Andy Lutomirski , Al Viro , Kees Cook , Andrea Arcangeli Subject: Re: [RFC PATCHv2 2/2] Change khugepaged to respect MMF_THP_DISABLE flag Message-ID: <20140117225822.GC17626@sgi.com> References: <1bc8f911363af956b37d8ea415d734f3191f1c78.1389905087.git.athorlton@sgi.com> <13c9d1b0213af7cee7afb54de368a0b189e98df8.1389905087.git.athorlton@sgi.com> <20140117203444.GA16396@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140117203444.GA16396@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jan 17, 2014 at 09:34:44PM +0100, Oleg Nesterov wrote: > On 01/16, Alex Thorlton wrote: > > > > static inline int khugepaged_test_exit(struct mm_struct *mm) > > { > > - return atomic_read(&mm->mm_users) == 0; > > + return atomic_read(&mm->mm_users) == 0 || > > + (mm->flags & MMF_THP_DISABLE_MASK); > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > test_bit(MMF_THP_DISABLE) ? Probably should just use the bitop here, good call. > And I am not sure this and another check in transparent_hugepage_enabled > is actually right... > > I think that MMF_THP_DISABLE_MASK should not disable thp if this > vma has VM_HUGEPAGE set, iow perhaps madvise() should work even > after PR_SET_THP_DISABLE? > > IOW, MMF_THP_DISABLE should act as khugepaged_req_madv(). I hadn't thought of this, but maybe that's a good idea. That way we can turn off THP in general for an mm, but the places in code that *specifically* request THP will still get it. I don't see why that would be a problem, as long as we go with the assumption that, if somebody is explicitly requesting THPs, they probably have a good reason for doing so. Thanks for the input! - Alex -- 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/