From patchwork Thu Sep 20 06:03:47 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexandre Ghiti X-Patchwork-Id: 10606873 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 376711508 for ; Thu, 20 Sep 2018 06:04:15 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 270D02D086 for ; Thu, 20 Sep 2018 06:04:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1A4162D193; Thu, 20 Sep 2018 06:04:15 +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 694FF2D086 for ; Thu, 20 Sep 2018 06:04:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C74568E0002; Thu, 20 Sep 2018 02:04:11 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id BFCCA8E0001; Thu, 20 Sep 2018 02:04:11 -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 AC4D98E0002; Thu, 20 Sep 2018 02:04:11 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com [209.85.208.69]) by kanga.kvack.org (Postfix) with ESMTP id 44B568E0001 for ; Thu, 20 Sep 2018 02:04:11 -0400 (EDT) Received: by mail-ed1-f69.google.com with SMTP id b4-v6so3678465ede.4 for ; Wed, 19 Sep 2018 23:04:11 -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=C/C8KzgkoxBWMUzT9G/0YpBeJhCT4sViYVz0fJKBtv0=; b=P+EMT6958nF/LiCu5imtWgb3JV/8qIQ0nvu1QcIMiFQBeJNu8PVMiQuaV7xMiLTrRd MDuIzwp8R+Q08INV1W0TR7QqksICX22EOwS0ewQvqTXj+JjmDKf0YbzEBm95pPnijddJ u1hSZpNlzKOdL71aAWYOfKJI5OAlOprfBJcZihQx6D0lqcOCJtWJk2zfcmCj1XuL1CgW ZaMTq1oGoJHYYeORrSB3Q2zXk1IrzaswxaoOkDMFHcV3b7+PeGwK1sAe3qMiPcdbPLDT BXgy3STM7eoVBz21Sv2CrRdS/VAt5UKQfLa0uzd0HbgT9GpPpa0ZES8KlVpGHyHU2Omw hFRQ== X-Original-Authentication-Results: mx.google.com; spf=neutral (google.com: 217.70.183.193 is neither permitted nor denied by best guess record for domain of alex@ghiti.fr) smtp.mailfrom=alex@ghiti.fr X-Gm-Message-State: APzg51ArBA9PXY0QZUnjPfZZAhbykaxromcvS7xTYYWXpXrdk9SQikko Lra5WBgu4mnurwxokUthxPhmYYWBOP+2+G4xZtb+IvIxgUtPcFo9alj4/mjPl6uDb1oao6ZLEAc AIOixshXJHobMmD4xVCTsN7v6nrFLci9ERo+m0cNAhECwbkdTN/c4bMntBsnGXTw= X-Received: by 2002:a50:d90e:: with SMTP id t14-v6mr2033169edj.241.1537423450541; Wed, 19 Sep 2018 23:04:10 -0700 (PDT) X-Google-Smtp-Source: ANB0VdaUOsPfmoBs+BtOv0kXxutpjeYXD+0LVOGtJe+Exl3cvHGJdVS3vMnsbodS+nGZOTL4exmV X-Received: by 2002:a50:d90e:: with SMTP id t14-v6mr2033081edj.241.1537423449595; Wed, 19 Sep 2018 23:04:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537423449; cv=none; d=google.com; s=arc-20160816; b=jr3RNqQemPbetmBuMpNlprmkGAbXG43kVsOj3Sf95DNgUnIuB2+uHIRAGHuySfio6Q by9FmBcMoPAGwMP5n2IDKimW07RHw1HpmhTDw/EWnsl6oSSfz8IGfDBklYv7WNA5zH/j T7nEo0QcpOjChtDaaQ5VQb+7uXMYPmlSYwKOHb4Cg5WhpNdgdKKuvv/HfTRPF+yevuo3 vSQVph4zEYrZt4Shw0V4ICEipJsA4fazr24DZHUxrAHG1Hucb8HKFems0KnarkMQ6qEG tLy67lvl0u7y3fhzEHG3T3Vi/d6D4AXLA8BLyew4lemZa6Mm4uSPOTtsXttEWrwh765p hukA== 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; bh=C/C8KzgkoxBWMUzT9G/0YpBeJhCT4sViYVz0fJKBtv0=; b=m0Wu43PtgcgTKKZ/W4Dj8M/7W4CP9GF+TOS8x+xNbqrOtHcWK5BNnnv+bh52pHa66h EJyCfhl3Pd0Mr1zQ5s+ameuYwXjB/d9U+q9xZ0gWuVdD22lPr7zdZY6WU3q0szzvJ699 JIgY3D1nM9GOlXpuAWVfMTU2iyBf0ESfQ05gWJPxKmJX+7oJndZfx9vkOAmGw8kx+z7r pTObuawKVRZt34YKx/hs1txZA+Pqf9cX7dIY6xkp9d5zCEHpnPOkPzHmC3lYG6LMog7W +Xy2QOZgd9aCZJOUQ1enpSLVTTCSC0f839yr0aIET4dbiNPKNVtSCR0TeNgZv65B7m44 lAjg== ARC-Authentication-Results: i=1; mx.google.com; spf=neutral (google.com: 217.70.183.193 is neither permitted nor denied by best guess record for domain of alex@ghiti.fr) smtp.mailfrom=alex@ghiti.fr Received: from relay1-d.mail.gandi.net (relay1-d.mail.gandi.net. [217.70.183.193]) by mx.google.com with ESMTPS id y43-v6si902992edd.416.2018.09.19.23.04.09 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 19 Sep 2018 23:04:09 -0700 (PDT) Received-SPF: neutral (google.com: 217.70.183.193 is neither permitted nor denied by best guess record for domain of alex@ghiti.fr) client-ip=217.70.183.193; Authentication-Results: mx.google.com; spf=neutral (google.com: 217.70.183.193 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 relay1-d.mail.gandi.net (Postfix) with ESMTPSA id 67E5F24000D; Thu, 20 Sep 2018 06:04:01 +0000 (UTC) From: Alexandre Ghiti To: akpm@linux-foundation.org Cc: 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, Alexandre Ghiti Subject: [PATCH v7 00/11] hugetlb: Factorize hugetlb architecture primitives Date: Thu, 20 Sep 2018 06:03:47 +0000 Message-Id: <20180920060358.16606-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 Hi Andrew, As suggested by people who reviewed/acked this series, please consider including this series into -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). v7: Add Ingo Molnar Acked-By for x86. 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(-)