mm-commits.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: zhengqi.arch@bytedance.com, willy@infradead.org,
	vdavydov.dev@gmail.com, vbabka@suse.cz, tytso@mit.edu,
	trond.myklebust@hammerspace.com, shy828301@gmail.com,
	shakeelb@google.com, roman.gushchin@linux.dev,
	richard.weiyang@gmail.com, mhocko@kernel.org,
	kari.argillander@gmail.com, jaegeuk@kernel.org,
	hannes@cmpxchg.org, fam.zheng@bytedance.com,
	duanxiongchun@bytedance.com, david@fromorbit.com,
	chao@kernel.org, Anna.Schumaker@Netapp.com, alexs@kernel.org,
	songmuchun@bytedance.com, akpm@linux-foundation.org,
	patches@lists.linux.dev, linux-mm@kvack.org,
	mm-commits@vger.kernel.org, torvalds@linux-foundation.org,
	akpm@linux-foundation.org
Subject: [patch 054/227] mm: memcontrol: move memcg_online_kmem() to mem_cgroup_css_online()
Date: Tue, 22 Mar 2022 14:41:15 -0700	[thread overview]
Message-ID: <20220322214116.91195C340EC@smtp.kernel.org> (raw)
In-Reply-To: <20220322143803.04a5e59a07e48284f196a2f9@linux-foundation.org>

From: Muchun Song <songmuchun@bytedance.com>
Subject: mm: memcontrol: move memcg_online_kmem() to mem_cgroup_css_online()

It will simplify the code if moving memcg_online_kmem() to
mem_cgroup_css_online() and do not need to set ->kmemcg_id to -1 to
indicate the memcg is offline.  In the next patch, ->kmemcg_id will be
used to sync list lru reparenting which requires not to change
->kmemcg_id.

Link: https://lkml.kernel.org/r/20220228122126.37293-10-songmuchun@bytedance.com
Signed-off-by: Muchun Song <songmuchun@bytedance.com>
Acked-by: Roman Gushchin <roman.gushchin@linux.dev>
Cc: Alex Shi <alexs@kernel.org>
Cc: Anna Schumaker <Anna.Schumaker@Netapp.com>
Cc: Chao Yu <chao@kernel.org>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Fam Zheng <fam.zheng@bytedance.com>
Cc: Jaegeuk Kim <jaegeuk@kernel.org>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Kari Argillander <kari.argillander@gmail.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Qi Zheng <zhengqi.arch@bytedance.com>
Cc: Shakeel Butt <shakeelb@google.com>
Cc: Theodore Ts'o <tytso@mit.edu>
Cc: Trond Myklebust <trond.myklebust@hammerspace.com>
Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Wei Yang <richard.weiyang@gmail.com>
Cc: Xiongchun Duan <duanxiongchun@bytedance.com>
Cc: Yang Shi <shy828301@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 mm/memcontrol.c |   37 ++++++++++++++++---------------------
 1 file changed, 16 insertions(+), 21 deletions(-)

--- a/mm/memcontrol.c~mm-memcontrol-move-memcg_online_kmem-to-mem_cgroup_css_online
+++ a/mm/memcontrol.c
@@ -3670,7 +3670,8 @@ static int memcg_online_kmem(struct mem_
 	if (cgroup_memory_nokmem)
 		return 0;
 
-	BUG_ON(memcg->kmemcg_id >= 0);
+	if (unlikely(mem_cgroup_is_root(memcg)))
+		return 0;
 
 	memcg_id = memcg_alloc_cache_id();
 	if (memcg_id < 0)
@@ -3696,7 +3697,10 @@ static void memcg_offline_kmem(struct me
 	struct mem_cgroup *parent;
 	int kmemcg_id;
 
-	if (memcg->kmemcg_id == -1)
+	if (cgroup_memory_nokmem)
+		return;
+
+	if (unlikely(mem_cgroup_is_root(memcg)))
 		return;
 
 	parent = parent_mem_cgroup(memcg);
@@ -3706,7 +3710,6 @@ static void memcg_offline_kmem(struct me
 	memcg_reparent_objcgs(memcg, parent);
 
 	kmemcg_id = memcg->kmemcg_id;
-	BUG_ON(kmemcg_id < 0);
 
 	/*
 	 * After we have finished memcg_reparent_objcgs(), all list_lrus
@@ -3717,7 +3720,6 @@ static void memcg_offline_kmem(struct me
 	memcg_drain_all_list_lrus(kmemcg_id, parent);
 
 	memcg_free_cache_id(kmemcg_id);
-	memcg->kmemcg_id = -1;
 }
 #else
 static int memcg_online_kmem(struct mem_cgroup *memcg)
@@ -5237,7 +5239,6 @@ mem_cgroup_css_alloc(struct cgroup_subsy
 {
 	struct mem_cgroup *parent = mem_cgroup_from_css(parent_css);
 	struct mem_cgroup *memcg, *old_memcg;
-	long error = -ENOMEM;
 
 	old_memcg = set_active_memcg(parent);
 	memcg = mem_cgroup_alloc();
@@ -5266,34 +5267,26 @@ mem_cgroup_css_alloc(struct cgroup_subsy
 		return &memcg->css;
 	}
 
-	/* The following stuff does not apply to the root */
-	error = memcg_online_kmem(memcg);
-	if (error)
-		goto fail;
-
 	if (cgroup_subsys_on_dfl(memory_cgrp_subsys) && !cgroup_memory_nosocket)
 		static_branch_inc(&memcg_sockets_enabled_key);
 
 	return &memcg->css;
-fail:
-	mem_cgroup_id_remove(memcg);
-	mem_cgroup_free(memcg);
-	return ERR_PTR(error);
 }
 
 static int mem_cgroup_css_online(struct cgroup_subsys_state *css)
 {
 	struct mem_cgroup *memcg = mem_cgroup_from_css(css);
 
+	if (memcg_online_kmem(memcg))
+		goto remove_id;
+
 	/*
 	 * A memcg must be visible for expand_shrinker_info()
 	 * by the time the maps are allocated. So, we allocate maps
 	 * here, when for_each_mem_cgroup() can't skip it.
 	 */
-	if (alloc_shrinker_info(memcg)) {
-		mem_cgroup_id_remove(memcg);
-		return -ENOMEM;
-	}
+	if (alloc_shrinker_info(memcg))
+		goto offline_kmem;
 
 	/* Online state pins memcg ID, memcg ID pins CSS */
 	refcount_set(&memcg->id.ref, 1);
@@ -5303,6 +5296,11 @@ static int mem_cgroup_css_online(struct
 		queue_delayed_work(system_unbound_wq, &stats_flush_dwork,
 				   2UL*HZ);
 	return 0;
+offline_kmem:
+	memcg_offline_kmem(memcg);
+remove_id:
+	mem_cgroup_id_remove(memcg);
+	return -ENOMEM;
 }
 
 static void mem_cgroup_css_offline(struct cgroup_subsys_state *css)
@@ -5360,9 +5358,6 @@ static void mem_cgroup_css_free(struct c
 	cancel_work_sync(&memcg->high_work);
 	mem_cgroup_remove_from_trees(memcg);
 	free_shrinker_info(memcg);
-
-	/* Need to offline kmem if online_css() fails */
-	memcg_offline_kmem(memcg);
 	mem_cgroup_free(memcg);
 }
 
_

  parent reply	other threads:[~2022-03-22 21:41 UTC|newest]

Thread overview: 233+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-22 21:38 incoming Andrew Morton
2022-03-22 21:38 ` [patch 001/227] linux/kthread.h: remove unused macros Andrew Morton
2022-03-22 21:38 ` [patch 002/227] scripts/spelling.txt: add more spellings to spelling.txt Andrew Morton
2022-03-22 21:38 ` [patch 003/227] ntfs: add sanity check on allocation size Andrew Morton
2022-03-22 22:13   ` Linus Torvalds
2022-03-22 21:38 ` [patch 004/227] ocfs2: cleanup some return variables Andrew Morton
2022-03-22 21:38 ` [patch 005/227] fs/ocfs2: fix comments mentioning i_mutex Andrew Morton
2022-03-22 21:38 ` [patch 006/227] doc: convert 'subsection' to 'section' in gfp.h Andrew Morton
2022-03-22 21:38 ` [patch 007/227] mm: document and polish read-ahead code Andrew Morton
2022-03-22 21:38 ` [patch 008/227] mm: improve cleanup when ->readpages doesn't process all pages Andrew Morton
2022-03-22 21:38 ` [patch 009/227] fuse: remove reliance on bdi congestion Andrew Morton
2022-03-22 21:39 ` [patch 010/227] nfs: " Andrew Morton
2022-03-22 21:39 ` [patch 011/227] ceph: " Andrew Morton
2022-03-22 21:39 ` [patch 012/227] remove inode_congested() Andrew Morton
2022-03-22 21:39 ` [patch 013/227] remove bdi_congested() and wb_congested() and related functions Andrew Morton
2022-03-22 21:39 ` [patch 014/227] f2fs: replace congestion_wait() calls with io_schedule_timeout() Andrew Morton
2022-03-22 21:39 ` [patch 015/227] block/bfq-iosched.c: use "false" rather than "BLK_RW_ASYNC" Andrew Morton
2022-03-22 21:39 ` [patch 016/227] remove congestion tracking framework Andrew Morton
2022-03-22 21:39 ` [patch 017/227] mount: warn only once about timestamp range expiration Andrew Morton
2022-03-22 21:39 ` [patch 018/227] mm/memremap: avoid calling kasan_remove_zero_shadow() for device private memory Andrew Morton
2022-03-22 21:39 ` [patch 019/227] filemap: remove find_get_pages() Andrew Morton
2022-03-22 21:39 ` [patch 020/227] mm/writeback: minor clean up for highmem_dirtyable_memory Andrew Morton
2022-03-22 21:39 ` [patch 021/227] mm: fs: fix lru_cache_disabled race in bh_lru Andrew Morton
2022-03-22 21:39 ` [patch 022/227] mm: fix invalid page pointer returned with FOLL_PIN gups Andrew Morton
2022-03-22 21:39 ` [patch 023/227] mm/gup: follow_pfn_pte(): -EEXIST cleanup Andrew Morton
2022-03-22 21:39 ` [patch 024/227] mm/gup: remove unused pin_user_pages_locked() Andrew Morton
2022-03-22 21:39 ` [patch 025/227] mm: change lookup_node() to use get_user_pages_fast() Andrew Morton
2022-03-22 21:39 ` [patch 026/227] mm/gup: remove unused get_user_pages_locked() Andrew Morton
2022-03-22 21:39 ` [patch 027/227] mm/swap: fix confusing comment in folio_mark_accessed Andrew Morton
2022-03-22 21:39 ` [patch 028/227] tmpfs: support for file creation time Andrew Morton
2022-03-22 21:39 ` [patch 029/227] shmem: mapping_set_exiting() to help mapped resilience Andrew Morton
2022-03-22 21:40 ` [patch 030/227] tmpfs: do not allocate pages on read Andrew Morton
2022-03-22 21:40 ` [patch 031/227] mm: shmem: use helper macro __ATTR_RW Andrew Morton
2022-03-22 21:40 ` [patch 032/227] memcg: replace in_interrupt() with !in_task() Andrew Morton
2022-03-22 21:40 ` [patch 033/227] memcg: add per-memcg total kernel memory stat Andrew Morton
2022-03-22 21:40 ` [patch 034/227] mm/memcg: mem_cgroup_per_node is already set to 0 on allocation Andrew Morton
2022-03-22 21:40 ` [patch 035/227] mm/memcg: retrieve parent memcg from css.parent Andrew Morton
2022-03-22 21:40 ` [patch 036/227] memcg: refactor mem_cgroup_oom Andrew Morton
2022-03-22 21:40 ` [patch 037/227] memcg: unify force charging conditions Andrew Morton
2022-03-22 21:40 ` [patch 038/227] selftests: memcg: test high limit for single entry allocation Andrew Morton
2022-03-22 21:40 ` [patch 039/227] memcg: synchronously enforce memory.high for large overcharges Andrew Morton
2022-03-22 21:40 ` [patch 040/227] mm/memcontrol: return 1 from cgroup.memory __setup() handler Andrew Morton
2022-03-22 21:40 ` [patch 041/227] mm/memcg: revert ("mm/memcg: optimize user context object stock access") Andrew Morton
2022-03-22 21:40 ` [patch 042/227] mm/memcg: disable threshold event handlers on PREEMPT_RT Andrew Morton
2022-03-22 21:40 ` [patch 043/227] mm/memcg: protect per-CPU counter by disabling preemption on PREEMPT_RT where needed Andrew Morton
2022-03-22 21:40 ` [patch 044/227] mm/memcg: opencode the inner part of obj_cgroup_uncharge_pages() in drain_obj_stock() Andrew Morton
2022-03-22 21:40 ` [patch 045/227] mm/memcg: protect memcg_stock with a local_lock_t Andrew Morton
2022-03-22 21:40 ` [patch 046/227] mm/memcg: disable migration instead of preemption in drain_all_stock() Andrew Morton
2022-03-22 21:40 ` [patch 047/227] mm: list_lru: transpose the array of per-node per-memcg lru lists Andrew Morton
2022-03-22 21:40 ` [patch 048/227] mm: introduce kmem_cache_alloc_lru Andrew Morton
2022-03-22 21:41 ` [patch 049/227] fs: introduce alloc_inode_sb() to allocate filesystems specific inode Andrew Morton
2022-03-22 21:41 ` [patch 050/227] fs: allocate inode by using alloc_inode_sb() Andrew Morton
2022-03-22 21:41 ` [patch 051/227] f2fs: " Andrew Morton
2022-03-22 21:41 ` [patch 052/227] mm: dcache: use kmem_cache_alloc_lru() to allocate dentry Andrew Morton
2022-03-22 21:41 ` [patch 053/227] xarray: use kmem_cache_alloc_lru to allocate xa_node Andrew Morton
2022-03-22 21:41 ` Andrew Morton [this message]
2022-03-22 21:41 ` [patch 055/227] mm: list_lru: allocate list_lru_one only when needed Andrew Morton
2022-03-22 21:41 ` [patch 056/227] mm: list_lru: rename memcg_drain_all_list_lrus to memcg_reparent_list_lrus Andrew Morton
2022-03-22 21:41 ` [patch 057/227] mm: list_lru: replace linear array with xarray Andrew Morton
2022-03-22 21:41 ` [patch 058/227] mm: memcontrol: reuse memory cgroup ID for kmem ID Andrew Morton
2022-03-22 21:41 ` [patch 059/227] mm: memcontrol: fix cannot alloc the maximum memcg ID Andrew Morton
2022-03-22 21:41 ` [patch 060/227] mm: list_lru: rename list_lru_per_memcg to list_lru_memcg Andrew Morton
2022-03-22 21:41 ` [patch 061/227] mm: memcontrol: rename memcg_cache_id to memcg_kmem_id Andrew Morton
2022-03-22 21:41 ` [patch 062/227] memcg: enable accounting for tty-related objects Andrew Morton
2022-03-22 21:41 ` [patch 063/227] selftests, x86: fix how check_cc.sh is being invoked Andrew Morton
2022-03-22 21:41 ` [patch 064/227] mm: merge pte_mkhuge() call into arch_make_huge_pte() Andrew Morton
2022-03-22 21:41 ` [patch 065/227] mm: remove mmu_gathers storage from remaining architectures Andrew Morton
2022-03-22 21:41 ` [patch 066/227] mm: thp: fix wrong cache flush in remove_migration_pmd() Andrew Morton
2022-03-22 21:41 ` [patch 067/227] mm: fix missing cache flush for all tail pages of compound page Andrew Morton
2022-03-22 21:41 ` [patch 068/227] mm: hugetlb: fix missing cache flush in copy_huge_page_from_user() Andrew Morton
2022-03-22 21:42 ` [patch 069/227] mm: hugetlb: fix missing cache flush in hugetlb_mcopy_atomic_pte() Andrew Morton
2022-03-22 21:42 ` [patch 070/227] mm: shmem: fix missing cache flush in shmem_mfill_atomic_pte() Andrew Morton
2022-03-22 21:42 ` [patch 071/227] mm: userfaultfd: fix missing cache flush in mcopy_atomic_pte() and __mcopy_atomic() Andrew Morton
2022-03-22 21:42 ` [patch 072/227] mm: replace multiple dcache flush with flush_dcache_folio() Andrew Morton
2022-03-22 21:42 ` [patch 073/227] mm: don't skip swap entry even if zap_details specified Andrew Morton
2022-03-22 21:42 ` [patch 074/227] mm: rename zap_skip_check_mapping() to should_zap_page() Andrew Morton
2022-03-22 21:42 ` [patch 075/227] mm: change zap_details.zap_mapping into even_cows Andrew Morton
2022-03-22 21:42 ` [patch 076/227] mm: rework swap handling of zap_pte_range Andrew Morton
2022-03-22 21:42 ` [patch 077/227] mm/mmap: return 1 from stack_guard_gap __setup() handler Andrew Morton
2022-03-22 21:42 ` [patch 078/227] mm/memory.c: use helper function range_in_vma() Andrew Morton
2022-03-22 21:42 ` [patch 079/227] mm/memory.c: use helper macro min and max in unmap_mapping_range_tree() Andrew Morton
2022-03-22 21:42 ` [patch 080/227] mm: _install_special_mapping() apply VM_LOCKED_CLEAR_MASK Andrew Morton
2022-03-22 21:42 ` [patch 081/227] mm/mmap: remove obsolete comment in ksys_mmap_pgoff Andrew Morton
2022-03-22 21:42 ` [patch 082/227] mm/mremap:: use vma_lookup() instead of find_vma() Andrew Morton
2022-03-22 21:42 ` [patch 083/227] mm/sparse: make mminit_validate_memmodel_limits() static Andrew Morton
2022-03-22 21:42 ` [patch 084/227] mm/vmalloc: remove unneeded function forward declaration Andrew Morton
2022-03-22 21:42 ` [patch 085/227] mm/vmalloc: Move draining areas out of caller context Andrew Morton
2022-03-22 21:42 ` [patch 086/227] mm/vmalloc: add adjust_search_size parameter Andrew Morton
2022-03-22 21:42 ` [patch 087/227] mm/vmalloc: eliminate an extra orig_gfp_mask Andrew Morton
2022-03-22 21:42 ` [patch 088/227] mm/vmalloc.c: fix "unused function" warning Andrew Morton
2022-03-22 21:43 ` [patch 089/227] mm/vmalloc: fix comments about vmap_area struct Andrew Morton
2022-03-22 21:43 ` [patch 090/227] mm: page_alloc: avoid merging non-fallbackable pageblocks with others Andrew Morton
2022-03-22 21:43 ` [patch 091/227] mm/mmzone.c: use try_cmpxchg() in page_cpupid_xchg_last() Andrew Morton
2022-03-22 21:43 ` [patch 092/227] mm/mmzone.h: remove unused macros Andrew Morton
2022-03-22 21:43 ` [patch 093/227] mm/page_alloc: don't pass pfn to free_unref_page_commit() Andrew Morton
2022-03-22 21:43 ` [patch 094/227] cma: factor out minimum alignment requirement Andrew Morton
2022-03-22 21:43 ` [patch 095/227] mm: enforce pageblock_order < MAX_ORDER Andrew Morton
2022-03-22 21:43 ` [patch 096/227] mm/page_alloc: mark pagesets as __maybe_unused Andrew Morton
2022-03-22 21:43 ` [patch 097/227] mm/pages_alloc.c: don't create ZONE_MOVABLE beyond the end of a node Andrew Morton
2022-03-22 21:43 ` [patch 098/227] mm/page_alloc: fetch the correct pcp buddy during bulk free Andrew Morton
2022-03-22 21:43 ` [patch 099/227] mm/page_alloc: track range of active PCP lists " Andrew Morton
2022-03-22 21:43 ` [patch 100/227] mm/page_alloc: simplify how many pages are selected per pcp list " Andrew Morton
2022-03-22 21:43 ` [patch 101/227] mm/page_alloc: drain the requested list first " Andrew Morton
2022-03-22 21:43 ` [patch 102/227] mm/page_alloc: free pages in a single pass " Andrew Morton
2022-03-22 21:43 ` [patch 103/227] mm/page_alloc: limit number of high-order pages on PCP " Andrew Morton
2022-03-22 21:43 ` [patch 104/227] mm/page_alloc: do not prefetch buddies " Andrew Morton
2022-03-22 21:43 ` [patch 105/227] arch/x86/mm/numa: Do not initialize nodes twice Andrew Morton
2022-03-22 21:43 ` [patch 106/227] mm: count time in drain_all_pages during direct reclaim as memory pressure Andrew Morton
2022-03-22 21:43 ` [patch 107/227] mm/page_alloc: call check_new_pages() while zone spinlock is not held Andrew Morton
2022-03-22 21:44 ` [patch 108/227] mm/page_alloc: check high-order pages for corruption during PCP operations Andrew Morton
2022-03-22 21:44 ` [patch 109/227] mm/memory-failure.c: remove obsolete comment Andrew Morton
2022-03-22 21:44 ` [patch 110/227] mm/hwpoison: fix error page recovered but reported "not recovered" Andrew Morton
2022-03-22 21:44 ` [patch 111/227] mm: invalidate hwpoison page cache page in fault path Andrew Morton
2022-03-22 21:44 ` [patch 112/227] mm/memory-failure.c: minor clean up for memory_failure_dev_pagemap Andrew Morton
2022-03-22 21:44 ` [patch 113/227] mm/memory-failure.c: catch unexpected -EFAULT from vma_address() Andrew Morton
2022-03-22 21:44 ` [patch 114/227] mm/memory-failure.c: rework the signaling logic in kill_proc Andrew Morton
2022-03-22 21:44 ` [patch 115/227] mm/memory-failure.c: fix race with changing page more robustly Andrew Morton
2022-03-22 21:44 ` [patch 116/227] mm/memory-failure.c: remove PageSlab check in hwpoison_filter_dev Andrew Morton
2022-03-22 21:44 ` [patch 117/227] mm/memory-failure.c: rework the try_to_unmap logic in hwpoison_user_mappings() Andrew Morton
2022-03-22 21:44 ` [patch 118/227] mm/memory-failure.c: remove obsolete comment in __soft_offline_page Andrew Morton
2022-03-22 21:44 ` [patch 119/227] mm/memory-failure.c: remove unnecessary PageTransTail check Andrew Morton
2022-03-22 21:44 ` [patch 120/227] mm/hwpoison-inject: support injecting hwpoison to free page Andrew Morton
2022-03-22 21:44 ` [patch 121/227] mm/hwpoison: avoid the impact of hwpoison_filter() return value on mce handler Andrew Morton
2022-03-22 21:44 ` [patch 122/227] mm/hwpoison: add in-use hugepage hwpoison filter judgement Andrew Morton
2022-03-22 21:44 ` [patch 123/227] mm/memory-failure.c: fix race with changing page compound again Andrew Morton
2022-03-22 21:44 ` [patch 124/227] mm/memory-failure.c: avoid calling invalidate_inode_page() with unexpected pages Andrew Morton
2022-03-22 21:44 ` [patch 125/227] mm/memory-failure.c: make non-LRU movable pages unhandlable Andrew Morton
2022-03-22 21:44 ` [patch 126/227] mm, fault-injection: declare should_fail_alloc_page() Andrew Morton
2022-03-22 21:44 ` [patch 127/227] mm/mlock: fix potential imbalanced rlimit ucounts adjustment Andrew Morton
2022-03-22 21:45 ` [patch 128/227] mm: hugetlb: free the 2nd vmemmap page associated with each HugeTLB page Andrew Morton
2022-03-22 21:45 ` [patch 129/227] mm: hugetlb: replace hugetlb_free_vmemmap_enabled with a static_key Andrew Morton
2022-03-22 21:45 ` [patch 130/227] mm: sparsemem: use page table lock to protect kernel pmd operations Andrew Morton
2022-03-22 21:45 ` [patch 131/227] selftests: vm: add a hugetlb test case Andrew Morton
2022-03-22 21:45 ` [patch 132/227] mm: sparsemem: move vmemmap related to HugeTLB to CONFIG_HUGETLB_PAGE_FREE_VMEMMAP Andrew Morton
2022-03-22 21:45 ` [patch 133/227] mm/hugetlb: generalize ARCH_WANT_GENERAL_HUGETLB Andrew Morton
2022-03-22 21:45 ` [patch 134/227] hugetlb: clean up potential spectre issue warnings Andrew Morton
2022-03-22 21:45 ` [patch 135/227] mm/hugetlb: use helper macro __ATTR_RW Andrew Morton
2022-03-22 21:45 ` [patch 136/227] mm/hugetlb.c: export PageHeadHuge() Andrew Morton
2022-03-22 21:45 ` [patch 137/227] mm: remove unneeded local variable follflags Andrew Morton
2022-03-22 21:45 ` [patch 138/227] userfaultfd: provide unmasked address on page-fault Andrew Morton
2022-03-22 21:45 ` [patch 139/227] userfaultfd/selftests: fix uninitialized_var.cocci warning Andrew Morton
2022-03-22 21:45 ` [patch 140/227] mm/fs: delete PF_SWAPWRITE Andrew Morton
2022-03-22 21:45 ` [patch 141/227] mm: __isolate_lru_page_prepare() in isolate_migratepages_block() Andrew Morton
2022-03-22 21:45 ` [patch 142/227] mm/list_lru: optimize memcg_reparent_list_lru_node() Andrew Morton
2022-03-22 21:45 ` [patch 143/227] mm: lru_cache_disable: replace work queue synchronization with synchronize_rcu Andrew Morton
2022-03-22 21:45 ` [patch 144/227] mm: workingset: replace IRQ-off check with a lockdep assert Andrew Morton
2022-03-22 21:45 ` [patch 145/227] mm: vmscan: fix documentation for page_check_references() Andrew Morton
2022-03-22 21:45 ` [patch 146/227] mm: compaction: cleanup the compaction trace events Andrew Morton
2022-03-22 21:45 ` [patch 147/227] mempolicy: mbind_range() set_policy() after vma_merge() Andrew Morton
2022-03-22 21:46 ` [patch 148/227] mm/oom_kill: remove unneeded is_memcg_oom check Andrew Morton
2022-03-22 21:46 ` [patch 149/227] mm,migrate: fix establishing demotion target Andrew Morton
2022-03-22 21:46 ` [patch 150/227] mm/migrate: fix race between lock page and clear PG_Isolated Andrew Morton
2022-03-22 21:46 ` [patch 151/227] mm/thp: refix __split_huge_pmd_locked() for migration PMD Andrew Morton
2022-03-22 21:46 ` [patch 152/227] mm/cma: provide option to opt out from exposing pages on activation failure Andrew Morton
2022-03-22 21:46 ` [patch 153/227] powerpc/fadump: opt out from freeing pages on cma " Andrew Morton
2022-03-22 21:46 ` [patch 154/227] NUMA Balancing: add page promotion counter Andrew Morton
2022-03-22 21:46 ` [patch 155/227] NUMA balancing: optimize page placement for memory tiering system Andrew Morton
2022-03-22 21:46 ` [patch 156/227] memory tiering: skip to scan fast memory Andrew Morton
2022-03-22 21:46 ` [patch 157/227] mm: page_io: fix psi memory pressure error on cold swapins Andrew Morton
2022-03-22 21:46 ` [patch 158/227] mm/vmstat: add event for ksm swapping in copy Andrew Morton
2022-03-22 21:46 ` [patch 159/227] mm/ksm: use helper macro __ATTR_RW Andrew Morton
2022-03-22 21:46 ` [patch 160/227] mm/hwpoison: check the subpage, not the head page Andrew Morton
2022-03-22 21:46 ` [patch 161/227] mm/madvise: use vma_lookup() instead of find_vma() Andrew Morton
2022-03-22 21:46 ` [patch 162/227] mm: madvise: return correct bytes advised with process_madvise Andrew Morton
2022-03-22 21:46 ` [patch 163/227] mm: madvise: skip unmapped vma holes passed to process_madvise Andrew Morton
2022-03-23  0:24   ` Minchan Kim
2022-03-23  2:08     ` Linus Torvalds
2022-03-23  8:28     ` Michal Hocko
2022-03-23 15:47       ` Charan Teja Kalla
2022-03-22 21:46 ` [patch 164/227] mm, memory_hotplug: make arch_alloc_nodedata independent on CONFIG_MEMORY_HOTPLUG Andrew Morton
2022-03-22 21:46 ` [patch 165/227] mm: handle uninitialized numa nodes gracefully Andrew Morton
2022-03-22 21:46 ` [patch 166/227] mm, memory_hotplug: drop arch_free_nodedata Andrew Morton
2022-03-22 21:47 ` [patch 167/227] mm, memory_hotplug: reorganize new pgdat initialization Andrew Morton
2022-03-22 21:47 ` [patch 168/227] mm: make free_area_init_node aware of memory less nodes Andrew Morton
2022-03-22 21:47 ` [patch 169/227] memcg: do not tweak node in alloc_mem_cgroup_per_node_info Andrew Morton
2022-03-22 21:47 ` [patch 170/227] drivers/base/memory: add memory block to memory group after registration succeeded Andrew Morton
2022-03-22 21:47 ` [patch 171/227] drivers/base/node: consolidate node device subsystem initialization in node_dev_init() Andrew Morton
2022-03-22 21:47 ` [patch 172/227] mm/memory_hotplug: remove obsolete comment of __add_pages Andrew Morton
2022-03-22 21:47 ` [patch 173/227] mm/memory_hotplug: avoid calling zone_intersects() for ZONE_NORMAL Andrew Morton
2022-03-22 21:47 ` [patch 174/227] mm/memory_hotplug: clean up try_offline_node Andrew Morton
2022-03-22 21:47 ` [patch 175/227] mm/memory_hotplug: fix misplaced comment in offline_pages Andrew Morton
2022-03-22 21:47 ` [patch 176/227] drivers/base/node: rename link_mem_sections() to register_memory_block_under_node() Andrew Morton
2022-03-22 21:47 ` [patch 177/227] drivers/base/memory: determine and store zone for single-zone memory blocks Andrew Morton
2022-03-22 21:47 ` [patch 178/227] drivers/base/memory: clarify adding and removing of " Andrew Morton
2022-03-22 21:47 ` [patch 179/227] mm: only re-generate demotion targets when a numa node changes its N_CPU state Andrew Morton
2022-03-22 21:47 ` [patch 180/227] mm/thp: ClearPageDoubleMap in first page_add_file_rmap() Andrew Morton
2022-03-22 21:47 ` [patch 181/227] mm/zswap.c: allow handling just same-value filled pages Andrew Morton
2022-03-22 21:47 ` [patch 182/227] mm: remove usercopy_warn() Andrew Morton
2022-03-22 21:47 ` [patch 183/227] mm: uninline copy_overflow() Andrew Morton
2022-03-22 21:47 ` [patch 184/227] mm/usercopy: return 1 from hardened_usercopy __setup() handler Andrew Morton
2022-03-22 21:47 ` [patch 185/227] mm/early_ioremap: declare early_memremap_pgprot_adjust() Andrew Morton
2022-03-22 21:47 ` [patch 186/227] highmem: document kunmap_local() Andrew Morton
2022-03-22 21:48 ` [patch 187/227] mm/highmem: remove unnecessary done label Andrew Morton
2022-03-22 21:48 ` [patch 188/227] mm/page_table_check.c: use strtobool for param parsing Andrew Morton
2022-03-22 21:48 ` [patch 189/227] mm/kfence: remove unnecessary CONFIG_KFENCE option Andrew Morton
2022-03-22 21:48 ` [patch 190/227] kfence: allow re-enabling KFENCE after system startup Andrew Morton
2022-03-22 21:48 ` [patch 191/227] kfence: alloc kfence_pool " Andrew Morton
2022-03-22 21:48 ` [patch 192/227] kunit: fix UAF when run kfence test case test_gfpzero Andrew Morton
2022-03-22 21:48 ` [patch 193/227] kunit: make kunit_test_timeout compatible with comment Andrew Morton
2022-03-22 21:48 ` [patch 194/227] kfence: test: try to avoid test_gfpzero trigger rcu_stall Andrew Morton
2022-03-22 21:48 ` [patch 195/227] kfence: allow use of a deferrable timer Andrew Morton
2022-03-22 21:48 ` [patch 196/227] mm/hmm.c: remove unneeded local variable ret Andrew Morton
2022-03-22 21:48 ` [patch 197/227] mm/damon/dbgfs/init_regions: use target index instead of target id Andrew Morton
2022-03-22 21:48 ` [patch 198/227] Docs/admin-guide/mm/damon/usage: update for changed initail_regions file input Andrew Morton
2022-03-22 21:48 ` [patch 199/227] mm/damon/core: move damon_set_targets() into dbgfs Andrew Morton
2022-03-22 21:48 ` [patch 200/227] mm/damon: remove the target id concept Andrew Morton
2022-03-22 21:48 ` [patch 201/227] mm/damon: remove redundant page validation Andrew Morton
2022-03-22 21:48 ` [patch 202/227] mm/damon: rename damon_primitives to damon_operations Andrew Morton
2022-03-22 21:48 ` [patch 203/227] mm/damon: let monitoring operations can be registered and selected Andrew Morton
2022-03-22 21:48 ` [patch 204/227] mm/damon/paddr,vaddr: register themselves to DAMON in subsys_initcall Andrew Morton
2022-03-22 21:48 ` [patch 205/227] mm/damon/reclaim: use damon_select_ops() instead of damon_{v,p}a_set_operations() Andrew Morton
2022-03-22 21:48 ` [patch 206/227] mm/damon/dbgfs: " Andrew Morton
2022-03-22 21:49 ` [patch 207/227] mm/damon/dbgfs: use operations id for knowing if the target has pid Andrew Morton
2022-03-22 21:49 ` [patch 208/227] mm/damon/dbgfs-test: fix is_target_id() change Andrew Morton
2022-03-22 21:49 ` [patch 209/227] mm/damon/paddr,vaddr: remove damon_{p,v}a_{target_valid,set_operations}() Andrew Morton
2022-03-22 21:49 ` [patch 210/227] mm/damon: remove unnecessary CONFIG_DAMON option Andrew Morton
2022-03-22 21:49 ` [patch 211/227] Docs/vm/damon: call low level monitoring primitives the operations Andrew Morton
2022-03-22 21:49 ` [patch 212/227] Docs/vm/damon/design: update DAMON-Idle Page Tracking interference handling Andrew Morton
2022-03-22 21:49 ` [patch 213/227] Docs/damon: update outdated term 'regions update interval' Andrew Morton
2022-03-22 21:49 ` [patch 214/227] mm/damon/core: allow non-exclusive DAMON start/stop Andrew Morton
2022-03-22 21:49 ` [patch 215/227] mm/damon/core: add number of each enum type values Andrew Morton
2022-03-22 21:49 ` [patch 216/227] mm/damon: implement a minimal stub for sysfs-based DAMON interface Andrew Morton
2022-03-22 21:49 ` [patch 217/227] mm/damon/sysfs: link DAMON for virtual address spaces monitoring Andrew Morton
2022-03-22 21:49 ` [patch 218/227] mm/damon/sysfs: support the physical address space monitoring Andrew Morton
2022-03-22 21:49 ` [patch 219/227] mm/damon/sysfs: support DAMON-based Operation Schemes Andrew Morton
2022-03-22 21:49 ` [patch 220/227] mm/damon/sysfs: support DAMOS quotas Andrew Morton
2022-03-22 21:49 ` [patch 221/227] mm/damon/sysfs: support schemes prioritization Andrew Morton
2022-03-22 21:49 ` [patch 222/227] mm/damon/sysfs: support DAMOS watermarks Andrew Morton
2022-03-22 21:49 ` [patch 223/227] mm/damon/sysfs: support DAMOS stats Andrew Morton
2022-03-22 21:49 ` [patch 224/227] selftests/damon: add a test for DAMON sysfs interface Andrew Morton
2022-03-22 21:49 ` [patch 225/227] Docs/admin-guide/mm/damon/usage: document " Andrew Morton
2022-03-22 21:49 ` [patch 226/227] Docs/ABI/testing: add DAMON sysfs interface ABI document Andrew Morton
2022-03-22 21:50 ` [patch 227/227] mm/damon/sysfs: remove repeat container_of() in damon_sysfs_kdamond_release() Andrew Morton

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=20220322214116.91195C340EC@smtp.kernel.org \
    --to=akpm@linux-foundation.org \
    --cc=Anna.Schumaker@Netapp.com \
    --cc=alexs@kernel.org \
    --cc=chao@kernel.org \
    --cc=david@fromorbit.com \
    --cc=duanxiongchun@bytedance.com \
    --cc=fam.zheng@bytedance.com \
    --cc=hannes@cmpxchg.org \
    --cc=jaegeuk@kernel.org \
    --cc=kari.argillander@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@kernel.org \
    --cc=mm-commits@vger.kernel.org \
    --cc=patches@lists.linux.dev \
    --cc=richard.weiyang@gmail.com \
    --cc=roman.gushchin@linux.dev \
    --cc=shakeelb@google.com \
    --cc=shy828301@gmail.com \
    --cc=songmuchun@bytedance.com \
    --cc=torvalds@linux-foundation.org \
    --cc=trond.myklebust@hammerspace.com \
    --cc=tytso@mit.edu \
    --cc=vbabka@suse.cz \
    --cc=vdavydov.dev@gmail.com \
    --cc=willy@infradead.org \
    --cc=zhengqi.arch@bytedance.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).