* [merged mm-stable] memcg-add-mem_cgroup_uncharge_folios.patch removed from -mm tree
@ 2024-03-05 1:02 Andrew Morton
0 siblings, 0 replies; only message in thread
From: Andrew Morton @ 2024-03-05 1:02 UTC (permalink / raw)
To: mm-commits, ryan.roberts, mgorman, david, willy, akpm
The quilt patch titled
Subject: memcg: add mem_cgroup_uncharge_folios()
has been removed from the -mm tree. Its filename was
memcg-add-mem_cgroup_uncharge_folios.patch
This patch was dropped because it was merged into the mm-stable branch
of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
------------------------------------------------------
From: "Matthew Wilcox (Oracle)" <willy@infradead.org>
Subject: memcg: add mem_cgroup_uncharge_folios()
Date: Tue, 27 Feb 2024 17:42:39 +0000
Almost identical to mem_cgroup_uncharge_list(), except it takes a
folio_batch instead of a list_head.
Link: https://lkml.kernel.org/r/20240227174254.710559-6-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Ryan Roberts <ryan.roberts@arm.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Mel Gorman <mgorman@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/linux/memcontrol.h | 14 ++++++++++++--
mm/memcontrol.c | 13 +++++++++++++
2 files changed, 25 insertions(+), 2 deletions(-)
--- a/include/linux/memcontrol.h~memcg-add-mem_cgroup_uncharge_folios
+++ a/include/linux/memcontrol.h
@@ -721,10 +721,16 @@ static inline void mem_cgroup_uncharge_l
__mem_cgroup_uncharge_list(page_list);
}
-void mem_cgroup_cancel_charge(struct mem_cgroup *memcg, unsigned int nr_pages);
+void __mem_cgroup_uncharge_folios(struct folio_batch *folios);
+static inline void mem_cgroup_uncharge_folios(struct folio_batch *folios)
+{
+ if (mem_cgroup_disabled())
+ return;
+ __mem_cgroup_uncharge_folios(folios);
+}
+void mem_cgroup_cancel_charge(struct mem_cgroup *memcg, unsigned int nr_pages);
void mem_cgroup_replace_folio(struct folio *old, struct folio *new);
-
void mem_cgroup_migrate(struct folio *old, struct folio *new);
/**
@@ -1299,6 +1305,10 @@ static inline void mem_cgroup_uncharge_l
{
}
+static inline void mem_cgroup_uncharge_folios(struct folio_batch *folios)
+{
+}
+
static inline void mem_cgroup_cancel_charge(struct mem_cgroup *memcg,
unsigned int nr_pages)
{
--- a/mm/memcontrol.c~memcg-add-mem_cgroup_uncharge_folios
+++ a/mm/memcontrol.c
@@ -33,6 +33,7 @@
#include <linux/shmem_fs.h>
#include <linux/hugetlb.h>
#include <linux/pagemap.h>
+#include <linux/pagevec.h>
#include <linux/vm_event_item.h>
#include <linux/smp.h>
#include <linux/page-flags.h>
@@ -7530,6 +7531,18 @@ void __mem_cgroup_uncharge_list(struct l
if (ug.memcg)
uncharge_batch(&ug);
}
+
+void __mem_cgroup_uncharge_folios(struct folio_batch *folios)
+{
+ struct uncharge_gather ug;
+ unsigned int i;
+
+ uncharge_gather_clear(&ug);
+ for (i = 0; i < folios->nr; i++)
+ uncharge_folio(folios->folios[i], &ug);
+ if (ug.memcg)
+ uncharge_batch(&ug);
+}
/**
* mem_cgroup_replace_folio - Charge a folio's replacement.
_
Patches currently in -mm which might be from willy@infradead.org are
mm-separate-out-folio_flags-from-pageflags.patch
mm-remove-pagewaiters-pagesetwaiters-and-pageclearwaiters.patch
mm-remove-pageyoung-and-pageidle-definitions.patch
mm-add-__dump_folio.patch
mm-add-__dump_folio-fix.patch
mm-add-__dump_folio-fix-2.patch
mm-add-__dump_folio-fix-3.patch
mm-make-dump_page-take-a-const-argument.patch
mm-constify-testing-page-folio-flags.patch
mm-constify-more-page-folio-tests.patch
mm-remove-cast-from-page_to_nid.patch
mm-mempolicy-use-a-folio-in-do_mbind.patch
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-03-05 1:02 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-05 1:02 [merged mm-stable] memcg-add-mem_cgroup_uncharge_folios.patch removed from -mm tree 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.