All of lore.kernel.org
 help / color / mirror / Atom feed
* + mm-page_ext-do-not-allocate-space-for-page_ext-flags-if-not-needed-v4.patch added to mm-unstable branch
@ 2023-01-17 22:53 Andrew Morton
  0 siblings, 0 replies; only message in thread
From: Andrew Morton @ 2023-01-17 22:53 UTC (permalink / raw)
  To: mm-commits, vbabka, rppt, quic_charante, mhocko, lizhe.67, david,
	pasha.tatashin, akpm


The patch titled
     Subject: mm-page_ext-do-not-allocate-space-for-page_ext-flags-if-not-needed-v4
has been added to the -mm mm-unstable branch.  Its filename is
     mm-page_ext-do-not-allocate-space-for-page_ext-flags-if-not-needed-v4.patch

This patch will shortly appear at
     https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/mm-page_ext-do-not-allocate-space-for-page_ext-flags-if-not-needed-v4.patch

This patch will later appear in the mm-unstable branch at
    git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Before you just go and hit "reply", please:
   a) Consider who else should be cc'ed
   b) Prefer to cc a suitable mailing list as well
   c) Ideally: find the original patch on the mailing list and do a
      reply-to-all to that, adding suitable additional cc's

*** Remember to use Documentation/process/submit-checklist.rst when testing your code ***

The -mm tree is included into linux-next via the mm-everything
branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
and is updated there every 2-3 working days

------------------------------------------------------
From: Pasha Tatashin <pasha.tatashin@soleen.com>
Subject: mm-page_ext-do-not-allocate-space-for-page_ext-flags-if-not-needed-v4
Date: Tue, 17 Jan 2023 20:21:03 +0000

address comments from Mike Rapoport

Link: https://lkml.kernel.org/r/20230117202103.1412449-1-pasha.tatashin@soleen.com
Signed-off-by: Pasha Tatashin <pasha.tatashin@soleen.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: David Hildenbrand <david@redhat.com>
Cc: Charan Teja Kalla <quic_charante@quicinc.com>
Cc: Li Zhe <lizhe.67@bytedance.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---


--- a/include/linux/page_ext.h~mm-page_ext-do-not-allocate-space-for-page_ext-flags-if-not-needed-v4
+++ a/include/linux/page_ext.h
@@ -8,29 +8,31 @@
 
 struct pglist_data;
 
-/*
+/**
+ * struct page_ext_operations - per page_ext client operations
+ * @offset: Offset to the client's data within page_ext. Offset is returned to
+ *          the client by page_ext_init.
+ * @size: The size of the client data within page_ext.
+ * @need: Function that returns true if client requires page_ext.
+ * @init: (optional) Called to initialize client once page_exts are allocated.
+ * @need_shared_flags: True when client is using shared page_ext->flags
+ *                     field.
+ *
  * Each Page Extension client must define page_ext_operations in
  * page_ext_ops array.
- * offset  offset to the client's data within page_ext. Offset is returned to
- *         the client by page_ext_init.
- * size    the size of the client data within page_ext.
- * need()  function that returns true if client requires page_ext
- * init()  (optional) called to initialize client once page_exts are allocated.
- * using_shared_ext_flags  true when client is using shared page_ext->flags
- *         field.
  */
 struct page_ext_operations {
 	size_t offset;
 	size_t size;
 	bool (*need)(void);
 	void (*init)(void);
-	bool using_shared_ext_flags;
+	bool need_shared_flags;
 };
 
 #ifdef CONFIG_PAGE_EXTENSION
 
 /*
- * The page_ext_flags users must set using_shared_ext_flags to true.
+ * The page_ext_flags users must set need_shared_flags to true.
  */
 enum page_ext_flags {
 	PAGE_EXT_OWNER,
@@ -47,9 +49,6 @@ enum page_ext_flags {
  * page_ext helps us add more information about the page.
  * All page_ext are allocated at boot or memory hotplug event,
  * then the page_ext for pfn always exists.
- * Note: that if none of the users of page_ext is setting
- * using_shared_ext_flags to true, the field cannot be used,
- * as it will be overlapped with another data.
  */
 struct page_ext {
 	unsigned long flags;
--- a/mm/page_ext.c~mm-page_ext-do-not-allocate-space-for-page_ext-flags-if-not-needed-v4
+++ a/mm/page_ext.c
@@ -71,7 +71,7 @@ static bool need_page_idle(void)
 }
 static struct page_ext_operations page_idle_ops __initdata = {
 	.need = need_page_idle,
-	.using_shared_ext_flags = true,
+	.need_shared_flags = true,
 };
 #endif
 
@@ -108,7 +108,7 @@ static bool __init invoke_need_callbacks
 
 	for (i = 0; i < entries; i++) {
 		if (page_ext_ops[i]->need()) {
-			if (page_ext_ops[i]->using_shared_ext_flags) {
+			if (page_ext_ops[i]->need_shared_flags) {
 				page_ext_size = sizeof(struct page_ext);
 				break;
 			}
--- a/mm/page_owner.c~mm-page_ext-do-not-allocate-space-for-page_ext-flags-if-not-needed-v4
+++ a/mm/page_owner.c
@@ -99,7 +99,7 @@ struct page_ext_operations page_owner_op
 	.size = sizeof(struct page_owner),
 	.need = need_page_owner,
 	.init = init_page_owner,
-	.using_shared_ext_flags = true,
+	.need_shared_flags = true,
 };
 
 static inline struct page_owner *get_page_owner(struct page_ext *page_ext)
--- a/mm/page_table_check.c~mm-page_ext-do-not-allocate-space-for-page_ext-flags-if-not-needed-v4
+++ a/mm/page_table_check.c
@@ -45,7 +45,7 @@ struct page_ext_operations page_table_ch
 	.size = sizeof(struct page_table_check),
 	.need = need_page_table_check,
 	.init = init_page_table_check,
-	.using_shared_ext_flags = false,
+	.need_shared_flags = false,
 };
 
 static struct page_table_check *get_page_table_check(struct page_ext *page_ext)
_

Patches currently in -mm which might be from pasha.tatashin@soleen.com are

mm-page_ext-do-not-allocate-space-for-page_ext-flags-if-not-needed.patch
mm-page_ext-do-not-allocate-space-for-page_ext-flags-if-not-needed-v4.patch
mm-page_ext-init-page_ext-early-if-there-are-no-deferred-struct-pages.patch


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-01-17 23:47 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-17 22:53 + mm-page_ext-do-not-allocate-space-for-page_ext-flags-if-not-needed-v4.patch added to mm-unstable branch Andrew Morton

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.