The patch titled Subject: mm/memcg: bail out early when !memcg in mem_cgroup_lruvec has been removed from the -mm tree. Its filename was mm-memcg-bail-out-early-when-memcg-in-mem_cgroup_lruvec.patch This patch was dropped because it had testing failures ------------------------------------------------------ From: Alex Shi <alex.shi@xxxxxxxxxxxxxxxxx> Subject: mm/memcg: bail out early when !memcg in mem_cgroup_lruvec Sometime, we use NULL memcg in mem_cgroup_lruvec(memcg, pgdat) so we could get out early in the situation to avoid useless checking. Polished as Andrew Morton's suggestion. Link: https://lkml.kernel.org/r/9ddb17cd-cf5f-15b1-6a7d-986ee44fd5df@xxxxxxxxxxxxxxxxx Signed-off-by: Alex Shi <alex.shi@xxxxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Shakeel Butt <shakeelb@xxxxxxxxxx> Cc: Roman Gushchin <guro@xxxxxx> Cc: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Alexander Duyck <alexander.h.duyck@xxxxxxxxxxxxxxx> Cc: Yafang Shao <laoar.shao@xxxxxxxxx> Cc: Wei Yang <richard.weiyang@xxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/memcontrol.h | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) --- a/include/linux/memcontrol.h~mm-memcg-bail-out-early-when-memcg-in-mem_cgroup_lruvec +++ a/include/linux/memcontrol.h @@ -459,20 +459,17 @@ mem_cgroup_nodeinfo(struct mem_cgroup *m static inline struct lruvec *mem_cgroup_lruvec(struct mem_cgroup *memcg, struct pglist_data *pgdat) { - struct mem_cgroup_per_node *mz; struct lruvec *lruvec; - if (mem_cgroup_disabled()) { + if (mem_cgroup_disabled() || !memcg) { lruvec = &pgdat->__lruvec; - goto out; - } + } else { + struct mem_cgroup_per_node *mz; - if (!memcg) - memcg = root_mem_cgroup; + mz = mem_cgroup_nodeinfo(memcg, pgdat->node_id); + lruvec = &mz->lruvec; + } - mz = mem_cgroup_nodeinfo(memcg, pgdat->node_id); - lruvec = &mz->lruvec; -out: /* * Since a node can be onlined after the mem_cgroup was created, * we have to be prepared to initialize lruvec->pgdat here; _ Patches currently in -mm which might be from alex.shi@xxxxxxxxxxxxxxxxx are mm-filemap-add-static-for-function-__add_to_page_cache_locked.patch fs-ntfs-remove-unused-varibles.patch fs-ntfs-remove-unused-varible-attr_len.patch mm-truncate-add-parameter-explanation-for-invalidate_mapping_pagevec.patch mm-memcg-update-page-struct-member-in-comments.patch mm-thp-move-lru_add_page_tail-func-to-huge_memoryc.patch mm-thp-use-head-for-head-page-in-lru_add_page_tail.patch mm-thp-simplify-lru_add_page_tail.patch mm-thp-narrow-lru-locking.patch mm-vmscan-remove-unnecessary-lruvec-adding.patch mm-rmap-stop-store-reordering-issue-on-page-mapping.patch mm-rmap-stop-store-reordering-issue-on-page-mapping-fix.patch mm-memcg-add-debug-checking-in-lock_page_memcg.patch mm-swapc-fold-vm-event-pgrotated-into-pagevec_move_tail_fn.patch mm-lru-move-lock-into-lru_note_cost.patch mm-vmscan-remove-lruvec-reget-in-move_pages_to_lru.patch mm-mlock-remove-lru_lock-on-testclearpagemlocked.patch mm-mlock-remove-__munlock_isolate_lru_page.patch mm-lru-introduce-testclearpagelru.patch mm-compaction-do-page-isolation-first-in-compaction.patch mm-swapc-serialize-memcg-changes-in-pagevec_lru_move_fn.patch mm-lru-replace-pgdat-lru_lock-with-lruvec-lock.patch mm-lru-replace-pgdat-lru_lock-with-lruvec-lock-fix.patch mm-lru-replace-pgdat-lru_lock-with-lruvec-lock-fix-2.patch mm-lru-introduce-the-relock_page_lruvec-function-fix.patch mm-memcg-remove-incorrect-comments.patch mm-mapping_dirty_helpers-enhance-the-kernel-doc-markups.patch mm-add-colon-to-fix-kernel-doc-markups-error-for-check_pte.patch mm-vmalloc-add-align-parameter-explanation-for-pvm_determine_end_from_reverse.patch docs-vm-remove-unused-3-items-explanation-for-proc-vmstat.patch khugepaged-add-couples-parameter-explanation-for-kernel-doc-markup.patch mm-vmscan-__isolate_lru_page_prepare-clean-up.patch gcov-fix-kernel-doc-markup-issue.patch mm-swapc-reduce-lock-contention-in-lru_cache_add.patch mm-memcg-bail-early-from-swap-accounting-if-memcg-disabled.patch mm-memcg-warning-on-memcg-after-readahead-page-charged.patch mm-memcontrol-rewrite-mem_cgroup_page_lruvec-fix.patch