From: kernel test robot <lkp@intel.com>
To: Dave Airlie <airlied@gmail.com>,
dri-devel@lists.freedesktop.org, tj@kernel.org,
christian.koenig@amd.com, Johannes Weiner <hannes@cmpxchg.org>,
Michal Hocko <mhocko@kernel.org>,
Roman Gushchin <roman.gushchin@linux.dev>,
Shakeel Butt <shakeel.butt@linux.dev>,
Muchun Song <muchun.song@linux.dev>
Cc: oe-kbuild-all@lists.linux.dev, cgroups@vger.kernel.org,
Waiman Long <longman@redhat.com>,
simona@ffwll.ch
Subject: Re: [PATCH 3/5] ttm: add initial memcg integration. (v2)
Date: Sat, 3 May 2025 10:09:51 +0800 [thread overview]
Message-ID: <202505030927.6cZ0SdOU-lkp@intel.com> (raw)
In-Reply-To: <20250502034046.1625896-4-airlied@gmail.com>
Hi Dave,
kernel test robot noticed the following build errors:
[auto build test ERROR on tj-cgroup/for-next]
[also build test ERROR on akpm-mm/mm-everything linus/master v6.15-rc4]
[cannot apply to drm-misc/drm-misc-next drm-tip/drm-tip next-20250502]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Dave-Airlie/memcg-add-hooks-for-gpu-memcg-charging-uncharging/20250502-123650
base: https://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git for-next
patch link: https://lore.kernel.org/r/20250502034046.1625896-4-airlied%40gmail.com
patch subject: [PATCH 3/5] ttm: add initial memcg integration. (v2)
config: s390-randconfig-001-20250503 (https://download.01.org/0day-ci/archive/20250503/202505030927.6cZ0SdOU-lkp@intel.com/config)
compiler: s390-linux-gcc (GCC) 7.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250503/202505030927.6cZ0SdOU-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/202505030927.6cZ0SdOU-lkp@intel.com/
All errors (new ones prefixed by >>):
s390-linux-ld: drivers/gpu/drm/ttm/ttm_resource.o: in function `ttm_resource_free':
>> drivers/gpu/drm/ttm/ttm_resource.c:443: undefined reference to `mem_cgroup_uncharge_gpu'
s390-linux-ld: drivers/gpu/drm/ttm/ttm_resource.o: in function `ttm_resource_alloc':
drivers/gpu/drm/ttm/ttm_resource.c:408: undefined reference to `mem_cgroup_uncharge_gpu'
>> s390-linux-ld: drivers/gpu/drm/ttm/ttm_resource.c:400: undefined reference to `mem_cgroup_charge_gpu'
vim +443 drivers/gpu/drm/ttm/ttm_resource.c
374
375 int ttm_resource_alloc(struct ttm_buffer_object *bo,
376 const struct ttm_place *place,
377 struct ttm_operation_ctx *ctx,
378 struct ttm_resource **res_ptr,
379 struct dmem_cgroup_pool_state **ret_limit_pool)
380 {
381 struct ttm_resource_manager *man =
382 ttm_manager_type(bo->bdev, place->mem_type);
383 struct dmem_cgroup_pool_state *pool = NULL;
384 struct mem_cgroup *memcg = NULL;
385 int ret;
386
387 if (man->cg) {
388 ret = dmem_cgroup_try_charge(man->cg, bo->base.size, &pool, ret_limit_pool);
389 if (ret)
390 return ret;
391 }
392
393 if ((place->mem_type == TTM_PL_SYSTEM || place->mem_type == TTM_PL_TT) &&
394 ctx->account_op && bo->memcg) {
395 memcg = bo->memcg;
396 gfp_t gfp_flags = GFP_USER;
397 if (ctx->gfp_retry_mayfail)
398 gfp_flags |= __GFP_RETRY_MAYFAIL;
399
> 400 if (!mem_cgroup_charge_gpu(memcg, bo->base.size >> PAGE_SHIFT, gfp_flags))
401 return -ENOMEM;
402 }
403 ret = man->func->alloc(man, bo, place, res_ptr);
404 if (ret) {
405 if (pool)
406 dmem_cgroup_uncharge(pool, bo->base.size);
407 if (memcg)
408 mem_cgroup_uncharge_gpu(memcg, bo->base.size >> PAGE_SHIFT);
409 return ret;
410 }
411
412 (*res_ptr)->memcg = memcg;
413 (*res_ptr)->css = pool;
414
415 spin_lock(&bo->bdev->lru_lock);
416 ttm_resource_add_bulk_move(*res_ptr, bo);
417 spin_unlock(&bo->bdev->lru_lock);
418 return 0;
419 }
420 EXPORT_SYMBOL_FOR_TESTS_ONLY(ttm_resource_alloc);
421
422 void ttm_resource_free(struct ttm_buffer_object *bo, struct ttm_resource **res)
423 {
424 struct ttm_resource_manager *man;
425 struct dmem_cgroup_pool_state *pool;
426 struct mem_cgroup *memcg;
427
428 if (!*res)
429 return;
430
431 spin_lock(&bo->bdev->lru_lock);
432 ttm_resource_del_bulk_move(*res, bo);
433 spin_unlock(&bo->bdev->lru_lock);
434
435 pool = (*res)->css;
436 memcg = (*res)->memcg;
437 man = ttm_manager_type(bo->bdev, (*res)->mem_type);
438 man->func->free(man, *res);
439 *res = NULL;
440 if (man->cg)
441 dmem_cgroup_uncharge(pool, bo->base.size);
442 if (memcg)
> 443 mem_cgroup_uncharge_gpu(memcg, bo->base.size >> PAGE_SHIFT);
444 }
445 EXPORT_SYMBOL(ttm_resource_free);
446
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2025-05-03 2:10 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-02 3:35 [rfc] drm/ttm/memcg: simplest initial memcg/ttm integration (v2) Dave Airlie
2025-05-02 3:36 ` [PATCH 1/5] memcg: add GPU statistic Dave Airlie
2025-05-02 3:36 ` [PATCH 2/5] memcg: add hooks for gpu memcg charging/uncharging Dave Airlie
2025-05-02 3:36 ` [PATCH 3/5] ttm: add initial memcg integration. (v2) Dave Airlie
2025-05-02 12:01 ` Christian König
2025-05-02 14:24 ` kernel test robot
2025-05-03 2:09 ` kernel test robot [this message]
2025-05-02 3:36 ` [PATCH 4/5] amdgpu: add support for memcg integration Dave Airlie
2025-05-02 14:01 ` Waiman Long
2025-05-02 3:36 ` [PATCH 5/5] nouveau: add " Dave Airlie
2025-05-06 0:37 ` [rfc] drm/ttm/memcg: simplest initial memcg/ttm integration (v2) Shakeel Butt
2025-05-06 0:59 ` Dave Airlie
2025-05-07 17:52 ` Johannes Weiner
2025-05-07 22:03 ` Dave Airlie
2025-05-07 22:11 ` Dave Airlie
2025-05-13 7:54 ` Johannes Weiner
2025-05-15 3:02 ` Dave Airlie
2025-05-15 8:55 ` Christian König
2025-05-15 15:04 ` Waiman Long
2025-05-15 15:16 ` Christian König
2025-05-15 16:08 ` Johannes Weiner
2025-05-16 6:53 ` Christian König
2025-05-16 14:53 ` Johannes Weiner
2025-05-16 15:35 ` Christian König
2025-05-16 16:41 ` Johannes Weiner
2025-05-16 17:42 ` Christian König
2025-05-16 20:04 ` Johannes Weiner
2025-05-16 20:25 ` Dave Airlie
2025-05-18 16:28 ` Christian König
2025-05-19 6:18 ` Dave Airlie
2025-05-19 8:26 ` Christian König
2025-05-22 19:51 ` Tejun Heo
2025-05-23 7:58 ` Christian König
2025-05-23 17:06 ` Tejun Heo
2025-05-26 8:19 ` Christian König
2025-05-26 20:13 ` Dave Airlie
2025-05-27 8:01 ` Christian König
2025-05-16 16:12 ` Johannes Weiner
2025-05-21 2:23 ` Dave Airlie
2025-05-21 7:50 ` Christian König
2025-05-21 14:43 ` Johannes Weiner
2025-05-22 7:03 ` Dave Airlie
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=202505030927.6cZ0SdOU-lkp@intel.com \
--to=lkp@intel.com \
--cc=airlied@gmail.com \
--cc=cgroups@vger.kernel.org \
--cc=christian.koenig@amd.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=hannes@cmpxchg.org \
--cc=longman@redhat.com \
--cc=mhocko@kernel.org \
--cc=muchun.song@linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=roman.gushchin@linux.dev \
--cc=shakeel.butt@linux.dev \
--cc=simona@ffwll.ch \
--cc=tj@kernel.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.