[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202212010647.rTOgRTk2-lkp@intel.com>
Date: Thu, 1 Dec 2022 06:39:46 +0800
From: kernel test robot <lkp@...el.com>
To: chengkaitao <pilgrimtao@...il.com>, tj@...nel.org,
lizefan.x@...edance.com, hannes@...xchg.org, corbet@....net,
mhocko@...nel.org, roman.gushchin@...ux.dev, shakeelb@...gle.com,
akpm@...ux-foundation.org, songmuchun@...edance.com
Cc: oe-kbuild-all@...ts.linux.dev, cgel.zte@...il.com,
ran.xiaokai@....com.cn, viro@...iv.linux.org.uk,
zhengqi.arch@...edance.com, ebiederm@...ssion.com,
Liam.Howlett@...cle.com, chengzhihao1@...wei.com,
pilgrimtao@...il.com, haolee.swjtu@...il.com, yuzhao@...gle.com,
willy@...radead.org, vasily.averin@...ux.dev, vbabka@...e.cz,
surenb@...gle.com, sfr@...b.auug.org.au, mcgrof@...nel.org,
sujiaxun@...ontech.com, feng.tang@...el.com,
cgroups@...r.kernel.org, linux-doc@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] mm: memcontrol: protect the memory in cgroup from being
oom killed
Hi chengkaitao,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on akpm-mm/mm-everything]
url: https://github.com/intel-lab-lkp/linux/commits/chengkaitao/mm-memcontrol-protect-the-memory-in-cgroup-from-being-oom-killed/20221130-150440
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/20221130070158.44221-1-chengkaitao%40didiglobal.com
patch subject: [PATCH] mm: memcontrol: protect the memory in cgroup from being oom killed
config: um-i386_defconfig
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce (this is a W=1 build):
# https://github.com/intel-lab-lkp/linux/commit/d2e2f936cb254b6976abddb53b9f46dfc9c9a134
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review chengkaitao/mm-memcontrol-protect-the-memory-in-cgroup-from-being-oom-killed/20221130-150440
git checkout d2e2f936cb254b6976abddb53b9f46dfc9c9a134
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=um SUBARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>
All errors (new ones prefixed by >>):
ld: init/do_mounts.o: in function `update_parent_oom_protection':
>> include/linux/memcontrol.h:1231: multiple definition of `update_parent_oom_protection'; init/main.o:include/linux/memcontrol.h:1231: first defined here
ld: init/do_mounts.o: in function `get_task_eoom_protect':
>> include/linux/memcontrol.h:1246: multiple definition of `get_task_eoom_protect'; init/main.o:include/linux/memcontrol.h:1246: first defined here
ld: init/do_mounts.o: in function `is_root_oom_protect':
>> include/linux/memcontrol.h:1251: multiple definition of `is_root_oom_protect'; init/main.o:include/linux/memcontrol.h:1251: first defined here
ld: init/do_mounts.o: in function `mem_cgroup_scan_tasks_update_eoom':
>> include/linux/memcontrol.h:1376: multiple definition of `mem_cgroup_scan_tasks_update_eoom'; init/main.o:include/linux/memcontrol.h:1376: first defined here
ld: arch/um/kernel/mem.o: in function `update_parent_oom_protection':
>> include/linux/memcontrol.h:1231: multiple definition of `update_parent_oom_protection'; init/main.o:include/linux/memcontrol.h:1231: first defined here
ld: arch/um/kernel/mem.o: in function `get_task_eoom_protect':
>> include/linux/memcontrol.h:1246: multiple definition of `get_task_eoom_protect'; init/main.o:include/linux/memcontrol.h:1246: first defined here
ld: arch/um/kernel/mem.o: in function `is_root_oom_protect':
>> include/linux/memcontrol.h:1251: multiple definition of `is_root_oom_protect'; init/main.o:include/linux/memcontrol.h:1251: first defined here
ld: arch/um/kernel/mem.o: in function `mem_cgroup_scan_tasks_update_eoom':
>> include/linux/memcontrol.h:1376: multiple definition of `mem_cgroup_scan_tasks_update_eoom'; init/main.o:include/linux/memcontrol.h:1376: first defined here
ld: arch/um/kernel/process.o: in function `update_parent_oom_protection':
>> include/linux/memcontrol.h:1231: multiple definition of `update_parent_oom_protection'; init/main.o:include/linux/memcontrol.h:1231: first defined here
ld: arch/um/kernel/process.o: in function `get_task_eoom_protect':
>> include/linux/memcontrol.h:1246: multiple definition of `get_task_eoom_protect'; init/main.o:include/linux/memcontrol.h:1246: first defined here
ld: arch/um/kernel/process.o: in function `is_root_oom_protect':
>> include/linux/memcontrol.h:1251: multiple definition of `is_root_oom_protect'; init/main.o:include/linux/memcontrol.h:1251: first defined here
ld: arch/um/kernel/process.o: in function `mem_cgroup_scan_tasks_update_eoom':
>> include/linux/memcontrol.h:1376: multiple definition of `mem_cgroup_scan_tasks_update_eoom'; init/main.o:include/linux/memcontrol.h:1376: first defined here
ld: arch/um/kernel/um_arch.o: in function `update_parent_oom_protection':
arch/um/kernel/um_arch.c:528: multiple definition of `update_parent_oom_protection'; init/main.o:include/linux/memcontrol.h:1231: first defined here
ld: arch/um/kernel/um_arch.o: in function `get_task_eoom_protect':
>> include/linux/memcontrol.h:1246: multiple definition of `get_task_eoom_protect'; init/main.o:include/linux/memcontrol.h:1246: first defined here
ld: arch/um/kernel/um_arch.o: in function `is_root_oom_protect':
>> include/linux/memcontrol.h:1251: multiple definition of `is_root_oom_protect'; init/main.o:include/linux/memcontrol.h:1251: first defined here
ld: arch/um/kernel/um_arch.o: in function `mem_cgroup_scan_tasks_update_eoom':
>> include/linux/memcontrol.h:1376: multiple definition of `mem_cgroup_scan_tasks_update_eoom'; init/main.o:include/linux/memcontrol.h:1376: first defined here
ld: kernel/fork.o: in function `update_parent_oom_protection':
>> include/linux/memcontrol.h:1231: multiple definition of `update_parent_oom_protection'; init/main.o:include/linux/memcontrol.h:1231: first defined here
ld: kernel/fork.o: in function `get_task_eoom_protect':
>> include/linux/memcontrol.h:1246: multiple definition of `get_task_eoom_protect'; init/main.o:include/linux/memcontrol.h:1246: first defined here
ld: kernel/fork.o: in function `is_root_oom_protect':
>> include/linux/memcontrol.h:1251: multiple definition of `is_root_oom_protect'; init/main.o:include/linux/memcontrol.h:1251: first defined here
ld: kernel/fork.o: in function `mem_cgroup_scan_tasks_update_eoom':
>> include/linux/memcontrol.h:1376: multiple definition of `mem_cgroup_scan_tasks_update_eoom'; init/main.o:include/linux/memcontrol.h:1376: first defined here
ld: kernel/cpu.o: in function `update_parent_oom_protection':
>> include/linux/memcontrol.h:1231: multiple definition of `update_parent_oom_protection'; init/main.o:include/linux/memcontrol.h:1231: first defined here
ld: kernel/cpu.o: in function `get_task_eoom_protect':
include/linux/memcontrol.h:1246: multiple definition of `get_task_eoom_protect'; init/main.o:include/linux/memcontrol.h:1246: first defined here
ld: kernel/cpu.o: in function `is_root_oom_protect':
include/linux/memcontrol.h:1251: multiple definition of `is_root_oom_protect'; init/main.o:include/linux/memcontrol.h:1251: first defined here
ld: kernel/cpu.o: in function `mem_cgroup_scan_tasks_update_eoom':
include/linux/memcontrol.h:1376: multiple definition of `mem_cgroup_scan_tasks_update_eoom'; init/main.o:include/linux/memcontrol.h:1376: first defined here
ld: kernel/sysctl.o: in function `update_parent_oom_protection':
include/linux/memcontrol.h:1231: multiple definition of `update_parent_oom_protection'; init/main.o:include/linux/memcontrol.h:1231: first defined here
ld: kernel/sysctl.o: in function `get_task_eoom_protect':
include/linux/memcontrol.h:1246: multiple definition of `get_task_eoom_protect'; init/main.o:include/linux/memcontrol.h:1246: first defined here
ld: kernel/sysctl.o: in function `is_root_oom_protect':
include/linux/memcontrol.h:1251: multiple definition of `is_root_oom_protect'; init/main.o:include/linux/memcontrol.h:1251: first defined here
ld: kernel/sysctl.o: in function `mem_cgroup_scan_tasks_update_eoom':
include/linux/memcontrol.h:1376: multiple definition of `mem_cgroup_scan_tasks_update_eoom'; init/main.o:include/linux/memcontrol.h:1376: first defined here
ld: kernel/sys.o: in function `update_parent_oom_protection':
include/linux/memcontrol.h:1231: multiple definition of `update_parent_oom_protection'; init/main.o:include/linux/memcontrol.h:1231: first defined here
ld: kernel/sys.o: in function `get_task_eoom_protect':
include/linux/memcontrol.h:1246: multiple definition of `get_task_eoom_protect'; init/main.o:include/linux/memcontrol.h:1246: first defined here
ld: kernel/sys.o: in function `is_root_oom_protect':
include/linux/memcontrol.h:1251: multiple definition of `is_root_oom_protect'; init/main.o:include/linux/memcontrol.h:1251: first defined here
ld: kernel/sys.o: in function `mem_cgroup_scan_tasks_update_eoom':
include/linux/memcontrol.h:1376: multiple definition of `mem_cgroup_scan_tasks_update_eoom'; init/main.o:include/linux/memcontrol.h:1376: first defined here
ld: kernel/umh.o: in function `update_parent_oom_protection':
include/linux/memcontrol.h:1231: multiple definition of `update_parent_oom_protection'; init/main.o:include/linux/memcontrol.h:1231: first defined here
ld: kernel/umh.o: in function `get_task_eoom_protect':
include/linux/memcontrol.h:1246: multiple definition of `get_task_eoom_protect'; init/main.o:include/linux/memcontrol.h:1246: first defined here
ld: kernel/umh.o: in function `is_root_oom_protect':
include/linux/memcontrol.h:1251: multiple definition of `is_root_oom_protect'; init/main.o:include/linux/memcontrol.h:1251: first defined here
ld: kernel/umh.o: in function `mem_cgroup_scan_tasks_update_eoom':
include/linux/memcontrol.h:1376: multiple definition of `mem_cgroup_scan_tasks_update_eoom'; init/main.o:include/linux/memcontrol.h:1376: first defined here
ld: kernel/pid.o: in function `update_parent_oom_protection':
include/linux/memcontrol.h:1231: multiple definition of `update_parent_oom_protection'; init/main.o:include/linux/memcontrol.h:1231: first defined here
ld: kernel/pid.o: in function `get_task_eoom_protect':
include/linux/memcontrol.h:1246: multiple definition of `get_task_eoom_protect'; init/main.o:include/linux/memcontrol.h:1246: first defined here
ld: kernel/pid.o: in function `is_root_oom_protect':
include/linux/memcontrol.h:1251: multiple definition of `is_root_oom_protect'; init/main.o:include/linux/memcontrol.h:1251: first defined here
ld: kernel/pid.o: in function `mem_cgroup_scan_tasks_update_eoom':
include/linux/memcontrol.h:1376: multiple definition of `mem_cgroup_scan_tasks_update_eoom'; init/main.o:include/linux/memcontrol.h:1376: first defined here
ld: kernel/task_work.o: in function `update_parent_oom_protection':
include/linux/memcontrol.h:1231: multiple definition of `update_parent_oom_protection'; init/main.o:include/linux/memcontrol.h:1231: first defined here
ld: kernel/task_work.o: in function `get_task_eoom_protect':
include/linux/memcontrol.h:1246: multiple definition of `get_task_eoom_protect'; init/main.o:include/linux/memcontrol.h:1246: first defined here
ld: kernel/task_work.o: in function `is_root_oom_protect':
include/linux/memcontrol.h:1251: multiple definition of `is_root_oom_protect'; init/main.o:include/linux/memcontrol.h:1251: first defined here
ld: kernel/task_work.o: in function `mem_cgroup_scan_tasks_update_eoom':
include/linux/memcontrol.h:1376: multiple definition of `mem_cgroup_scan_tasks_update_eoom'; init/main.o:include/linux/memcontrol.h:1376: first defined here
ld: kernel/reboot.o: in function `update_parent_oom_protection':
include/linux/memcontrol.h:1231: multiple definition of `update_parent_oom_protection'; init/main.o:include/linux/memcontrol.h:1231: first defined here
ld: kernel/reboot.o: in function `get_task_eoom_protect':
include/linux/memcontrol.h:1246: multiple definition of `get_task_eoom_protect'; init/main.o:include/linux/memcontrol.h:1246: first defined here
ld: kernel/reboot.o: in function `is_root_oom_protect':
include/linux/memcontrol.h:1251: multiple definition of `is_root_oom_protect'; init/main.o:include/linux/memcontrol.h:1251: first defined here
ld: kernel/reboot.o: in function `mem_cgroup_scan_tasks_update_eoom':
include/linux/memcontrol.h:1376: multiple definition of `mem_cgroup_scan_tasks_update_eoom'; init/main.o:include/linux/memcontrol.h:1376: first defined here
ld: kernel/kmod.o: in function `update_parent_oom_protection':
include/linux/memcontrol.h:1231: multiple definition of `update_parent_oom_protection'; init/main.o:include/linux/memcontrol.h:1231: first defined here
ld: kernel/kmod.o: in function `get_task_eoom_protect':
include/linux/memcontrol.h:1246: multiple definition of `get_task_eoom_protect'; init/main.o:include/linux/memcontrol.h:1246: first defined here
ld: kernel/kmod.o: in function `is_root_oom_protect':
include/linux/memcontrol.h:1251: multiple definition of `is_root_oom_protect'; init/main.o:include/linux/memcontrol.h:1251: first defined here
ld: kernel/kmod.o: in function `mem_cgroup_scan_tasks_update_eoom':
include/linux/memcontrol.h:1376: multiple definition of `mem_cgroup_scan_tasks_update_eoom'; init/main.o:include/linux/memcontrol.h:1376: first defined here
ld: kernel/sched/core.o: in function `update_parent_oom_protection':
include/linux/memcontrol.h:1231: multiple definition of `update_parent_oom_protection'; init/main.o:include/linux/memcontrol.h:1231: first defined here
ld: kernel/sched/core.o: in function `get_task_eoom_protect':
include/linux/memcontrol.h:1246: multiple definition of `get_task_eoom_protect'; init/main.o:include/linux/memcontrol.h:1246: first defined here
ld: kernel/sched/core.o: in function `is_root_oom_protect':
include/linux/memcontrol.h:1251: multiple definition of `is_root_oom_protect'; init/main.o:include/linux/memcontrol.h:1251: first defined here
ld: kernel/sched/core.o: in function `mem_cgroup_scan_tasks_update_eoom':
include/linux/memcontrol.h:1376: multiple definition of `mem_cgroup_scan_tasks_update_eoom'; init/main.o:include/linux/memcontrol.h:1376: first defined here
ld: kernel/sched/build_policy.o: in function `update_parent_oom_protection':
include/linux/memcontrol.h:1231: multiple definition of `update_parent_oom_protection'; init/main.o:include/linux/memcontrol.h:1231: first defined here
ld: kernel/sched/build_policy.o: in function `get_task_eoom_protect':
include/linux/memcontrol.h:1246: multiple definition of `get_task_eoom_protect'; init/main.o:include/linux/memcontrol.h:1246: first defined here
ld: kernel/sched/build_policy.o: in function `is_root_oom_protect':
include/linux/memcontrol.h:1251: multiple definition of `is_root_oom_protect'; init/main.o:include/linux/memcontrol.h:1251: first defined here
ld: kernel/sched/build_policy.o: in function `mem_cgroup_scan_tasks_update_eoom':
include/linux/memcontrol.h:1376: multiple definition of `mem_cgroup_scan_tasks_update_eoom'; init/main.o:include/linux/memcontrol.h:1376: first defined here
ld: kernel/power/main.o: in function `update_parent_oom_protection':
include/linux/memcontrol.h:1231: multiple definition of `update_parent_oom_protection'; init/main.o:include/linux/memcontrol.h:1231: first defined here
ld: kernel/power/main.o: in function `get_task_eoom_protect':
include/linux/memcontrol.h:1246: multiple definition of `get_task_eoom_protect'; init/main.o:include/linux/memcontrol.h:1246: first defined here
ld: kernel/power/main.o: in function `is_root_oom_protect':
include/linux/memcontrol.h:1251: multiple definition of `is_root_oom_protect'; init/main.o:include/linux/memcontrol.h:1251: first defined here
ld: kernel/power/main.o: in function `mem_cgroup_scan_tasks_update_eoom':
include/linux/memcontrol.h:1376: multiple definition of `mem_cgroup_scan_tasks_update_eoom'; init/main.o:include/linux/memcontrol.h:1376: first defined here
ld: kernel/power/process.o: in function `update_parent_oom_protection':
include/linux/memcontrol.h:1231: multiple definition of `update_parent_oom_protection'; init/main.o:include/linux/memcontrol.h:1231: first defined here
ld: kernel/power/process.o: in function `get_task_eoom_protect':
include/linux/memcontrol.h:1246: multiple definition of `get_task_eoom_protect'; init/main.o:include/linux/memcontrol.h:1246: first defined here
ld: kernel/power/process.o: in function `is_root_oom_protect':
include/linux/memcontrol.h:1251: multiple definition of `is_root_oom_protect'; init/main.o:include/linux/memcontrol.h:1251: first defined here
ld: kernel/power/process.o: in function `mem_cgroup_scan_tasks_update_eoom':
include/linux/memcontrol.h:1376: multiple definition of `mem_cgroup_scan_tasks_update_eoom'; init/main.o:include/linux/memcontrol.h:1376: first defined here
ld: kernel/power/suspend.o: in function `update_parent_oom_protection':
include/linux/memcontrol.h:1231: multiple definition of `update_parent_oom_protection'; init/main.o:include/linux/memcontrol.h:1231: first defined here
ld: kernel/power/suspend.o: in function `get_task_eoom_protect':
include/linux/memcontrol.h:1246: multiple definition of `get_task_eoom_protect'; init/main.o:include/linux/memcontrol.h:1246: first defined here
ld: kernel/power/suspend.o: in function `is_root_oom_protect':
include/linux/memcontrol.h:1251: multiple definition of `is_root_oom_protect'; init/main.o:include/linux/memcontrol.h:1251: first defined here
vim +1231 include/linux/memcontrol.h
1227
1228 void update_parent_oom_protection(struct mem_cgroup *root,
1229 struct mem_cgroup *memcg)
1230 {
> 1231 }
1232
1233 static inline bool mem_cgroup_below_low(struct mem_cgroup *memcg)
1234 {
1235 return false;
1236 }
1237
1238 static inline bool mem_cgroup_below_min(struct mem_cgroup *memcg)
1239 {
1240 return false;
1241 }
1242
1243 unsigned long get_task_eoom_protect(struct task_struct *p, long points)
1244 {
1245 return 0;
> 1246 }
1247
1248 bool is_root_oom_protect(void)
1249 {
1250 return 0;
> 1251 }
1252
1253 static inline int mem_cgroup_charge(struct folio *folio,
1254 struct mm_struct *mm, gfp_t gfp)
1255 {
1256 return 0;
1257 }
1258
1259 static inline int mem_cgroup_swapin_charge_folio(struct folio *folio,
1260 struct mm_struct *mm, gfp_t gfp, swp_entry_t entry)
1261 {
1262 return 0;
1263 }
1264
1265 static inline void mem_cgroup_swapin_uncharge_swap(swp_entry_t entry)
1266 {
1267 }
1268
1269 static inline void mem_cgroup_uncharge(struct folio *folio)
1270 {
1271 }
1272
1273 static inline void mem_cgroup_uncharge_list(struct list_head *page_list)
1274 {
1275 }
1276
1277 static inline void mem_cgroup_migrate(struct folio *old, struct folio *new)
1278 {
1279 }
1280
1281 static inline struct lruvec *mem_cgroup_lruvec(struct mem_cgroup *memcg,
1282 struct pglist_data *pgdat)
1283 {
1284 return &pgdat->__lruvec;
1285 }
1286
1287 static inline struct lruvec *folio_lruvec(struct folio *folio)
1288 {
1289 struct pglist_data *pgdat = folio_pgdat(folio);
1290 return &pgdat->__lruvec;
1291 }
1292
1293 static inline
1294 void lruvec_memcg_debug(struct lruvec *lruvec, struct folio *folio)
1295 {
1296 }
1297
1298 static inline struct mem_cgroup *parent_mem_cgroup(struct mem_cgroup *memcg)
1299 {
1300 return NULL;
1301 }
1302
1303 static inline bool mm_match_cgroup(struct mm_struct *mm,
1304 struct mem_cgroup *memcg)
1305 {
1306 return true;
1307 }
1308
1309 static inline struct mem_cgroup *get_mem_cgroup_from_mm(struct mm_struct *mm)
1310 {
1311 return NULL;
1312 }
1313
1314 static inline
1315 struct mem_cgroup *mem_cgroup_from_css(struct cgroup_subsys_state *css)
1316 {
1317 return NULL;
1318 }
1319
1320 static inline void obj_cgroup_put(struct obj_cgroup *objcg)
1321 {
1322 }
1323
1324 static inline void mem_cgroup_put(struct mem_cgroup *memcg)
1325 {
1326 }
1327
1328 static inline struct lruvec *folio_lruvec_lock(struct folio *folio)
1329 {
1330 struct pglist_data *pgdat = folio_pgdat(folio);
1331
1332 spin_lock(&pgdat->__lruvec.lru_lock);
1333 return &pgdat->__lruvec;
1334 }
1335
1336 static inline struct lruvec *folio_lruvec_lock_irq(struct folio *folio)
1337 {
1338 struct pglist_data *pgdat = folio_pgdat(folio);
1339
1340 spin_lock_irq(&pgdat->__lruvec.lru_lock);
1341 return &pgdat->__lruvec;
1342 }
1343
1344 static inline struct lruvec *folio_lruvec_lock_irqsave(struct folio *folio,
1345 unsigned long *flagsp)
1346 {
1347 struct pglist_data *pgdat = folio_pgdat(folio);
1348
1349 spin_lock_irqsave(&pgdat->__lruvec.lru_lock, *flagsp);
1350 return &pgdat->__lruvec;
1351 }
1352
1353 static inline struct mem_cgroup *
1354 mem_cgroup_iter(struct mem_cgroup *root,
1355 struct mem_cgroup *prev,
1356 struct mem_cgroup_reclaim_cookie *reclaim)
1357 {
1358 return NULL;
1359 }
1360
1361 static inline void mem_cgroup_iter_break(struct mem_cgroup *root,
1362 struct mem_cgroup *prev)
1363 {
1364 }
1365
1366 static inline int mem_cgroup_scan_tasks(struct mem_cgroup *memcg,
1367 int (*fn)(struct task_struct *, void *), void *arg)
1368 {
1369 return 0;
1370 }
1371
1372 int mem_cgroup_scan_tasks_update_eoom(struct mem_cgroup *memcg,
1373 int (*fn)(struct task_struct *, void *, int), void *arg)
1374 {
1375 return 0;
> 1376 }
1377
--
0-DAY CI Kernel Test Service
https://01.org/lkp
View attachment "config" of type "text/plain" (42325 bytes)
Powered by blists - more mailing lists