Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp4771198imm; Mon, 30 Jul 2018 23:04:47 -0700 (PDT) X-Google-Smtp-Source: AAOMgpf57Fv8/TYNd2AOIBJKMqEp+KD/APFxiMfLantMXelUhD9RTJg2KsXMaG9idcdNAwefqhtq X-Received: by 2002:a63:5624:: with SMTP id k36-v6mr19136223pgb.146.1533017087012; Mon, 30 Jul 2018 23:04:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533017086; cv=none; d=google.com; s=arc-20160816; b=EhYJV2euEwBVlDiBRqFWNb6A5CDkTFQOnCExe+EnYAeazR01xqZ6RnSMILP6o/fDFJ zbZA87hybUaeMIs5zvDKzxSk+frvk4RGqAfiG9Vfen+5/STj2IOmHKmx+7lzsvl35bRM Zc8dNeMpDru+Iq8ZsiRI/VdIehehf9po6Rvc/JOaqXUiroGNjRG89KxyTAn0v6gEI7cY FxDdeF3R1cS4+QfQh5aql4sQBWeAEAR9ZkCXZVbSi5evAfgOzuItVegIEYURKrsfdjVO LAW3GpWhTwqBk2+7jKcDAjTgQ8Zg2uRuXtHWhBPWzxrsU7penb6jVc5SKt8URfdKpTnL FEDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=nY8Gf4QSjBX3OD8GWWPKoEOcbUkzOgeZvKWAM+erowE=; b=h3rYGWQZTkPWgt9iLC44CsvwnDhI705VOvoxDzYFwe3gZcAV0VV6kwHSlH7aAJ2c6C kE2kVnTCOJMTZYQzd+kVFbpX25vbyEiOCjORTUQaMO045MgiSVa3BeIkTZVJAbyDT1C0 HziDQy/Ek4dVYi683agXrL7ahN4uN/zy760MKEuioHXybI4VJXflB6Pp5TYFW8aMO+Qe 8BBOOkz6xOHwHMCNcZ711ipCmDAsgwU4tGkNTeKu2PnbQIUKkySDfZgQXoejDU4H0N0U liT3Nr4KTHSXyQVYPOIVHAdbIgo8l4RLbOCFZV6kfN5rHRsp9t0Q74Ax4pHWtjCFdp5V e3Wg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m18-v6si12844483pgg.693.2018.07.30.23.04.32; Mon, 30 Jul 2018 23:04:46 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731021AbeGaHlh (ORCPT + 99 others); Tue, 31 Jul 2018 03:41:37 -0400 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:56913 "EHLO relay1-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729725AbeGaHlh (ORCPT ); Tue, 31 Jul 2018 03:41:37 -0400 X-Originating-IP: 79.86.19.127 Received: from alex.numericable.fr (127.19.86.79.rev.sfr.net [79.86.19.127]) (Authenticated sender: alex@ghiti.fr) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id 1854C240003; Tue, 31 Jul 2018 06:02:48 +0000 (UTC) From: Alexandre Ghiti To: linux-mm@kvack.org, mike.kravetz@oracle.com, linux@armlinux.org.uk, catalin.marinas@arm.com, will.deacon@arm.com, tony.luck@intel.com, fenghua.yu@intel.com, ralf@linux-mips.org, paul.burton@mips.com, jhogan@kernel.org, jejb@parisc-linux.org, deller@gmx.de, benh@kernel.crashing.org, paulus@samba.org, mpe@ellerman.id.au, ysato@users.sourceforge.jp, dalias@libc.org, davem@davemloft.net, tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com, x86@kernel.org, arnd@arndb.de, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-ia64@vger.kernel.org, linux-mips@linux-mips.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-arch@vger.kernel.org Cc: Alexandre Ghiti Subject: [PATCH v5 00/11] hugetlb: Factorize hugetlb architecture primitives Date: Tue, 31 Jul 2018 06:01:44 +0000 Message-Id: <20180731060155.16915-1-alex@ghiti.fr> X-Mailer: git-send-email 2.16.2 X-Spam-Level: ** Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org [CC linux-mm for inclusion in -mm tree] In order to reduce copy/paste of functions across architectures and then make riscv hugetlb port (and future ports) simpler and smaller, this patchset intends to factorize the numerous hugetlb primitives that are defined across all the architectures. Except for prepare_hugepage_range, this patchset moves the versions that are just pass-through to standard pte primitives into asm-generic/hugetlb.h by using the same #ifdef semantic that can be found in asm-generic/pgtable.h, i.e. __HAVE_ARCH_***. s390 architecture has not been tackled in this serie since it does not use asm-generic/hugetlb.h at all. powerpc could be factorized a bit more (cf huge_ptep_set_wrprotect). This patchset has been compiled on all addressed architectures with success (except for parisc, but the problem does not come from this series). Tested-by: Helge Deller # parisc Acked-by: Paul Burton # MIPS parts Changelog: v5: As suggested by Mike Kravetz, no need to move the #include for arm and x86 architectures, let it live at the top of the file. v4: Fix powerpc build error due to misplacing of #include outside of #ifdef CONFIG_HUGETLB_PAGE, as pointed by Christophe Leroy. v1, v2, v3: Same version, just problems with email provider and misuse of --batch-size option of git send-email Alexandre Ghiti (11): hugetlb: Harmonize hugetlb.h arch specific defines with pgtable.h hugetlb: Introduce generic version of hugetlb_free_pgd_range hugetlb: Introduce generic version of set_huge_pte_at hugetlb: Introduce generic version of huge_ptep_get_and_clear hugetlb: Introduce generic version of huge_ptep_clear_flush hugetlb: Introduce generic version of huge_pte_none hugetlb: Introduce generic version of huge_pte_wrprotect hugetlb: Introduce generic version of prepare_hugepage_range hugetlb: Introduce generic version of huge_ptep_set_wrprotect hugetlb: Introduce generic version of huge_ptep_set_access_flags hugetlb: Introduce generic version of huge_ptep_get arch/arm/include/asm/hugetlb-3level.h | 32 +--------- arch/arm/include/asm/hugetlb.h | 30 ---------- arch/arm64/include/asm/hugetlb.h | 39 +++--------- arch/ia64/include/asm/hugetlb.h | 47 ++------------- arch/mips/include/asm/hugetlb.h | 40 +++---------- arch/parisc/include/asm/hugetlb.h | 33 +++-------- arch/powerpc/include/asm/book3s/32/pgtable.h | 2 + arch/powerpc/include/asm/book3s/64/pgtable.h | 1 + arch/powerpc/include/asm/hugetlb.h | 43 ++------------ arch/powerpc/include/asm/nohash/32/pgtable.h | 2 + arch/powerpc/include/asm/nohash/64/pgtable.h | 1 + arch/sh/include/asm/hugetlb.h | 54 ++--------------- arch/sparc/include/asm/hugetlb.h | 40 +++---------- arch/x86/include/asm/hugetlb.h | 69 ---------------------- include/asm-generic/hugetlb.h | 88 +++++++++++++++++++++++++++- 15 files changed, 139 insertions(+), 382 deletions(-) -- 2.16.2