From: kernel test robot <lkp@intel.com>
To: Muchun Song <songmuchun@bytedance.com>,
guro@fb.com, hannes@cmpxchg.org, mhocko@kernel.org,
akpm@linux-foundation.org, shakeelb@google.com,
vdavydov.dev@gmail.com
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
linux-mm@kvack.org, duanxiongchun@bytedance.com,
Muchun Song <songmuchun@bytedance.com>
Subject: Re: [PATCH v3 3/4] mm: memcontrol: use obj_cgroup APIs to charge kmem pages
Date: Fri, 12 Mar 2021 01:48:23 +0800 [thread overview]
Message-ID: <202103120110.YKvaOKEA-lkp@intel.com> (raw)
In-Reply-To: <20210309100717.253-4-songmuchun@bytedance.com>
[-- Attachment #1: Type: text/plain, Size: 6175 bytes --]
Hi Muchun,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.12-rc2 next-20210311]
[cannot apply to hnaz-linux-mm/master]
[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/Muchun-Song/Use-obj_cgroup-APIs-to-charge-kmem-pages/20210309-181121
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 144c79ef33536b4ecb4951e07dbc1f2b7fa99d32
config: i386-randconfig-s002-20210311 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-262-g5e674421-dirty
# https://github.com/0day-ci/linux/commit/202c922730a115143cf9e15ab26633f247e00229
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Muchun-Song/Use-obj_cgroup-APIs-to-charge-kmem-pages/20210309-181121
git checkout 202c922730a115143cf9e15ab26633f247e00229
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
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:4194:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
mm/memcontrol.c:4194:21: sparse: struct mem_cgroup_threshold_ary [noderef] __rcu *
mm/memcontrol.c:4194:21: sparse: struct mem_cgroup_threshold_ary *
mm/memcontrol.c:4196:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
mm/memcontrol.c:4196:21: sparse: struct mem_cgroup_threshold_ary [noderef] __rcu *
mm/memcontrol.c:4196:21: sparse: struct mem_cgroup_threshold_ary *
mm/memcontrol.c:4352:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
mm/memcontrol.c:4352:9: sparse: struct mem_cgroup_threshold_ary [noderef] __rcu *
mm/memcontrol.c:4352:9: sparse: struct mem_cgroup_threshold_ary *
mm/memcontrol.c:4446:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
mm/memcontrol.c:4446:9: sparse: struct mem_cgroup_threshold_ary [noderef] __rcu *
mm/memcontrol.c:4446:9: sparse: struct mem_cgroup_threshold_ary *
mm/memcontrol.c:6002:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
mm/memcontrol.c:6002:23: sparse: struct task_struct [noderef] __rcu *
mm/memcontrol.c:6002:23: sparse: struct task_struct *
>> mm/memcontrol.c:854:6: sparse: sparse: context imbalance in '__mod_lruvec_page_state' - different lock contexts for basic block
mm/memcontrol.c: note: in included file:
include/linux/memcontrol.h:707:9: sparse: sparse: context imbalance in 'lock_page_lruvec' - wrong count at exit
include/linux/memcontrol.h:707:9: sparse: sparse: context imbalance in 'lock_page_lruvec_irq' - wrong count at exit
include/linux/memcontrol.h:707:9: sparse: sparse: context imbalance in 'lock_page_lruvec_irqsave' - wrong count at exit
mm/memcontrol.c:2137:19: sparse: sparse: context imbalance in 'lock_page_memcg' - wrong count at exit
mm/memcontrol.c:2199:17: sparse: sparse: context imbalance in '__unlock_page_memcg' - unexpected unlock
mm/memcontrol.c:5853:28: sparse: sparse: context imbalance in 'mem_cgroup_count_precharge_pte_range' - unexpected unlock
mm/memcontrol.c:6047:36: sparse: sparse: context imbalance in 'mem_cgroup_move_charge_pte_range' - unexpected unlock
vim +/__mod_lruvec_page_state +854 mm/memcontrol.c
eedc4e5a142cc3 Roman Gushchin 2020-08-06 853
c47d5032ed3002 Shakeel Butt 2020-12-14 @854 void __mod_lruvec_page_state(struct page *page, enum node_stat_item idx,
c47d5032ed3002 Shakeel Butt 2020-12-14 855 int val)
c47d5032ed3002 Shakeel Butt 2020-12-14 856 {
c47d5032ed3002 Shakeel Butt 2020-12-14 857 struct page *head = compound_head(page); /* rmap on tail pages */
286d6cff5d9973 Muchun Song 2021-03-09 858 struct mem_cgroup *memcg;
c47d5032ed3002 Shakeel Butt 2020-12-14 859 pg_data_t *pgdat = page_pgdat(page);
c47d5032ed3002 Shakeel Butt 2020-12-14 860 struct lruvec *lruvec;
c47d5032ed3002 Shakeel Butt 2020-12-14 861
202c922730a115 Muchun Song 2021-03-09 862 if (PageMemcgKmem(head)) {
202c922730a115 Muchun Song 2021-03-09 863 rcu_read_lock();
202c922730a115 Muchun Song 2021-03-09 864 memcg = obj_cgroup_memcg(page_objcg(page));
202c922730a115 Muchun Song 2021-03-09 865 } else {
202c922730a115 Muchun Song 2021-03-09 866 memcg = page_memcg(head);
202c922730a115 Muchun Song 2021-03-09 867 /*
202c922730a115 Muchun Song 2021-03-09 868 * Untracked pages have no memcg, no lruvec. Update only the
202c922730a115 Muchun Song 2021-03-09 869 * node.
202c922730a115 Muchun Song 2021-03-09 870 */
d635a69dd4981c Linus Torvalds 2020-12-15 871 if (!memcg) {
c47d5032ed3002 Shakeel Butt 2020-12-14 872 __mod_node_page_state(pgdat, idx, val);
c47d5032ed3002 Shakeel Butt 2020-12-14 873 return;
c47d5032ed3002 Shakeel Butt 2020-12-14 874 }
202c922730a115 Muchun Song 2021-03-09 875 }
c47d5032ed3002 Shakeel Butt 2020-12-14 876
d635a69dd4981c Linus Torvalds 2020-12-15 877 lruvec = mem_cgroup_lruvec(memcg, pgdat);
c47d5032ed3002 Shakeel Butt 2020-12-14 878 __mod_lruvec_state(lruvec, idx, val);
202c922730a115 Muchun Song 2021-03-09 879
202c922730a115 Muchun Song 2021-03-09 880 if (PageMemcgKmem(head))
202c922730a115 Muchun Song 2021-03-09 881 rcu_read_unlock();
c47d5032ed3002 Shakeel Butt 2020-12-14 882 }
f0c0c115fb8194 Shakeel Butt 2020-12-14 883 EXPORT_SYMBOL(__mod_lruvec_page_state);
c47d5032ed3002 Shakeel Butt 2020-12-14 884
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 27946 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v3 3/4] mm: memcontrol: use obj_cgroup APIs to charge kmem pages
Date: Fri, 12 Mar 2021 01:48:23 +0800 [thread overview]
Message-ID: <202103120110.YKvaOKEA-lkp@intel.com> (raw)
In-Reply-To: <20210309100717.253-4-songmuchun@bytedance.com>
[-- Attachment #1: Type: text/plain, Size: 6270 bytes --]
Hi Muchun,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.12-rc2 next-20210311]
[cannot apply to hnaz-linux-mm/master]
[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/Muchun-Song/Use-obj_cgroup-APIs-to-charge-kmem-pages/20210309-181121
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 144c79ef33536b4ecb4951e07dbc1f2b7fa99d32
config: i386-randconfig-s002-20210311 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-262-g5e674421-dirty
# https://github.com/0day-ci/linux/commit/202c922730a115143cf9e15ab26633f247e00229
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Muchun-Song/Use-obj_cgroup-APIs-to-charge-kmem-pages/20210309-181121
git checkout 202c922730a115143cf9e15ab26633f247e00229
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
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:4194:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
mm/memcontrol.c:4194:21: sparse: struct mem_cgroup_threshold_ary [noderef] __rcu *
mm/memcontrol.c:4194:21: sparse: struct mem_cgroup_threshold_ary *
mm/memcontrol.c:4196:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
mm/memcontrol.c:4196:21: sparse: struct mem_cgroup_threshold_ary [noderef] __rcu *
mm/memcontrol.c:4196:21: sparse: struct mem_cgroup_threshold_ary *
mm/memcontrol.c:4352:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
mm/memcontrol.c:4352:9: sparse: struct mem_cgroup_threshold_ary [noderef] __rcu *
mm/memcontrol.c:4352:9: sparse: struct mem_cgroup_threshold_ary *
mm/memcontrol.c:4446:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
mm/memcontrol.c:4446:9: sparse: struct mem_cgroup_threshold_ary [noderef] __rcu *
mm/memcontrol.c:4446:9: sparse: struct mem_cgroup_threshold_ary *
mm/memcontrol.c:6002:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
mm/memcontrol.c:6002:23: sparse: struct task_struct [noderef] __rcu *
mm/memcontrol.c:6002:23: sparse: struct task_struct *
>> mm/memcontrol.c:854:6: sparse: sparse: context imbalance in '__mod_lruvec_page_state' - different lock contexts for basic block
mm/memcontrol.c: note: in included file:
include/linux/memcontrol.h:707:9: sparse: sparse: context imbalance in 'lock_page_lruvec' - wrong count at exit
include/linux/memcontrol.h:707:9: sparse: sparse: context imbalance in 'lock_page_lruvec_irq' - wrong count at exit
include/linux/memcontrol.h:707:9: sparse: sparse: context imbalance in 'lock_page_lruvec_irqsave' - wrong count at exit
mm/memcontrol.c:2137:19: sparse: sparse: context imbalance in 'lock_page_memcg' - wrong count at exit
mm/memcontrol.c:2199:17: sparse: sparse: context imbalance in '__unlock_page_memcg' - unexpected unlock
mm/memcontrol.c:5853:28: sparse: sparse: context imbalance in 'mem_cgroup_count_precharge_pte_range' - unexpected unlock
mm/memcontrol.c:6047:36: sparse: sparse: context imbalance in 'mem_cgroup_move_charge_pte_range' - unexpected unlock
vim +/__mod_lruvec_page_state +854 mm/memcontrol.c
eedc4e5a142cc3 Roman Gushchin 2020-08-06 853
c47d5032ed3002 Shakeel Butt 2020-12-14 @854 void __mod_lruvec_page_state(struct page *page, enum node_stat_item idx,
c47d5032ed3002 Shakeel Butt 2020-12-14 855 int val)
c47d5032ed3002 Shakeel Butt 2020-12-14 856 {
c47d5032ed3002 Shakeel Butt 2020-12-14 857 struct page *head = compound_head(page); /* rmap on tail pages */
286d6cff5d9973 Muchun Song 2021-03-09 858 struct mem_cgroup *memcg;
c47d5032ed3002 Shakeel Butt 2020-12-14 859 pg_data_t *pgdat = page_pgdat(page);
c47d5032ed3002 Shakeel Butt 2020-12-14 860 struct lruvec *lruvec;
c47d5032ed3002 Shakeel Butt 2020-12-14 861
202c922730a115 Muchun Song 2021-03-09 862 if (PageMemcgKmem(head)) {
202c922730a115 Muchun Song 2021-03-09 863 rcu_read_lock();
202c922730a115 Muchun Song 2021-03-09 864 memcg = obj_cgroup_memcg(page_objcg(page));
202c922730a115 Muchun Song 2021-03-09 865 } else {
202c922730a115 Muchun Song 2021-03-09 866 memcg = page_memcg(head);
202c922730a115 Muchun Song 2021-03-09 867 /*
202c922730a115 Muchun Song 2021-03-09 868 * Untracked pages have no memcg, no lruvec. Update only the
202c922730a115 Muchun Song 2021-03-09 869 * node.
202c922730a115 Muchun Song 2021-03-09 870 */
d635a69dd4981c Linus Torvalds 2020-12-15 871 if (!memcg) {
c47d5032ed3002 Shakeel Butt 2020-12-14 872 __mod_node_page_state(pgdat, idx, val);
c47d5032ed3002 Shakeel Butt 2020-12-14 873 return;
c47d5032ed3002 Shakeel Butt 2020-12-14 874 }
202c922730a115 Muchun Song 2021-03-09 875 }
c47d5032ed3002 Shakeel Butt 2020-12-14 876
d635a69dd4981c Linus Torvalds 2020-12-15 877 lruvec = mem_cgroup_lruvec(memcg, pgdat);
c47d5032ed3002 Shakeel Butt 2020-12-14 878 __mod_lruvec_state(lruvec, idx, val);
202c922730a115 Muchun Song 2021-03-09 879
202c922730a115 Muchun Song 2021-03-09 880 if (PageMemcgKmem(head))
202c922730a115 Muchun Song 2021-03-09 881 rcu_read_unlock();
c47d5032ed3002 Shakeel Butt 2020-12-14 882 }
f0c0c115fb8194 Shakeel Butt 2020-12-14 883 EXPORT_SYMBOL(__mod_lruvec_page_state);
c47d5032ed3002 Shakeel Butt 2020-12-14 884
---
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: 27946 bytes --]
next prev parent reply other threads:[~2021-03-11 17:50 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-09 10:07 [PATCH v3 0/4] Use obj_cgroup APIs to charge kmem pages Muchun Song
2021-03-09 10:07 ` [PATCH v3 1/4] mm: memcontrol: introduce obj_cgroup_{un}charge_pages Muchun Song
2021-03-11 12:30 ` Johannes Weiner
2021-03-11 18:56 ` Shakeel Butt
2021-03-11 18:56 ` Shakeel Butt
2021-03-09 10:07 ` [PATCH v3 2/4] mm: memcontrol: make page_memcg{_rcu} only applicable for non-kmem page Muchun Song
2021-03-10 19:57 ` Roman Gushchin
2021-03-11 6:45 ` [External] " Muchun Song
2021-03-11 6:45 ` Muchun Song
2021-03-11 13:12 ` Johannes Weiner
2021-03-12 7:14 ` [External] " Muchun Song
2021-03-12 7:14 ` Muchun Song
2021-03-12 19:23 ` Johannes Weiner
2021-03-12 22:42 ` Shakeel Butt
2021-03-12 22:42 ` Shakeel Butt
2021-03-12 23:07 ` Johannes Weiner
2021-03-12 23:18 ` Shakeel Butt
2021-03-12 23:18 ` Shakeel Butt
2021-03-14 13:56 ` Muchun Song
2021-03-14 13:56 ` Muchun Song
2021-03-12 3:22 ` Shakeel Butt
2021-03-12 3:22 ` Shakeel Butt
2021-03-12 5:02 ` [External] " Muchun Song
2021-03-12 5:02 ` Muchun Song
2021-03-09 10:07 ` [PATCH v3 3/4] mm: memcontrol: use obj_cgroup APIs to charge kmem pages Muchun Song
2021-03-10 19:53 ` Roman Gushchin
2021-03-11 6:50 ` [External] " Muchun Song
2021-03-11 6:50 ` Muchun Song
2021-03-10 22:05 ` Johannes Weiner
2021-03-12 9:22 ` [External] " Muchun Song
2021-03-12 9:22 ` Muchun Song
2021-03-12 15:59 ` Johannes Weiner
2021-03-12 16:46 ` Muchun Song
2021-03-12 16:46 ` Muchun Song
2021-03-11 17:48 ` kernel test robot [this message]
2021-03-11 17:48 ` kernel test robot
2021-03-09 10:07 ` [PATCH v3 4/4] mm: memcontrol: move PageMemcgKmem to the scope of CONFIG_MEMCG_KMEM Muchun Song
2021-03-10 19:30 ` Roman Gushchin
2021-03-12 3:26 ` Shakeel Butt
2021-03-12 3:26 ` Shakeel Butt
2021-03-12 19:24 ` Johannes Weiner
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=202103120110.YKvaOKEA-lkp@intel.com \
--to=lkp@intel.com \
--cc=akpm@linux-foundation.org \
--cc=duanxiongchun@bytedance.com \
--cc=guro@fb.com \
--cc=hannes@cmpxchg.org \
--cc=kbuild-all@lists.01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@kernel.org \
--cc=shakeelb@google.com \
--cc=songmuchun@bytedance.com \
--cc=vdavydov.dev@gmail.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 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.