* [rgushchin:memcontrol_v1.rfc 4/10] mm/memcontrol-v1.c:1109:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
@ 2024-05-09 21:14 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-05-09 21:14 UTC (permalink / raw)
To: Roman Gushchin; +Cc: oe-kbuild-all
tree: https://github.com/rgushchin/linux.git memcontrol_v1.rfc
head: 0011ac60f32b91542b15b122087bd97f41634b51
commit: bb7dddcd85b885a163916d548d1907c89771fd67 [4/10] mm: memcg: move charge migration code to memcontrol-v1.c
config: i386-randconfig-061-20240510 (https://download.01.org/0day-ci/archive/20240510/202405100515.D644UVCg-lkp@intel.com/config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240510/202405100515.D644UVCg-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202405100515.D644UVCg-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> mm/memcontrol-v1.c:1109:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
mm/memcontrol-v1.c:1109:23: sparse: struct task_struct [noderef] __rcu *
mm/memcontrol-v1.c:1109:23: sparse: struct task_struct *
mm/memcontrol-v1.c:417:6: sparse: sparse: context imbalance in 'folio_memcg_lock' - wrong count at exit
mm/memcontrol-v1.c:464:17: sparse: sparse: context imbalance in '__folio_memcg_unlock' - unexpected unlock
mm/memcontrol-v1.c: note: in included file (through include/linux/rculist.h, include/linux/cgroup.h, include/linux/memcontrol.h):
include/linux/rcupdate.h:812:9: sparse: sparse: context imbalance in 'mem_cgroup_count_precharge_pte_range' - unexpected unlock
include/linux/rcupdate.h:812:9: sparse: sparse: context imbalance in 'mem_cgroup_move_charge_pte_range' - unexpected unlock
vim +1109 mm/memcontrol-v1.c
1062
1063 int mem_cgroup_can_attach(struct cgroup_taskset *tset)
1064 {
1065 struct cgroup_subsys_state *css;
1066 struct mem_cgroup *memcg = NULL; /* unneeded init to make gcc happy */
1067 struct mem_cgroup *from;
1068 struct task_struct *leader, *p;
1069 struct mm_struct *mm;
1070 unsigned long move_flags;
1071 int ret = 0;
1072
1073 /* charge immigration isn't supported on the default hierarchy */
1074 if (cgroup_subsys_on_dfl(memory_cgrp_subsys))
1075 return 0;
1076
1077 /*
1078 * Multi-process migrations only happen on the default hierarchy
1079 * where charge immigration is not used. Perform charge
1080 * immigration if @tset contains a leader and whine if there are
1081 * multiple.
1082 */
1083 p = NULL;
1084 cgroup_taskset_for_each_leader(leader, css, tset) {
1085 WARN_ON_ONCE(p);
1086 p = leader;
1087 memcg = mem_cgroup_from_css(css);
1088 }
1089 if (!p)
1090 return 0;
1091
1092 /*
1093 * We are now committed to this value whatever it is. Changes in this
1094 * tunable will only affect upcoming migrations, not the current one.
1095 * So we need to save it, and keep it going.
1096 */
1097 move_flags = READ_ONCE(memcg->move_charge_at_immigrate);
1098 if (!move_flags)
1099 return 0;
1100
1101 from = mem_cgroup_from_task(p);
1102
1103 VM_BUG_ON(from == memcg);
1104
1105 mm = get_task_mm(p);
1106 if (!mm)
1107 return 0;
1108 /* We move charges only when we move a owner of the mm */
> 1109 if (mm->owner == p) {
1110 VM_BUG_ON(mc.from);
1111 VM_BUG_ON(mc.to);
1112 VM_BUG_ON(mc.precharge);
1113 VM_BUG_ON(mc.moved_charge);
1114 VM_BUG_ON(mc.moved_swap);
1115
1116 spin_lock(&mc.lock);
1117 mc.mm = mm;
1118 mc.from = from;
1119 mc.to = memcg;
1120 mc.flags = move_flags;
1121 spin_unlock(&mc.lock);
1122 /* We set mc.moving_task later */
1123
1124 ret = mem_cgroup_precharge_mc(mm);
1125 if (ret)
1126 mem_cgroup_clear_mc();
1127 } else {
1128 mmput(mm);
1129 }
1130 return ret;
1131 }
1132
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-05-09 21:15 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-09 21:14 [rgushchin:memcontrol_v1.rfc 4/10] mm/memcontrol-v1.c:1109:23: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel test robot
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.