From patchwork Mon Aug 6 17:57:00 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexandre Ghiti X-Patchwork-Id: 10557661 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 6B26613BB for ; Mon, 6 Aug 2018 17:57:29 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 59AD1299C7 for ; Mon, 6 Aug 2018 17:57:29 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4D4FF29A31; Mon, 6 Aug 2018 17:57:29 +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 43D7C299C7 for ; Mon, 6 Aug 2018 17:57:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 61A566B0266; Mon, 6 Aug 2018 13:57:27 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 5C9F76B0269; Mon, 6 Aug 2018 13:57:27 -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 4BA676B026A; Mon, 6 Aug 2018 13:57:27 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-wm0-f71.google.com (mail-wm0-f71.google.com [74.125.82.71]) by kanga.kvack.org (Postfix) with ESMTP id E504D6B0266 for ; Mon, 6 Aug 2018 13:57:26 -0400 (EDT) Received: by mail-wm0-f71.google.com with SMTP id n18-v6so8859991wmc.3 for ; Mon, 06 Aug 2018 10:57:26 -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; bh=0grXAZky8dfKripIgZZzJKFCKgSit1vZz2Gn3VZaj3U=; b=stLWB/q5lX72eAsHxXxPgSM4cTSSm/CIX4hpdF2B6GZwMRl+pzSNc7z6x2R0Srbef5 +KJuFspz2IPTycg5nltiQHEGqJ2AXFbEN7KiJumgdaa8UrrYUuWoOvOx73CwCb8u8jWi /8sqZO1bWMJTVi2aPC65vhahcpUjPEZJlhypeqPODWzVqWHKaGMfCcKS542bggFb1DTW fQwG/UrNKV5RHUqkFiPEMmQdAkl8OTVp1SAj8EiDLP1gHMqWpPnvO2rrTozmEd7lO42r 85J1+2qvirWFhpeaiHN408BqFb1jk2NYHQbhGG+GZomtGT2o9ljMGr/6WLqydUOfLw9H adUA== X-Original-Authentication-Results: mx.google.com; spf=neutral (google.com: 217.70.183.198 is neither permitted nor denied by best guess record for domain of alex@ghiti.fr) smtp.mailfrom=alex@ghiti.fr X-Gm-Message-State: AOUpUlHOlw3RhwVMgZpes88+SUQjvNbp077j/WKbwvYSHK4p5XYPJNz9 s3jOFqVdC9RL134nfnE2zfR5NHIhlmfV2tOgfuv1JbAB00axyvHihHps2SLgd29KB1V4tSf7YlZ UXPLnF/5nwwVu3dK5upJr+EeJftJQeunL4irv07yIaaM+QEi+clS8RoEKXpjk0LY= X-Received: by 2002:a1c:10d4:: with SMTP id 203-v6mr11725840wmq.158.1533578246438; Mon, 06 Aug 2018 10:57:26 -0700 (PDT) X-Google-Smtp-Source: AAOMgpfdCQ3kN1dYlpeuUNh8d1931rldXjo3Qv59StsfK9SeltOPpfEAdC4/d/QrOBOwUZEzEjun X-Received: by 2002:a1c:10d4:: with SMTP id 203-v6mr11725805wmq.158.1533578245355; Mon, 06 Aug 2018 10:57:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533578245; cv=none; d=google.com; s=arc-20160816; b=qcqPBnscEC2wqYiCBsx88cCbvGqeZGh/aU66swGo6HDsEj4ULHncGLvSqsF+vBatXA z5Kam92i+kTsOfaITr0ET1eUpDVJDD7P89igRZfH/s2oiJD7ueBlSOmh65y6uJYm6Y3w Kk9TG53Ulugqez2LUlq043IquwWF2U/c2ipariL47MgTEZu9RWb9JliX49WAiC9yE4zI dxMACFXzD8oi9f1LSsrSHXVW06A7Ocm5N0Xhs2x73LlE5baf4NO7bXIX/nRT163xEXP8 eRkU+4RIl6MZvVR6M5vx76qdG5JWKHgx5Jc/dvKfGe7aJKwqzjWCxG4wjZZWvwYkwtX5 oR6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=message-id:date:subject:cc:to:from:arc-authentication-results; bh=0grXAZky8dfKripIgZZzJKFCKgSit1vZz2Gn3VZaj3U=; b=bbsGNQ+ZDqNCMOeMIr+nR0hNEHp2xfue4f17ftb6xqGT52+/NKeZmEFk94McA1YJ6z r9C+ybSOXOycnUeQwHirXiSroGNa2GxhRaoVj9CjdwrHDsOoKpPx1VThAPi8Ig1F0yMP ZZWRU02XT7fy+c1Gin6BGC+zQPXy5MIA3dgSGdYc49Y2sNUiHGXuuhCn2BQH22S4fS+8 NL/Y+PEMK/nLNC8amppOHh712dKUuG6AdM8jX5Hixe0L0GOnXuGqJQqp6F2mSKGjHfuc k+YcwrB7INJcN8tcqgdlP9Fm4Z1eeJBIc8qKa6kF0K5J5wA+uO+hdG5oIwEkPOpqOLIL J/NA== ARC-Authentication-Results: i=1; mx.google.com; spf=neutral (google.com: 217.70.183.198 is neither permitted nor denied by best guess record for domain of alex@ghiti.fr) smtp.mailfrom=alex@ghiti.fr Received: from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net. [217.70.183.198]) by mx.google.com with ESMTPS id t7-v6si5337020wmh.61.2018.08.06.10.57.25 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 06 Aug 2018 10:57:25 -0700 (PDT) Received-SPF: neutral (google.com: 217.70.183.198 is neither permitted nor denied by best guess record for domain of alex@ghiti.fr) client-ip=217.70.183.198; Authentication-Results: mx.google.com; spf=neutral (google.com: 217.70.183.198 is neither permitted nor denied by best guess record for domain of alex@ghiti.fr) smtp.mailfrom=alex@ghiti.fr 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 relay6-d.mail.gandi.net (Postfix) with ESMTPSA id 99611C0003; Mon, 6 Aug 2018 17:57:16 +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 v6 00/11] hugetlb: Factorize hugetlb architecture primitives Date: Mon, 6 Aug 2018 17:57:00 +0000 Message-Id: <20180806175711.24438-1-alex@ghiti.fr> X-Mailer: git-send-email 2.16.2 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 [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. This patchset has been compiled on all addressed architectures with success (except for parisc, but the problem does not come from this series). v6: - Remove nohash/32 and book3s/32 powerpc specific implementations in order to use the generic ones. - Add all the Reviewed-by, Acked-by and Tested-by in the commits, thanks to everyone. 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 | 6 -- arch/powerpc/include/asm/book3s/64/pgtable.h | 1 + arch/powerpc/include/asm/hugetlb.h | 43 ++------------ arch/powerpc/include/asm/nohash/32/pgtable.h | 6 -- 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, 135 insertions(+), 394 deletions(-) Acked-by: Ingo Molnar