From: Kalesh Singh <kaleshsingh@google.com>
To: akpm@linux-foundation.org, vbabka@suse.cz,
yang@os.amperecomputing.com, riel@surriel.com, david@redhat.com,
minchan@kernel.org, jyescas@google.com
Cc: linux@armlinux.org.uk, tsbogend@alpha.franken.de,
James.Bottomley@HansenPartnership.com,
ysato@users.sourceforge.jp, dalias@libc.org,
glaubitz@physik.fu-berlin.de, davem@davemloft.net,
andreas@gaisler.com, tglx@linutronix.de, bp@alien8.de,
dave.hansen@linux.intel.com, x86@kernel.org, chris@zankel.net,
jcmvbkbc@gmail.com, bhelgaas@google.com, jason.andryuk@amd.com,
leitao@debian.org, linux-alpha@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-snps-arc@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-csky@vger.kernel.org, loongarch@lists.linux.dev,
linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
linux-sh@vger.kernel.org, sparclinux@vger.kernel.org,
linux-mm@kvack.org, kernel-team@android.com,
android-mm@google.com, Kalesh Singh <kaleshsingh@google.com>
Subject: [PATCH mm-unstable v2 15/16] mm: powerpc: Introduce arch_mmap_hint()
Date: Wed, 11 Dec 2024 15:27:53 -0800 [thread overview]
Message-ID: <20241211232754.1583023-16-kaleshsingh@google.com> (raw)
In-Reply-To: <20241211232754.1583023-1-kaleshsingh@google.com>
Introduce powerpc arch_mmap_hint() and define HAVE_ARCH_MMAP_HINT.
This is a preparatory patch, no functional change is introduced.
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
---
arch/powerpc/include/asm/book3s/64/slice.h | 1 +
arch/powerpc/mm/book3s64/slice.c | 31 ++++++++++++++++++++++
2 files changed, 32 insertions(+)
diff --git a/arch/powerpc/include/asm/book3s/64/slice.h b/arch/powerpc/include/asm/book3s/64/slice.h
index 5fbe18544cbd..89f629080e90 100644
--- a/arch/powerpc/include/asm/book3s/64/slice.h
+++ b/arch/powerpc/include/asm/book3s/64/slice.h
@@ -10,6 +10,7 @@
#endif
#define HAVE_ARCH_UNMAPPED_AREA
#define HAVE_ARCH_UNMAPPED_AREA_TOPDOWN
+#define HAVE_ARCH_MMAP_HINT
#endif
#define SLICE_LOW_SHIFT 28
diff --git a/arch/powerpc/mm/book3s64/slice.c b/arch/powerpc/mm/book3s64/slice.c
index bc9a39821d1c..b4067c57c778 100644
--- a/arch/powerpc/mm/book3s64/slice.c
+++ b/arch/powerpc/mm/book3s64/slice.c
@@ -647,6 +647,37 @@ static int file_to_psize(struct file *file)
}
#endif
+static unsigned long slice_mmap_hint(unsigned long addr, unsigned long len,
+ unsigned long flags, unsigned int psize)
+{
+ unsigned long hint_addr = slice_get_unmapped_area(addr, len, flags, psize, 0);
+
+ if (IS_ERR_VALUE(hint_addr) || hint_addr == PAGE_ALIGN(addr))
+ return hint_addr;
+
+ return 0;
+}
+
+unsigned long arch_mmap_hint(struct file *filp, unsigned long addr,
+ unsigned long len, unsigned long pgoff,
+ unsigned long flags)
+{
+ unsigned int psize;
+
+ if (!addr)
+ return 0;
+
+ if (radix_enabled())
+ return generic_mmap_hint(filp, addr, len, pgoff, flags);
+
+ if (filp && is_file_hugepages(filp))
+ psize = file_to_psize(filp);
+ else
+ psize = mm_ctx_user_psize(¤t->mm->context);
+
+ return slice_mmap_hint(addr, len, flags, psize);
+}
+
unsigned long arch_get_unmapped_area(struct file *filp,
unsigned long addr,
unsigned long len,
--
2.47.0.338.g60cca15819-goog
WARNING: multiple messages have this Message-ID (diff)
From: Kalesh Singh <kaleshsingh@google.com>
To: akpm@linux-foundation.org, vbabka@suse.cz,
yang@os.amperecomputing.com, riel@surriel.com, david@redhat.com,
minchan@kernel.org, jyescas@google.com
Cc: linux@armlinux.org.uk, tsbogend@alpha.franken.de,
James.Bottomley@HansenPartnership.com,
ysato@users.sourceforge.jp, dalias@libc.org,
glaubitz@physik.fu-berlin.de, davem@davemloft.net,
andreas@gaisler.com, tglx@linutronix.de, bp@alien8.de,
dave.hansen@linux.intel.com, x86@kernel.org, chris@zankel.net,
jcmvbkbc@gmail.com, bhelgaas@google.com, jason.andryuk@amd.com,
leitao@debian.org, linux-alpha@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-snps-arc@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-csky@vger.kernel.org, loongarch@lists.linux.dev,
linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
linux-sh@vger.kernel.org, sparclinux@vger.kernel.org,
linux-mm@kvack.org, kernel-team@android.com,
android-mm@google.com, Kalesh Singh <kaleshsingh@google.com>
Subject: [PATCH mm-unstable v2 15/16] mm: powerpc: Introduce arch_mmap_hint()
Date: Wed, 11 Dec 2024 15:27:53 -0800 [thread overview]
Message-ID: <20241211232754.1583023-16-kaleshsingh@google.com> (raw)
In-Reply-To: <20241211232754.1583023-1-kaleshsingh@google.com>
Introduce powerpc arch_mmap_hint() and define HAVE_ARCH_MMAP_HINT.
This is a preparatory patch, no functional change is introduced.
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
---
arch/powerpc/include/asm/book3s/64/slice.h | 1 +
arch/powerpc/mm/book3s64/slice.c | 31 ++++++++++++++++++++++
2 files changed, 32 insertions(+)
diff --git a/arch/powerpc/include/asm/book3s/64/slice.h b/arch/powerpc/include/asm/book3s/64/slice.h
index 5fbe18544cbd..89f629080e90 100644
--- a/arch/powerpc/include/asm/book3s/64/slice.h
+++ b/arch/powerpc/include/asm/book3s/64/slice.h
@@ -10,6 +10,7 @@
#endif
#define HAVE_ARCH_UNMAPPED_AREA
#define HAVE_ARCH_UNMAPPED_AREA_TOPDOWN
+#define HAVE_ARCH_MMAP_HINT
#endif
#define SLICE_LOW_SHIFT 28
diff --git a/arch/powerpc/mm/book3s64/slice.c b/arch/powerpc/mm/book3s64/slice.c
index bc9a39821d1c..b4067c57c778 100644
--- a/arch/powerpc/mm/book3s64/slice.c
+++ b/arch/powerpc/mm/book3s64/slice.c
@@ -647,6 +647,37 @@ static int file_to_psize(struct file *file)
}
#endif
+static unsigned long slice_mmap_hint(unsigned long addr, unsigned long len,
+ unsigned long flags, unsigned int psize)
+{
+ unsigned long hint_addr = slice_get_unmapped_area(addr, len, flags, psize, 0);
+
+ if (IS_ERR_VALUE(hint_addr) || hint_addr == PAGE_ALIGN(addr))
+ return hint_addr;
+
+ return 0;
+}
+
+unsigned long arch_mmap_hint(struct file *filp, unsigned long addr,
+ unsigned long len, unsigned long pgoff,
+ unsigned long flags)
+{
+ unsigned int psize;
+
+ if (!addr)
+ return 0;
+
+ if (radix_enabled())
+ return generic_mmap_hint(filp, addr, len, pgoff, flags);
+
+ if (filp && is_file_hugepages(filp))
+ psize = file_to_psize(filp);
+ else
+ psize = mm_ctx_user_psize(¤t->mm->context);
+
+ return slice_mmap_hint(addr, len, flags, psize);
+}
+
unsigned long arch_get_unmapped_area(struct file *filp,
unsigned long addr,
unsigned long len,
--
2.47.0.338.g60cca15819-goog
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
next prev parent reply other threads:[~2024-12-11 23:28 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-11 23:27 [PATCH mm-unstable v2 00/16] mm: Introduce arch_mmap_hint() Kalesh Singh
2024-12-11 23:27 ` Kalesh Singh
2024-12-11 23:27 ` [PATCH mm-unstable v2 01/16] mm: Introduce generic_mmap_hint() Kalesh Singh
2024-12-11 23:27 ` Kalesh Singh
2024-12-12 20:08 ` Yang Shi
2024-12-12 20:08 ` Yang Shi
2024-12-11 23:27 ` [PATCH mm-unstable v2 02/16] mm: x86: Introduce arch_mmap_hint() Kalesh Singh
2024-12-11 23:27 ` Kalesh Singh
2024-12-11 23:27 ` [PATCH mm-unstable v2 03/16] mm: arm: " Kalesh Singh
2024-12-11 23:27 ` Kalesh Singh
2024-12-11 23:27 ` [PATCH mm-unstable v2 04/16] mm: alpha: " Kalesh Singh
2024-12-11 23:27 ` Kalesh Singh
2024-12-11 23:27 ` [PATCH mm-unstable v2 05/16] mm: arc: Use generic_mmap_hint() Kalesh Singh
2024-12-11 23:27 ` Kalesh Singh
2024-12-12 21:13 ` Liam R. Howlett
2024-12-12 21:13 ` Liam R. Howlett
2024-12-11 23:27 ` [PATCH mm-unstable v2 06/16] mm: csky: Introduce arch_mmap_hint() Kalesh Singh
2024-12-11 23:27 ` Kalesh Singh
2024-12-12 21:40 ` Liam R. Howlett
2024-12-12 21:40 ` Liam R. Howlett
2024-12-13 1:39 ` Andrew Morton
2024-12-13 1:39 ` Andrew Morton
2024-12-11 23:27 ` [PATCH mm-unstable v2 07/16] mm: loongarch: " Kalesh Singh
2024-12-11 23:27 ` Kalesh Singh
2024-12-11 23:27 ` [PATCH mm-unstable v2 08/16] mm: mips: Introduce arch_align_mmap_hint() Kalesh Singh
2024-12-11 23:27 ` Kalesh Singh
2024-12-11 23:27 ` [PATCH mm-unstable v2 09/16] mm: parisc: " Kalesh Singh
2024-12-11 23:27 ` Kalesh Singh
2024-12-11 23:27 ` [PATCH mm-unstable v2 10/16] mm: s390: Use generic_mmap_hint() Kalesh Singh
2024-12-11 23:27 ` Kalesh Singh
2024-12-11 23:27 ` [PATCH mm-unstable v2 11/16] mm: sh: Introduce arch_mmap_hint() Kalesh Singh
2024-12-11 23:27 ` Kalesh Singh
2024-12-11 23:27 ` [PATCH mm-unstable v2 12/16] mm: sparc32: " Kalesh Singh
2024-12-11 23:27 ` Kalesh Singh
2024-12-11 23:27 ` [PATCH mm-unstable v2 13/16] mm: sparc64: " Kalesh Singh
2024-12-11 23:27 ` Kalesh Singh
2024-12-11 23:27 ` [PATCH mm-unstable v2 14/16] mm: xtensa: " Kalesh Singh
2024-12-11 23:27 ` Kalesh Singh
2024-12-11 23:27 ` Kalesh Singh [this message]
2024-12-11 23:27 ` [PATCH mm-unstable v2 15/16] mm: powerpc: " Kalesh Singh
2024-12-11 23:27 ` [PATCH mm-unstable v2 16/16] mm: Respect mmap hint before THP alignment if allocation is possible Kalesh Singh
2024-12-11 23:27 ` Kalesh Singh
2024-12-12 20:11 ` Yang Shi
2024-12-12 20:11 ` Yang Shi
2024-12-12 21:02 ` [PATCH mm-unstable v2 00/16] mm: Introduce arch_mmap_hint() Liam R. Howlett
2024-12-12 21:02 ` Liam R. Howlett
2024-12-12 22:51 ` Lorenzo Stoakes
2024-12-12 22:51 ` Lorenzo Stoakes
2024-12-13 1:36 ` Andrew Morton
2024-12-13 1:36 ` Andrew Morton
2024-12-13 8:59 ` Lorenzo Stoakes
2024-12-13 8:59 ` Lorenzo Stoakes
2024-12-13 15:06 ` Kalesh Singh
2024-12-13 15:06 ` Kalesh Singh
2024-12-13 15:16 ` Lorenzo Stoakes
2024-12-13 15:16 ` Lorenzo Stoakes
2024-12-13 16:45 ` Liam R. Howlett
2024-12-13 16:45 ` Liam R. Howlett
2024-12-13 17:08 ` Kalesh Singh
2024-12-13 17:08 ` Kalesh Singh
2024-12-12 22:01 ` Matthew Wilcox
2024-12-12 22:01 ` Matthew Wilcox
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=20241211232754.1583023-16-kaleshsingh@google.com \
--to=kaleshsingh@google.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=akpm@linux-foundation.org \
--cc=andreas@gaisler.com \
--cc=android-mm@google.com \
--cc=bhelgaas@google.com \
--cc=bp@alien8.de \
--cc=chris@zankel.net \
--cc=dalias@libc.org \
--cc=dave.hansen@linux.intel.com \
--cc=davem@davemloft.net \
--cc=david@redhat.com \
--cc=glaubitz@physik.fu-berlin.de \
--cc=jason.andryuk@amd.com \
--cc=jcmvbkbc@gmail.com \
--cc=jyescas@google.com \
--cc=kernel-team@android.com \
--cc=leitao@debian.org \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-csky@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-parisc@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=linux-snps-arc@lists.infradead.org \
--cc=linux@armlinux.org.uk \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=loongarch@lists.linux.dev \
--cc=minchan@kernel.org \
--cc=riel@surriel.com \
--cc=sparclinux@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=tsbogend@alpha.franken.de \
--cc=vbabka@suse.cz \
--cc=x86@kernel.org \
--cc=yang@os.amperecomputing.com \
--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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.