Linux-arch Archive on lore.kernel.org
 help / color / Atom feed
WARNING: multiple messages have this Message-ID
From: Alexandre Ghiti <alex@ghiti.fr>
To: 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 <alex@ghiti.fr>
Subject: [PATCH v4 00/11] hugetlb: Factorize hugetlb architecture primitives
Date: Thu,  5 Jul 2018 11:07:05 +0000
Message-ID: <20180705110716.3919-1-alex@ghiti.fr> (raw)

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 x86 only. 

Changelog:

v4:
  Fix powerpc build error due to misplacing of #include
  <asm-generic/hugetlb.h> 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               | 33 +----------
 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               | 72 +----------------------
 include/asm-generic/hugetlb.h                | 88 +++++++++++++++++++++++++++-
 15 files changed, 143 insertions(+), 384 deletions(-)

-- 
2.16.2

From: Alexandre Ghiti <alex@ghiti.fr>
To: 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 <alex@ghiti.fr>
Subject: [PATCH v4 00/11] hugetlb: Factorize hugetlb architecture primitives
Date: Thu,  5 Jul 2018 11:07:05 +0000
Message-ID: <20180705110716.3919-1-alex@ghiti.fr> (raw)
Message-ID: <20180705110705.QgPSi6BR46hMp2-RP_fTszXseWDB0diAx3Zl--lbxIg@z> (raw)

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 x86 only. 

Changelog:

v4:
  Fix powerpc build error due to misplacing of #include
  <asm-generic/hugetlb.h> 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               | 33 +----------
 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               | 72 +----------------------
 include/asm-generic/hugetlb.h                | 88 +++++++++++++++++++++++++++-
 15 files changed, 143 insertions(+), 384 deletions(-)

-- 
2.16.2

             reply index

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-05 11:07 Alexandre Ghiti [this message]
2018-07-05 11:07 ` Alexandre Ghiti
2018-07-05 11:07 ` [PATCH v4 01/11] hugetlb: Harmonize hugetlb.h arch specific defines with pgtable.h Alexandre Ghiti
2018-07-05 11:07   ` Alexandre Ghiti
2018-07-26 18:40   ` Mike Kravetz
2018-07-26 18:40     ` Mike Kravetz
2018-07-05 11:07 ` [PATCH v4 02/11] hugetlb: Introduce generic version of hugetlb_free_pgd_range Alexandre Ghiti
2018-07-05 11:07   ` Alexandre Ghiti
2018-07-26 18:45   ` Mike Kravetz
2018-07-26 18:45     ` Mike Kravetz
2018-07-05 11:07 ` [PATCH v4 03/11] hugetlb: Introduce generic version of set_huge_pte_at Alexandre Ghiti
2018-07-05 11:07   ` Alexandre Ghiti
2018-07-26 19:00   ` Mike Kravetz
2018-07-26 19:00     ` Mike Kravetz
2018-07-05 11:07 ` [PATCH v4 04/11] hugetlb: Introduce generic version of huge_ptep_get_and_clear Alexandre Ghiti
2018-07-05 11:07   ` Alexandre Ghiti
2018-07-26 19:02   ` Mike Kravetz
2018-07-26 19:02     ` Mike Kravetz
2018-07-05 11:07 ` [PATCH v4 05/11] hugetlb: Introduce generic version of huge_ptep_clear_flush Alexandre Ghiti
2018-07-05 11:07   ` Alexandre Ghiti
2018-07-26 19:03   ` Mike Kravetz
2018-07-26 19:03     ` Mike Kravetz
2018-07-05 11:07 ` [PATCH v4 06/11] hugetlb: Introduce generic version of huge_pte_none Alexandre Ghiti
2018-07-05 11:07   ` Alexandre Ghiti
2018-07-26 19:04   ` Mike Kravetz
2018-07-26 19:04     ` Mike Kravetz
2018-07-05 11:07 ` [PATCH v4 07/11] hugetlb: Introduce generic version of huge_pte_wrprotect Alexandre Ghiti
2018-07-05 11:07   ` Alexandre Ghiti
2018-07-26 19:05   ` Mike Kravetz
2018-07-26 19:05     ` Mike Kravetz
2018-07-05 11:07 ` [PATCH v4 08/11] hugetlb: Introduce generic version of prepare_hugepage_range Alexandre Ghiti
2018-07-05 11:07   ` Alexandre Ghiti
2018-07-26 19:05   ` Mike Kravetz
2018-07-26 19:05     ` Mike Kravetz
2018-07-05 11:07 ` [PATCH v4 09/11] hugetlb: Introduce generic version of huge_ptep_set_wrprotect Alexandre Ghiti
2018-07-05 11:07   ` Alexandre Ghiti
2018-07-26 19:10   ` Mike Kravetz
2018-07-26 19:10     ` Mike Kravetz
2018-07-05 11:07 ` [PATCH v4 10/11] hugetlb: Introduce generic version of huge_ptep_set_access_flags Alexandre Ghiti
2018-07-05 11:07   ` Alexandre Ghiti
2018-07-26 19:12   ` Mike Kravetz
2018-07-26 19:12     ` Mike Kravetz
2018-07-05 11:07 ` [PATCH v4 11/11] hugetlb: Introduce generic version of huge_ptep_get Alexandre Ghiti
2018-07-05 11:07   ` Alexandre Ghiti
2018-07-26 19:13   ` Mike Kravetz
2018-07-26 19:13     ` Mike Kravetz
2018-07-09 14:16 ` [PATCH v4 00/11] hugetlb: Factorize hugetlb architecture primitives Michal Hocko
2018-07-09 14:16   ` Michal Hocko
2018-07-20 18:37   ` Alex Ghiti
2018-07-20 18:37     ` Alex Ghiti
2018-07-21  0:24     ` Mike Kravetz
2018-07-21  0:24       ` Mike Kravetz
2018-07-26 11:46       ` Michael Ellerman
2018-07-26 11:46         ` Michael Ellerman
2018-07-26 19:16         ` Mike Kravetz
2018-07-26 19:16           ` Mike Kravetz
2018-07-27  6:51           ` Alexandre Ghiti
2018-07-27  6:51             ` Alexandre Ghiti
2018-07-23 14:00     ` Michael Ellerman
2018-07-23 14:00       ` Michael Ellerman
2018-07-23 17:41       ` Alex Ghiti
2018-07-23 17:41         ` Alex Ghiti
2018-07-26  5:41       ` Alex Ghiti
2018-07-26  5:41         ` Alex Ghiti
2018-07-26 12:59         ` Helge Deller
2018-07-26 12:59           ` Helge Deller
2018-07-26 17:01           ` Alex Ghiti
2018-07-26 17:01             ` Alex Ghiti
2018-07-26 19:13             ` Alex Ghiti
2018-07-26 19:13               ` Alex Ghiti
2018-07-26 21:08               ` Helge Deller
2018-07-26 21:08                 ` Helge Deller
2018-07-26 15:13         ` LEROY Christophe
2018-07-26 15:13           ` LEROY Christophe
2018-07-26 16:46           ` Alex Ghiti
2018-07-26 16:46             ` Alex Ghiti
2018-07-25  0:34 ` Paul Burton
2018-07-25  0:34   ` Paul Burton
2018-07-25  7:38   ` Alexandre Ghiti
2018-07-25  7:38     ` Alexandre Ghiti

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180705110716.3919-1-alex@ghiti.fr \
    --to=alex@ghiti.fr \
    --cc=arnd@arndb.de \
    --cc=benh@kernel.crashing.org \
    --cc=catalin.marinas@arm.com \
    --cc=dalias@libc.org \
    --cc=davem@davemloft.net \
    --cc=deller@gmx.de \
    --cc=fenghua.yu@intel.com \
    --cc=hpa@zytor.com \
    --cc=jejb@parisc-linux.org \
    --cc=jhogan@kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mingo@redhat.com \
    --cc=mpe@ellerman.id.au \
    --cc=paul.burton@mips.com \
    --cc=paulus@samba.org \
    --cc=ralf@linux-mips.org \
    --cc=sparclinux@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=will.deacon@arm.com \
    --cc=x86@kernel.org \
    --cc=ysato@users.sourceforge.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux-arch Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-arch/0 linux-arch/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-arch linux-arch/ https://lore.kernel.org/linux-arch \
		linux-arch@vger.kernel.org
	public-inbox-index linux-arch

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-arch


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git