From patchwork Tue Jul 31 06:01:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexandre Ghiti X-Patchwork-Id: 10549993 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 5EC881708 for ; Tue, 31 Jul 2018 06:03:04 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4D76B29244 for ; Tue, 31 Jul 2018 06:03:04 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3F1212939B; Tue, 31 Jul 2018 06:03:04 +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 4EE9929244 for ; Tue, 31 Jul 2018 06:03:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E71226B0003; Tue, 31 Jul 2018 02:03:01 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id E1FFA6B0005; Tue, 31 Jul 2018 02:03:01 -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 D35A66B0007; Tue, 31 Jul 2018 02:03:01 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-wm0-f72.google.com (mail-wm0-f72.google.com [74.125.82.72]) by kanga.kvack.org (Postfix) with ESMTP id 79FC76B0003 for ; Tue, 31 Jul 2018 02:03:01 -0400 (EDT) Received: by mail-wm0-f72.google.com with SMTP id n18-v6so953169wmc.3 for ; Mon, 30 Jul 2018 23:03:01 -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=nY8Gf4QSjBX3OD8GWWPKoEOcbUkzOgeZvKWAM+erowE=; b=gqzdHDqBgfWr1XNPdKXZ617RIgUwmHC4YH+G+SHZfVahObiQcV7/YyVVPW+tnbUBpQ IW3WmnLjcnIStI/2r5oe9GQldAbzfxQpegwDLIZQObkJAq+tKaAV/YujO66UtnZLQKHw Zig6Gqb/lS/QX3DyPu7Zifs/rfeWgTPrsfpsyuxEiELn0NDdvwgqx9ysqV7RjChPgm8N AK4SqyNoTWodwqV3R8EjuMe9qynIGLTs7D+vnuwH9MQPQFFsDojGKb9X+TJS/74FdqOZ dRtTc9ZTh2c14faW5E1vrwpKm/GRGqVqod0ZEH1Qlw/uhRNzDB3+TP8QCwcI+x/8pvuB kWOw== 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: AOUpUlFCYHRzW2rNr0CJ8i/9Y6IkUi0dJ19D98pE5x7j48q1GvsHifmb xCJwY2ewifPgAMcAZ9o3eaHdr7VTreQwgz0rIf2QlqDsryDJ54fUxmg+Xgw0Pbq+JIy2HteTdHV YSDMPoizfjioJt1o8hJM+IcN/6K3T7Vzw2BGC2KDYNoieQNZZJeD+EjJi8VVfNQw= X-Received: by 2002:a1c:1f10:: with SMTP id f16-v6mr432928wmf.112.1533016980780; Mon, 30 Jul 2018 23:03:00 -0700 (PDT) X-Google-Smtp-Source: AAOMgpfRh70sn6yHzWeL2uG5KIB6I7nWnuP4IsXo74AtTZJQn71gqaVi9o0sMAlfDQCcbPtnNc91 X-Received: by 2002:a1c:1f10:: with SMTP id f16-v6mr432879wmf.112.1533016979863; Mon, 30 Jul 2018 23:02:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533016979; cv=none; d=google.com; s=arc-20160816; b=JC6ujWffEEjKJGyuVW5QcLdwN2E274pivQeAXwf5YGrUmxerRjMN6RKgkbJSdVBdAf 0z5SoGdEbJOmXjoZJcQpoE9+9fAqjyS0mM1ogkM6+4hhqKPLvVCvuFOiQa7GMFjE3rIA OhAr6l7kVHd2xbXOP0scGyF3WATzLBETYtbeh63sIAetVw+m6Rlwy4Pg86ue+uXWraMJ 30nlPno3ofn1OzeSpsQRn0ITtmCar3WwT8DN/lu8unMm7OWqx+ZJraKOzkMjlEJrnMYh j7Dry3LQzNk6XddsHxT2Rrul/7VgX90AqxCB4Mur6SvnEV31n2Z0GB6D9RGO/aoDM+al Byhw== 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=nY8Gf4QSjBX3OD8GWWPKoEOcbUkzOgeZvKWAM+erowE=; b=K48V9ABKZg6Zy/r9X4YMVMkJdMFCVKf0Eja7Vqn6VUnt6vfWChYd/bQ9iPAbmRE2YO oShNkurvhD0LNpI2NTKoQJS/aT00UI5MTVnL/7sTTyB96yOdlaZtGjCXxVcRWrkLNDu2 NuiPWW7AHBO9YrzsWxhFr/bEdxGuwLAWTG6tTLvVzic1uO1ArwBK/hPZqDLwZsPO6igo GwgGt/f8kFFL3nisNJN9mG7C35DuXZc79Hvlghrgx1s37NCsyGS/Mi10yMoAdaxm57sH QEfnnwfpBZMaQ3nH+ruMAUh3cETePvBytneIrjr+f38PoKSiu8IfPZ6KL8fRMiGDjNZO cXaw== 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 l12-v6si13067108wrt.15.2018.07.30.23.02.59 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 30 Jul 2018 23:02:59 -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 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-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. 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(-) Acked-by: Catalin Marinas Reviewed-by: Luiz Capitulino