From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: Re: [PATCH v14 048/138] mm/memcg: Add folio_lruvec_lock() and similar functions
Date: Mon, 19 Jul 2021 00:46:55 +0800 [thread overview]
Message-ID: <202107190021.nehJ0weF-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 6975 bytes --]
CC: kbuild-all(a)lists.01.org
In-Reply-To: <20210715033704.692967-49-willy@infradead.org>
References: <20210715033704.692967-49-willy@infradead.org>
TO: "Matthew Wilcox (Oracle)" <willy@infradead.org>
TO: linux-kernel(a)vger.kernel.org
CC: "Matthew Wilcox (Oracle)" <willy@infradead.org>
CC: linux-mm(a)kvack.org
CC: linux-fsdevel(a)vger.kernel.org
CC: Christoph Hellwig <hch@lst.de>
Hi "Matthew,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.14-rc1]
[cannot apply to hnaz-linux-mm/master xfs-linux/for-next tip/perf/core next-20210716]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Matthew-Wilcox-Oracle/Memory-folios/20210715-133101
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 8096acd7442e613fad0354fc8dfdb2003cceea0b
:::::: branch date: 3 days ago
:::::: commit date: 3 days ago
config: x86_64-randconfig-s021-20210715 (attached as .config)
compiler: gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
# https://github.com/0day-ci/linux/commit/a471aa5a11a078516707619cf73f7a0770124e86
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Matthew-Wilcox-Oracle/Memory-folios/20210715-133101
git checkout a471aa5a11a078516707619cf73f7a0770124e86
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=x86_64 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
mm/memcontrol.c:4122:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
mm/memcontrol.c:4122:21: sparse: struct mem_cgroup_threshold_ary [noderef] __rcu *
mm/memcontrol.c:4122:21: sparse: struct mem_cgroup_threshold_ary *
mm/memcontrol.c:4124:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
mm/memcontrol.c:4124:21: sparse: struct mem_cgroup_threshold_ary [noderef] __rcu *
mm/memcontrol.c:4124:21: sparse: struct mem_cgroup_threshold_ary *
mm/memcontrol.c:4280:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
mm/memcontrol.c:4280:9: sparse: struct mem_cgroup_threshold_ary [noderef] __rcu *
mm/memcontrol.c:4280:9: sparse: struct mem_cgroup_threshold_ary *
mm/memcontrol.c:4374:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
mm/memcontrol.c:4374:9: sparse: struct mem_cgroup_threshold_ary [noderef] __rcu *
mm/memcontrol.c:4374:9: sparse: struct mem_cgroup_threshold_ary *
mm/memcontrol.c:5970:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
mm/memcontrol.c:5970:23: sparse: struct task_struct [noderef] __rcu *
mm/memcontrol.c:5970:23: sparse: struct task_struct *
mm/memcontrol.c: note: in included file:
>> include/linux/memcontrol.h:750:9: sparse: sparse: context imbalance in 'folio_lruvec_lock' - wrong count at exit
>> include/linux/memcontrol.h:750:9: sparse: sparse: context imbalance in 'folio_lruvec_lock_irq' - wrong count at exit
>> include/linux/memcontrol.h:750:9: sparse: sparse: context imbalance in 'folio_lruvec_lock_irqsave' - wrong count at exit
mm/memcontrol.c:1972:6: sparse: sparse: context imbalance in 'folio_memcg_lock' - wrong count at exit
mm/memcontrol.c:2026:17: sparse: sparse: context imbalance in '__folio_memcg_unlock' - unexpected unlock
vim +/folio_lruvec_lock +750 include/linux/memcontrol.h
569b846df54ffb KAMEZAWA Hiroyuki 2009-12-15 716
55779ec759ccc3 Johannes Weiner 2016-07-28 717 /**
867e5e1de14b2b Johannes Weiner 2019-11-30 718 * mem_cgroup_lruvec - get the lru list vector for a memcg & node
55779ec759ccc3 Johannes Weiner 2016-07-28 719 * @memcg: memcg of the wanted lruvec
9a1ac2288cf16f Hui Su 2020-12-18 720 * @pgdat: pglist_data
55779ec759ccc3 Johannes Weiner 2016-07-28 721 *
867e5e1de14b2b Johannes Weiner 2019-11-30 722 * Returns the lru list vector holding pages for a given @memcg &
9a1ac2288cf16f Hui Su 2020-12-18 723 * @pgdat combination. This can be the node lruvec, if the memory
867e5e1de14b2b Johannes Weiner 2019-11-30 724 * controller is disabled.
55779ec759ccc3 Johannes Weiner 2016-07-28 725 */
867e5e1de14b2b Johannes Weiner 2019-11-30 726 static inline struct lruvec *mem_cgroup_lruvec(struct mem_cgroup *memcg,
867e5e1de14b2b Johannes Weiner 2019-11-30 727 struct pglist_data *pgdat)
55779ec759ccc3 Johannes Weiner 2016-07-28 728 {
ef8f2327996b5c Mel Gorman 2016-07-28 729 struct mem_cgroup_per_node *mz;
55779ec759ccc3 Johannes Weiner 2016-07-28 730 struct lruvec *lruvec;
55779ec759ccc3 Johannes Weiner 2016-07-28 731
55779ec759ccc3 Johannes Weiner 2016-07-28 732 if (mem_cgroup_disabled()) {
867e5e1de14b2b Johannes Weiner 2019-11-30 733 lruvec = &pgdat->__lruvec;
55779ec759ccc3 Johannes Weiner 2016-07-28 734 goto out;
55779ec759ccc3 Johannes Weiner 2016-07-28 735 }
55779ec759ccc3 Johannes Weiner 2016-07-28 736
1b05117df78e03 Johannes Weiner 2019-11-30 737 if (!memcg)
1b05117df78e03 Johannes Weiner 2019-11-30 738 memcg = root_mem_cgroup;
1b05117df78e03 Johannes Weiner 2019-11-30 739
a3747b53b1771a Johannes Weiner 2021-04-29 740 mz = memcg->nodeinfo[pgdat->node_id];
55779ec759ccc3 Johannes Weiner 2016-07-28 741 lruvec = &mz->lruvec;
55779ec759ccc3 Johannes Weiner 2016-07-28 742 out:
55779ec759ccc3 Johannes Weiner 2016-07-28 743 /*
55779ec759ccc3 Johannes Weiner 2016-07-28 744 * Since a node can be onlined after the mem_cgroup was created,
599d0c954f91d0 Mel Gorman 2016-07-28 745 * we have to be prepared to initialize lruvec->pgdat here;
55779ec759ccc3 Johannes Weiner 2016-07-28 746 * and if offlined then reonlined, we need to reinitialize it.
55779ec759ccc3 Johannes Weiner 2016-07-28 747 */
ef8f2327996b5c Mel Gorman 2016-07-28 748 if (unlikely(lruvec->pgdat != pgdat))
ef8f2327996b5c Mel Gorman 2016-07-28 749 lruvec->pgdat = pgdat;
55779ec759ccc3 Johannes Weiner 2016-07-28 @750 return lruvec;
55779ec759ccc3 Johannes Weiner 2016-07-28 751 }
55779ec759ccc3 Johannes Weiner 2016-07-28 752
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 42659 bytes --]
next reply other threads:[~2021-07-18 16:46 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-18 16:46 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2021-07-15 3:34 [PATCH v14 000/138] Memory folios Matthew Wilcox (Oracle)
2021-07-15 3:35 ` [PATCH v14 048/138] mm/memcg: Add folio_lruvec_lock() and similar functions Matthew Wilcox (Oracle)
2021-07-21 9:43 ` Mike Rapoport
2021-08-11 13:40 ` Vlastimil Babka
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=202107190021.nehJ0weF-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild@lists.01.org \
/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 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.