From patchwork Fri Dec 4 09:20:05 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Rothwell X-Patchwork-Id: 11951179 X-Patchwork-Delegate: bpf@iogearbox.net Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E41B4C4167B for ; Fri, 4 Dec 2020 09:21:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 963D2227C3 for ; Fri, 4 Dec 2020 09:21:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729592AbgLDJUv (ORCPT ); Fri, 4 Dec 2020 04:20:51 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46174 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727518AbgLDJUv (ORCPT ); Fri, 4 Dec 2020 04:20:51 -0500 Received: from ozlabs.org (bilbo.ozlabs.org [IPv6:2401:3900:2:1::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BB474C061A4F; Fri, 4 Dec 2020 01:20:10 -0800 (PST) Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 4CnRxf2ZMXz9sWt; Fri, 4 Dec 2020 20:20:06 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=canb.auug.org.au; s=201702; t=1607073607; bh=bAsk8n7gqFwKjHWwsHSOXYDy5wkPoQQyApSqZbNhf4E=; h=Date:From:To:Cc:Subject:From; b=COBC7McCpEGqFC/wJt6Ji1ZUxqSBbcsgMDiH0OSauzjbuvowuzHXDpraMKu0hK4vo O7oTfw65+pxvnA2eT5Qa3+Y9Lijmwh52qTME9LTd1w40IfgIwnA7S6hZ2tD9Dez3E4 fAEigSI2laov23FS/NMJYNdM+nLBx2sTJFXlNdSpHCJJIUtLDu4yenyNtBCW0k8M7l vFUqArdK1JxBKBJvRW+RSGjJYoQzLbhbqz8tEzOKrsRYFY8IhhVjhPBUo1zuG5TTl2 gypIgfpy9vd78mZbvxThAwnqPxMtI0nasSwYOBeqbKAhwiBI0vn8OypJV9k24Gm9Yf DsI/GZ4c5blEA== Date: Fri, 4 Dec 2020 20:20:05 +1100 From: Stephen Rothwell To: Andrew Morton , Daniel Borkmann , Alexei Starovoitov , Networking Cc: Alex Shi , Linux Kernel Mailing List , Linux Next Mailing List , Roman Gushchin , Shakeel Butt Subject: linux-next: manual merge of the akpm-current tree with the bpf-next tree Message-ID: <20201204202005.3fb1304f@canb.auug.org.au> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Hi all, Today's linux-next merge of the akpm-current tree got conflicts in: include/linux/memcontrol.h mm/memcontrol.c between commit: bcfe06bf2622 ("mm: memcontrol: Use helpers to read page's memcg data") from the bpf-next tree and commits: 6771a349b8c3 ("mm/memcg: remove incorrect comment") c3970fcb1f21 ("mm: move lruvec stats update functions to vmstat.h") from the akpm-current tree. I fixed it up (see below - I used the latter version of memcontrol.h) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. I also added this merge fix patch: From: Stephen Rothwell Date: Fri, 4 Dec 2020 19:53:40 +1100 Subject: [PATCH] fixup for "mm: move lruvec stats update functions to vmstat.h" conflict against "mm: memcontrol: Use helpers to read page's memcg data" Signed-off-by: Stephen Rothwell --- mm/memcontrol.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) +++ b/mm/memcontrol.c @@@ -2880,9 -2984,9 +2975,9 @@@ static void cancel_charge(struct mem_cg static void commit_charge(struct page *page, struct mem_cgroup *memcg) { - VM_BUG_ON_PAGE(page->mem_cgroup, page); + VM_BUG_ON_PAGE(page_memcg(page), page); /* - * Any of the following ensures page->mem_cgroup stability: + * Any of the following ensures page's memcg stability: * * - the page lock * - LRU isolation @@@ -6977,11 -7012,10 +6997,10 @@@ void mem_cgroup_migrate(struct page *ol return; /* Page cache replacement: new page already charged? */ - if (newpage->mem_cgroup) + if (page_memcg(newpage)) return; - /* Swapcache readahead pages can get replaced before being charged */ - memcg = oldpage->mem_cgroup; + memcg = page_memcg(oldpage); if (!memcg) return; diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 6f5733779927..3b6db4e906b5 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -851,16 +851,17 @@ void __mod_lruvec_page_state(struct page *page, enum node_stat_item idx, int val) { struct page *head = compound_head(page); /* rmap on tail pages */ + struct mem_cgroup *memcg = page_memcg(head); pg_data_t *pgdat = page_pgdat(page); struct lruvec *lruvec; /* Untracked pages have no memcg, no lruvec. Update only the node */ - if (!head->mem_cgroup) { + if (!memcg) { __mod_node_page_state(pgdat, idx, val); return; } - lruvec = mem_cgroup_lruvec(head->mem_cgroup, pgdat); + lruvec = mem_cgroup_lruvec(memcg, pgdat); __mod_lruvec_state(lruvec, idx, val); } -- 2.29.2 -- Cheers, Stephen Rothwell diff --cc include/linux/memcontrol.h index 320369c841f5,ff02f831e7e1..000000000000 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h diff --cc mm/memcontrol.c index 7535042ac1ec,c9a5dce4343d..000000000000 --- a/mm/memcontrol.c