From patchwork Tue Oct 2 12:15:28 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anshuman Khandual X-Patchwork-Id: 10623573 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id EC765174A for ; Tue, 2 Oct 2018 12:15:48 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E491D28884 for ; Tue, 2 Oct 2018 12:15:48 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D88A328887; Tue, 2 Oct 2018 12:15:48 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7FF3B28884 for ; Tue, 2 Oct 2018 12:15:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 355656B0008; Tue, 2 Oct 2018 08:15:47 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 2DB7A6B000A; Tue, 2 Oct 2018 08:15:47 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1CA8B6B000C; Tue, 2 Oct 2018 08:15:47 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-oi1-f199.google.com (mail-oi1-f199.google.com [209.85.167.199]) by kanga.kvack.org (Postfix) with ESMTP id ED3BD6B0008 for ; Tue, 2 Oct 2018 08:15:46 -0400 (EDT) Received: by mail-oi1-f199.google.com with SMTP id v188-v6so1112516oie.3 for ; Tue, 02 Oct 2018 05:15:46 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-original-authentication-results:x-gm-message-state:from:to:cc :subject:date:message-id:in-reply-to:references; bh=MuojBUk0nL/v+mqV1BNv2M4agha44zd3BlcKFLfrz0A=; b=AZ9OFx0vJowxGNbKvxPSqt3HXmtFfTe186obztYHBstqm7Ok7B/kPW7VLfC31RJXom D9royhcr6rnywWjQ9oW7ydczjzo3dySL6wY4wdt9wdpGYptBTogMXMjHJuFDHVE0QfDe B/iFfV0KgFNXZSsePTTMdCzctV7HF66oUK6gmq/CsQa1ff/W/2Ct/Vb37Uij+bacpJ/y YZCsJqE053jyDojdBqEtznfoW1HQT6p6/UaKuXH0V93DldD5vVpZq9yn0+qfSbuH82IG G4AteMwk23Xrl96UvfWPW/WG1KBPhFU9W58mA/7l2iWcv1lFIwu/ek89NCZESp8VeoPT 5Z+Q== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of anshuman.khandual@arm.com designates 217.140.101.70 as permitted sender) smtp.mailfrom=anshuman.khandual@arm.com X-Gm-Message-State: ABuFfogeK65rxrnWn8MHFr99cTa4nBZRt7L1KSqnCJsQDwBr3l+DjlZc +PJ5UR5fBK5c+L91WihykviW4cRsN//yJJKicaij5eJSrAKXRy1uwp9HeIJfAmEY4+nwZzehJw/ Qkygn5fy7FHHsZxyoruD76iS2O0DFK90vam35is9ZcY1atQXxo6sLVNuAFnw7JuPgwA== X-Received: by 2002:a9d:41f6:: with SMTP id v51-v6mr8357960oti.8.1538482546724; Tue, 02 Oct 2018 05:15:46 -0700 (PDT) X-Google-Smtp-Source: ACcGV63wiDV32eXPNRAOlViCH0zwmM/uAPwEij05f2roiGniFosfyeySvwX+a0hcEYMXkD3QSPMB X-Received: by 2002:a9d:41f6:: with SMTP id v51-v6mr8357933oti.8.1538482546048; Tue, 02 Oct 2018 05:15:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538482546; cv=none; d=google.com; s=arc-20160816; b=eTzOknByptLb8kYHZCk+3D1bNms+FexedgLrtFrPn5vx4WQndyeI4XEtKKJ7Cfe9iS WjFN6sxZ/u3z2Mz3xyaZMAv4u3v9OXjDobU9yw0u+vBBS4P7oNRsIzdmywsjs201N9UJ sBGlHzYVT2y23mY7d6DccLzSsKR0cbqWlSuXIF15alCZDf7gIgX+zEC/04Ajl1aAZWtS EDrDhW19gYMgR4abXSbMwxqcRymTqpyphCyjnGi7sk12/fEsEfnqXT3rd+QUojozuVKL dsUlbDTmqI0HVJYfUJ6YGP+A8uDU+aqhSFuex8e52Ay7cuGzK4xfPdWq513aX4aBXjNP TL3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from; bh=MuojBUk0nL/v+mqV1BNv2M4agha44zd3BlcKFLfrz0A=; b=JcZPmnzteVflvwDBBZZj/FX5mS6nCOkzvTmtXJeLsmCfvUUjyhmixjh/tb77SLKzGc mH1QhkUITgtTd9k+rD4/Tfv97vabfsQNjJCBtSwtLM/jnD6Arg4VoKFMXYSh06HMlLYs L9Ke+eQhc8Gng/BvubBKEe6prVP1Wfjck2t/oeltoUFkT+uPkAnY04QTIgMliQMleEbl rZk8O+DHmWkgrHTuUxFBHf6LoMVlA6KeVPfuFvlzlX3jqVq7l73kAoHYgR2/gjJkFtQe kAYPjQuF3hAQsqkYKnvDZ8zCIn1v6+x+mnwWPxMWoUeOlkcD9+T/dXa8n7X1nHGqNyFi YxzQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of anshuman.khandual@arm.com designates 217.140.101.70 as permitted sender) smtp.mailfrom=anshuman.khandual@arm.com Received: from foss.arm.com (foss.arm.com. [217.140.101.70]) by mx.google.com with ESMTP id q9-v6si123292otc.25.2018.10.02.05.15.45 for ; Tue, 02 Oct 2018 05:15:45 -0700 (PDT) Received-SPF: pass (google.com: domain of anshuman.khandual@arm.com designates 217.140.101.70 as permitted sender) client-ip=217.140.101.70; Authentication-Results: mx.google.com; spf=pass (google.com: domain of anshuman.khandual@arm.com designates 217.140.101.70 as permitted sender) smtp.mailfrom=anshuman.khandual@arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 944D51596; Tue, 2 Oct 2018 05:15:45 -0700 (PDT) Received: from p8cg001049571a15.arm.com (unknown [10.163.1.117]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 022B53F5B7; Tue, 2 Oct 2018 05:15:41 -0700 (PDT) From: Anshuman Khandual To: linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: suzuki.poulose@arm.com, punit.agrawal@arm.com, will.deacon@arm.com, Steven.Price@arm.com, catalin.marinas@arm.com, mhocko@kernel.org, mike.kravetz@oracle.com, n-horiguchi@ah.jp.nec.com Subject: [PATCH 1/4] mm/hugetlb: Enable PUD level huge page migration Date: Tue, 2 Oct 2018 17:45:28 +0530 Message-Id: <1538482531-26883-2-git-send-email-anshuman.khandual@arm.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1538482531-26883-1-git-send-email-anshuman.khandual@arm.com> References: <1538482531-26883-1-git-send-email-anshuman.khandual@arm.com> X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP Architectures like arm64 have PUD level HugeTLB pages for certain configs (1GB huge page is PUD based on ARM64_4K_PAGES base page size) that can be enabled for migration. It can be achieved through checking for PUD_SHIFT order based HugeTLB pages during migration. Signed-off-by: Anshuman Khandual --- include/linux/hugetlb.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index 6b68e34..9c1b77f 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h @@ -483,7 +483,8 @@ static inline bool hugepage_migration_supported(struct hstate *h) { #ifdef CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION if ((huge_page_shift(h) == PMD_SHIFT) || - (huge_page_shift(h) == PGDIR_SHIFT)) + (huge_page_shift(h) == PUD_SHIFT) || + (huge_page_shift(h) == PGDIR_SHIFT)) return true; else return false; From patchwork Tue Oct 2 12:15:29 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anshuman Khandual X-Patchwork-Id: 10623575 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9480016B1 for ; Tue, 2 Oct 2018 12:15:53 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8DDED28884 for ; Tue, 2 Oct 2018 12:15:53 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 81A6F28887; Tue, 2 Oct 2018 12:15:53 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 67EF628884 for ; Tue, 2 Oct 2018 12:15:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 598776B000C; Tue, 2 Oct 2018 08:15:51 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 549406B000D; Tue, 2 Oct 2018 08:15:51 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 437066B000E; Tue, 2 Oct 2018 08:15:51 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-oi1-f198.google.com (mail-oi1-f198.google.com [209.85.167.198]) by kanga.kvack.org (Postfix) with ESMTP id 17FE16B000C for ; Tue, 2 Oct 2018 08:15:51 -0400 (EDT) Received: by mail-oi1-f198.google.com with SMTP id v188-v6so1112614oie.3 for ; Tue, 02 Oct 2018 05:15:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-original-authentication-results:x-gm-message-state:from:to:cc :subject:date:message-id:in-reply-to:references; bh=rYM/eYUmzWQBanp3WVF1aTtwbUrq2J/5yHr0Kx2HYlU=; b=W+Nt+4V/0EQ5bkFY9y4R8yY4Z/BKAoyQClJgRd9SGLRKFTrkG7j4Il3e/ShlCvaD87 EhEsD554zJ5HueOhyAsbj2pScFGAoYOLRPZLnPKzY0FtOccbZMODBFIXvLIqToGQLuSm StN4L+6Ge3UrySzPsklykYUBiNvp/6VG35nYyq7iSZoqYobtyI2j1iDOrgWrlbIT/soj dvoEgX3uPsIdG6Le3NA9+DvQ5U+/7a8rvobcbX8ent/lQuD+SZJ1zW//Sry0I1JaJZd7 dE7iRJUVikOJBrVCjlp3bwkKmwa6ZlAygm3o0DRV/EImGwBuC6w/363SnnMY0D8Lipqv 0BZg== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of anshuman.khandual@arm.com designates 217.140.101.70 as permitted sender) smtp.mailfrom=anshuman.khandual@arm.com X-Gm-Message-State: ABuFfoiUKIoJA0EpA/qgRCfzBj4i9nPgggXJr0vZ5QAxQxOvlNF9VMys UxDzr3V9EFDSHvbWrFxSzFwxZB8vTsvfH97FIqgzKDpJsKpN2EH8attwkN7rJINOeRlPiPVo3bO ikjt911SWS2mfidZ5N8h36YviGNKAzbEiiE1HmBMyp21BJ/PoWtXpabNksGlDeHmjbg== X-Received: by 2002:a9d:4a14:: with SMTP id h20-v6mr8915393otf.160.1538482550874; Tue, 02 Oct 2018 05:15:50 -0700 (PDT) X-Google-Smtp-Source: ACcGV62Y4GqJz+++Nvf85zyoKRAWuc+M1PCw94EcZJBhXcYEEVAWtLbvDUjCSjvuWVXoTlWDj1Kc X-Received: by 2002:a9d:4a14:: with SMTP id h20-v6mr8915362otf.160.1538482550211; Tue, 02 Oct 2018 05:15:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538482550; cv=none; d=google.com; s=arc-20160816; b=1Diokuub9/lBwXSffsROnlsB3wv7jVECbd/Mk0xm3FqscI/WmQ1tnMNa/8yr3aagpJ qOSflFznLYKoNpzkASuRNs2n1axg6xxrcwUaM2IxgAUSt2HGIjC8iR5q5RiYi3bdQWYx TaVSIpIZSeXzpOqXJSqTAQEERz381SFgLrRYAdxKmDN8OohKSz+X8bbI4yuwc+Z0meba EA9YbtdEXdgODMBwu0XJd1KAQtdnjtnHAoQLrYqbwEGa897DRelNx6/aWJP15wD/aQNq Kj+alK2H8mAiI8shsAz6YoRMxuOj67/a5U7MJuoIdOgiXGLwEpKUFD62Or8S/5T0gEIU pmTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from; bh=rYM/eYUmzWQBanp3WVF1aTtwbUrq2J/5yHr0Kx2HYlU=; b=lbTq6rOBL5vCCHjd3gSIKUPpRY1KlDhMpIhCCb/RWeZs+mNaoNHHSzRypZSzmGSA5d f8bjZI6K69Ikiaj/aJ1Nb/+UxU8ilJyy7nmDpc49kqULwCTqJuQ07hajQTYzVatkguPJ MYQHuVKYML6NIxXjSrXW/ZuALsWYgjeM2Bij1uVSHFakYopcVM4skoH47JJcfqVQfrdt r8+QzS6W7hLkdEgGgplabBxkHF3MktI5YntA+RKb7UI+ihm4lAKOY3iOcUNYx9DG/VF8 3RZWTg1Jha8UOsN9OZ9jJGzSZn6zeS9nbMZphhqCkqw7Oqmz57nNZRmJAS50TZjG3odG kQHw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of anshuman.khandual@arm.com designates 217.140.101.70 as permitted sender) smtp.mailfrom=anshuman.khandual@arm.com Received: from foss.arm.com (foss.arm.com. [217.140.101.70]) by mx.google.com with ESMTP id y56si2546102oty.7.2018.10.02.05.15.50 for ; Tue, 02 Oct 2018 05:15:50 -0700 (PDT) Received-SPF: pass (google.com: domain of anshuman.khandual@arm.com designates 217.140.101.70 as permitted sender) client-ip=217.140.101.70; Authentication-Results: mx.google.com; spf=pass (google.com: domain of anshuman.khandual@arm.com designates 217.140.101.70 as permitted sender) smtp.mailfrom=anshuman.khandual@arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CA97615B2; Tue, 2 Oct 2018 05:15:49 -0700 (PDT) Received: from p8cg001049571a15.arm.com (unknown [10.163.1.117]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 2C4AD3F5B7; Tue, 2 Oct 2018 05:15:45 -0700 (PDT) From: Anshuman Khandual To: linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: suzuki.poulose@arm.com, punit.agrawal@arm.com, will.deacon@arm.com, Steven.Price@arm.com, catalin.marinas@arm.com, mhocko@kernel.org, mike.kravetz@oracle.com, n-horiguchi@ah.jp.nec.com Subject: [PATCH 2/4] mm/hugetlb: Enable arch specific huge page size support for migration Date: Tue, 2 Oct 2018 17:45:29 +0530 Message-Id: <1538482531-26883-3-git-send-email-anshuman.khandual@arm.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1538482531-26883-1-git-send-email-anshuman.khandual@arm.com> References: <1538482531-26883-1-git-send-email-anshuman.khandual@arm.com> X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP Architectures like arm64 have HugeTLB page sizes which are different than generic sizes at PMD, PUD, PGD level and implemented via contiguous bits. At present these special size HugeTLB pages cannot be identified through macros like (PMD|PUD|PGDIR)_SHIFT and hence chosen not be migrated. Enabling migration support for these special HugeTLB page sizes along with the generic ones (PMD|PUD|PGD) would require identifying all of them on a given platform. A platform specific hook can precisely enumerate all huge page sizes supported for migration. Instead of comparing against standard huge page orders let hugetlb_migration_support() function call a platform hook arch_hugetlb_migration_support(). Default definition for the platform hook maintains existing semantics which checks standard huge page order. But an architecture can choose to override the default and provide support for a comprehensive set of huge page sizes. Signed-off-by: Anshuman Khandual --- include/linux/hugetlb.h | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index 9c1b77f..9df1d59 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h @@ -479,18 +479,29 @@ static inline pgoff_t basepage_index(struct page *page) extern int dissolve_free_huge_page(struct page *page); extern int dissolve_free_huge_pages(unsigned long start_pfn, unsigned long end_pfn); -static inline bool hugepage_migration_supported(struct hstate *h) -{ + #ifdef CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION +#ifndef arch_hugetlb_migration_supported +static inline bool arch_hugetlb_migration_supported(struct hstate *h) +{ if ((huge_page_shift(h) == PMD_SHIFT) || (huge_page_shift(h) == PUD_SHIFT) || (huge_page_shift(h) == PGDIR_SHIFT)) return true; else return false; +} +#endif #else +static inline bool arch_hugetlb_migration_supported(struct hstate *h) +{ return false; +} #endif + +static inline bool hugepage_migration_supported(struct hstate *h) +{ + return arch_hugetlb_migration_supported(h); } static inline spinlock_t *huge_pte_lockptr(struct hstate *h, From patchwork Tue Oct 2 12:15:30 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anshuman Khandual X-Patchwork-Id: 10623577 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B0C2516B1 for ; Tue, 2 Oct 2018 12:15:56 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A9AFC28884 for ; Tue, 2 Oct 2018 12:15:56 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9DBCE28887; Tue, 2 Oct 2018 12:15:56 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3988028884 for ; Tue, 2 Oct 2018 12:15:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 216B76B000E; Tue, 2 Oct 2018 08:15:55 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 1C60A6B0010; Tue, 2 Oct 2018 08:15:55 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0DE316B0266; Tue, 2 Oct 2018 08:15:55 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-oi1-f200.google.com (mail-oi1-f200.google.com [209.85.167.200]) by kanga.kvack.org (Postfix) with ESMTP id E18F16B000E for ; Tue, 2 Oct 2018 08:15:54 -0400 (EDT) Received: by mail-oi1-f200.google.com with SMTP id r68-v6so839667oie.12 for ; Tue, 02 Oct 2018 05:15:54 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-original-authentication-results:x-gm-message-state:from:to:cc :subject:date:message-id:in-reply-to:references; bh=WftKFTrMoKocwRhcofDhWa/D5kJv43PxT1BODIQgSFE=; b=UYxN9M7GFH+IdTY7dGTvhEdu8hRa4UvFJ5VOQE5mbL0Nu4LS2dpM0CTj7RTZjjSNgc QgA3c9531i3Qn+1g7yt4wkS9bZmDIu7gmlzZi0rXQrhynUEwUVLX8jwVO5S137Y3q83y EnvOuu1ti+FLWnGD0Q+Op3/Ojc9ke0Cy0l+9vSzbDBKXhamUTONEobTVriQ4W2MER8cn vvIBHVjVOxAF4Bn9PK1DBLlAttkjxoZfMHc6bgxaKo1Ed5usy0A25+ltKDs17kjVh9nZ vDLdTC94A8tuMxG2INsShc+Rm6L3z8BaBKWeC+265XTeNJyNX/ZtQ/ofY9a8vFVzs70S ulPQ== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of anshuman.khandual@arm.com designates 217.140.101.70 as permitted sender) smtp.mailfrom=anshuman.khandual@arm.com X-Gm-Message-State: ABuFfohFv+P9CqMRVPP1L4hf9Ov6gU1ST3YLhseJDnEDdm3SuN69tGWK GbBdwshhmj+se9n8oMiPBnYOUwb/xU6GCDfkqpxGCYloxmWa/DQ0jPvBoCUlmBqbIOlteKD2CR/ AHC0CGkguCvsAH+nsmdT04JJGbmYY7pYB/j3WVo5+961A6VAT97qzeSdoJMgPDItQSw== X-Received: by 2002:aca:b582:: with SMTP id e124-v6mr6840423oif.119.1538482554730; Tue, 02 Oct 2018 05:15:54 -0700 (PDT) X-Google-Smtp-Source: ACcGV61c23amIY8a51dJH14+4EmJ28LIkz6bnGGIYUBVmcViCSeh27B1LiNpPKfPvWTeCv8pYf6P X-Received: by 2002:aca:b582:: with SMTP id e124-v6mr6840412oif.119.1538482554170; Tue, 02 Oct 2018 05:15:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538482554; cv=none; d=google.com; s=arc-20160816; b=hUK3GdaW58yPWJo21RpntODqAD8RN29c18V4+0LDS/JlQ9s+TRSnj0dW6mi37Bzum9 RCnwDcAyE6NjadVBDtJqiXZThC4jIydBiIcaQQ4P5d6s4SpA0xBc13yW+LbYCjMALNo2 txWN0Au9AJ9+6Djry0h8kY1Q3/PJ2d2L/uXaF3LVdNto2bSG0mmukxEBiz+jtyh4lACw eta2PRpS84/MPw6oqzW4zccji8XBDrKn3nQb73yWMX5KNH7Eif0VchR3JohTDbZsbPK+ jPybmba2BxnCgWeLW7sZXdu1ZLzEqrLmWTJf2T1trVb47vLA4vsfRt8ps66aFYfuzAzN 2oCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from; bh=WftKFTrMoKocwRhcofDhWa/D5kJv43PxT1BODIQgSFE=; b=ilqF5ocqHEw7i3DVE9ooVCttuIbPE2l+iLtRjO/DxOeUx+CEttXJ7byknSRV4bRc4R N1EFcGmSOZ3ObZCI/E2DDZixf2U7Ox4U15kbnaFZnLBvL/Digxrda7sLCjSQcvWIFxKf 1GaU0pNpxjVI3MhG6wemsZ68Dl90mCJFWuwPK4ZaQH+D1xkr92abRL14TYCdv34Hf7if 8zjhztgT6rgWiXX/7BvtCJ2nT2tC51xrHmwEuC7YXZgllBsaEdYJKTxvXPamRdSKd7DM M83ZdeaHeY76R+P1kgS6o1hJyCfMba0IifqCdeBrS2f6wDkpPJNBEGx6NnPnAbsc5YJ7 ZPSw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of anshuman.khandual@arm.com designates 217.140.101.70 as permitted sender) smtp.mailfrom=anshuman.khandual@arm.com Received: from foss.arm.com (foss.arm.com. [217.140.101.70]) by mx.google.com with ESMTP id j10si1595236otb.180.2018.10.02.05.15.53 for ; Tue, 02 Oct 2018 05:15:53 -0700 (PDT) Received-SPF: pass (google.com: domain of anshuman.khandual@arm.com designates 217.140.101.70 as permitted sender) client-ip=217.140.101.70; Authentication-Results: mx.google.com; spf=pass (google.com: domain of anshuman.khandual@arm.com designates 217.140.101.70 as permitted sender) smtp.mailfrom=anshuman.khandual@arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id AC7BF15BF; Tue, 2 Oct 2018 05:15:53 -0700 (PDT) Received: from p8cg001049571a15.arm.com (unknown [10.163.1.117]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 4032A3F5B7; Tue, 2 Oct 2018 05:15:50 -0700 (PDT) From: Anshuman Khandual To: linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: suzuki.poulose@arm.com, punit.agrawal@arm.com, will.deacon@arm.com, Steven.Price@arm.com, catalin.marinas@arm.com, mhocko@kernel.org, mike.kravetz@oracle.com, n-horiguchi@ah.jp.nec.com Subject: [PATCH 3/4] arm64/mm: Enable HugeTLB migration Date: Tue, 2 Oct 2018 17:45:30 +0530 Message-Id: <1538482531-26883-4-git-send-email-anshuman.khandual@arm.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1538482531-26883-1-git-send-email-anshuman.khandual@arm.com> References: <1538482531-26883-1-git-send-email-anshuman.khandual@arm.com> X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP Let arm64 subscribe to generic HugeTLB page migration framework. Right now this only works on the following PMD and PUD level HugeTLB page sizes with various kernel base page size combinations. CONT PTE PMD CONT PMD PUD -------- --- -------- --- 4K: NA 2M NA 1G 16K: NA 32M NA 64K: NA 512M NA Signed-off-by: Anshuman Khandual --- arch/arm64/Kconfig | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 1b1a0e9..e54350f 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -1305,6 +1305,10 @@ config SYSVIPC_COMPAT def_bool y depends on COMPAT && SYSVIPC +config ARCH_ENABLE_HUGEPAGE_MIGRATION + def_bool y + depends on HUGETLB_PAGE && MIGRATION + menu "Power management options" source "kernel/power/Kconfig" From patchwork Tue Oct 2 12:15:31 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anshuman Khandual X-Patchwork-Id: 10623579 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2EC31174A for ; Tue, 2 Oct 2018 12:16:01 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2520D28885 for ; Tue, 2 Oct 2018 12:16:01 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1920D2888A; Tue, 2 Oct 2018 12:16:01 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A9F4428885 for ; Tue, 2 Oct 2018 12:16:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8F3E56B0266; Tue, 2 Oct 2018 08:15:59 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 8A4E86B0269; Tue, 2 Oct 2018 08:15:59 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 76BBB6B026A; Tue, 2 Oct 2018 08:15:59 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-ot1-f69.google.com (mail-ot1-f69.google.com [209.85.210.69]) by kanga.kvack.org (Postfix) with ESMTP id 4F8476B0266 for ; Tue, 2 Oct 2018 08:15:59 -0400 (EDT) Received: by mail-ot1-f69.google.com with SMTP id b5-v6so1150839otk.21 for ; Tue, 02 Oct 2018 05:15:59 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-original-authentication-results:x-gm-message-state:from:to:cc :subject:date:message-id:in-reply-to:references; bh=dV4ZZ+OF10+FHjmP9McuZUPgFMx4CHiWj171IKMAXew=; b=DX2TeUX97Nj0ExXV3kyQW8nHS7HiGQ88dIam2VYvt2eF1d9IVQjW6r+o/oCw3qIszX 6BcI0ZfcQm/gf7RZ34ukay5hN3qTM61pjnklre1G2Zz84wgGs0HQVAxCap4Iqj62LeSi Wa3FE3D2pGzEoGKy3BGkTQ6dkKjNBC2sfLOooTHH7aYHHpfVNB5DKuZ3OFOcWqS8erdd bMTpVcwDVM6T1pazt51lg/XRK8OeM8/CDPRVLNfC/XYby3u9p0lFIkVsaT5BnE9s7XnW xSFN9BtG3w3CPhYk3kuTJyKgO9I6Kbukyfvz9XB9B1Ptv0+0t0m3Vno9VR1TQw9ETJOd IR7w== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of anshuman.khandual@arm.com designates 217.140.101.70 as permitted sender) smtp.mailfrom=anshuman.khandual@arm.com X-Gm-Message-State: ABuFfojkp4WkiUcstOCUs2MOJlpNpO6braBU07ygmIie0NZzDbk0tEBb ntaybsCyrcx1yHbbPMCwW0g/Rs1Qu+7ThMSMCWxhOrQw6t3sAj4UnNlwRvsuLb7UDiwZHLpow0C 9NlucT5xnd84g9ArBxMR+5zrvY2QzN8zr/mqJJeEZRgG0tOFJUeRglgWtJVyeGtY9nw== X-Received: by 2002:aca:dd08:: with SMTP id u8-v6mr571267oig.94.1538482559100; Tue, 02 Oct 2018 05:15:59 -0700 (PDT) X-Google-Smtp-Source: ACcGV61Y64nEZdqIGt6egYBStbX/1xOjtvDPDl5vrr2NAZYUkPC9NVp+uS9gCdBFAjwJhiJZcEVl X-Received: by 2002:aca:dd08:: with SMTP id u8-v6mr571241oig.94.1538482558367; Tue, 02 Oct 2018 05:15:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538482558; cv=none; d=google.com; s=arc-20160816; b=N7Miwm8uUErNmkbM/6btuvzOBF4vAVbwpdreU4Z/EI24/wOpuw/NXqK4otbtXh1r5E GcWlUyPt/KC5um9EbMoKPbSB6kpAgIgPLKAhTf3DqrYebK8y71t1hA2EgqGnvHH86EDD r0eDqqPD4kLoO8GXWaQn3/yph4QcNr4ZWRI9yarC4yXUWD7HKjHSUFyPoE9qCb6/2/Zc BLPK7QjVdCbyRIv2EqJDLsYQNYP2Sa81tKbj/5VqcUnxg+iXisJN0iGan1p3my5qU4Sy OgW9IOg2j4xylnMF3b2QeXcxmbSH8eJjSKsNBqh8TMZaFYwVWqDHE9TBeGRBZ0Up6Yl0 A6nw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from; bh=dV4ZZ+OF10+FHjmP9McuZUPgFMx4CHiWj171IKMAXew=; b=UHIrJl3aSz1zm84cM/VWzOjy39ath5hxumbu0s/38DAvdgVT75vgXsD1ccb4PFfI6x LBCUK/6YrqRtQdc9DolEdHphX3g49HNd6JxHPZ8NVrzNVpsSJw5MRldaGPvHxWABhGTN dnuxi0Zpj6tD8h2LNrCRW7sT1DYVJJXiLsNv+a2c/hDI5Ib5U7i3GLbY2t8PVGBcdl4n +NEkU2cPSiR7n6WA2dRC+B3TovmDhylqfnCfIbP+DM2ql27wMe6tBZ0xcmMlVp1EZwmQ D/OuAYvY2T6TON/dmvzQtI6A9FILKvzNRDcMNcjyvmfU5U+8tyNlfzqs1LLaTUUbRvGT A/Pw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of anshuman.khandual@arm.com designates 217.140.101.70 as permitted sender) smtp.mailfrom=anshuman.khandual@arm.com Received: from foss.arm.com (foss.arm.com. [217.140.101.70]) by mx.google.com with ESMTP id a62-v6si7632488otc.86.2018.10.02.05.15.58 for ; Tue, 02 Oct 2018 05:15:58 -0700 (PDT) Received-SPF: pass (google.com: domain of anshuman.khandual@arm.com designates 217.140.101.70 as permitted sender) client-ip=217.140.101.70; Authentication-Results: mx.google.com; spf=pass (google.com: domain of anshuman.khandual@arm.com designates 217.140.101.70 as permitted sender) smtp.mailfrom=anshuman.khandual@arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id F34F71682; Tue, 2 Oct 2018 05:15:57 -0700 (PDT) Received: from p8cg001049571a15.arm.com (unknown [10.163.1.117]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 28E553F5B7; Tue, 2 Oct 2018 05:15:53 -0700 (PDT) From: Anshuman Khandual To: linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: suzuki.poulose@arm.com, punit.agrawal@arm.com, will.deacon@arm.com, Steven.Price@arm.com, catalin.marinas@arm.com, mhocko@kernel.org, mike.kravetz@oracle.com, n-horiguchi@ah.jp.nec.com Subject: [PATCH 4/4] arm64/mm: Enable HugeTLB migration for contiguous bit HugeTLB pages Date: Tue, 2 Oct 2018 17:45:31 +0530 Message-Id: <1538482531-26883-5-git-send-email-anshuman.khandual@arm.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1538482531-26883-1-git-send-email-anshuman.khandual@arm.com> References: <1538482531-26883-1-git-send-email-anshuman.khandual@arm.com> X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP Let arm64 subscribe to the previously added framework in which architecture can inform whether a given huge page size is supported for migration. This just overrides the default function arch_hugetlb_migration_supported() and enables migration for all possible HugeTLB page sizes on arm64. With this, HugeTLB migration support on arm64 now covers all possible HugeTLB options. CONT PTE PMD CONT PMD PUD -------- --- -------- --- 4K: 64K 2M 32M 1G 16K: 2M 32M 1G 64K: 2M 512M 16G Signed-off-by: Anshuman Khandual --- arch/arm64/include/asm/hugetlb.h | 5 +++++ arch/arm64/mm/hugetlbpage.c | 20 ++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/arch/arm64/include/asm/hugetlb.h b/arch/arm64/include/asm/hugetlb.h index e73f685..656f70e 100644 --- a/arch/arm64/include/asm/hugetlb.h +++ b/arch/arm64/include/asm/hugetlb.h @@ -20,6 +20,11 @@ #include +#ifdef CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION +#define arch_hugetlb_migration_supported arch_hugetlb_migration_supported +extern bool arch_hugetlb_migration_supported(struct hstate *h); +#endif + static inline pte_t huge_ptep_get(pte_t *ptep) { return READ_ONCE(*ptep); diff --git a/arch/arm64/mm/hugetlbpage.c b/arch/arm64/mm/hugetlbpage.c index 4eafd9f..28f4795 100644 --- a/arch/arm64/mm/hugetlbpage.c +++ b/arch/arm64/mm/hugetlbpage.c @@ -27,6 +27,26 @@ #include #include +#ifdef CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION +bool arch_hugetlb_migration_supported(struct hstate *h) +{ + size_t pagesize = huge_page_size(h); + + switch (pagesize) { +#ifdef CONFIG_ARM64_4K_PAGES + case PUD_SIZE: +#endif + case PMD_SIZE: + case CONT_PMD_SIZE: + case CONT_PTE_SIZE: + return true; + } + pr_warn("%s: unrecognized huge page size 0x%lx\n", + __func__, pagesize); + return false; +} +#endif + int pmd_huge(pmd_t pmd) { return pmd_val(pmd) && !(pmd_val(pmd) & PMD_TABLE_BIT);