CC: [email protected]
In-Reply-To: <[email protected]>
References: <[email protected]>
TO: "Matthew Wilcox (Oracle)" <[email protected]>
TO: [email protected]
CC: "Matthew Wilcox (Oracle)" <[email protected]>
CC: [email protected]
CC: [email protected]
CC: Christoph Hellwig <[email protected]>

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 <[email protected]>


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/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to