From: "Christian König" <christian.koenig@amd.com>
To: "Ruhl, Michael J" <michael.j.ruhl@intel.com>,
"Christian König" <ckoenig.leichtzumerken@gmail.com>,
"intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>
Cc: "dri-devel@lists.freedesktop.org" <dri-devel@lists.freedesktop.org>
Subject: Re: [Intel-gfx] [PATCH 01/11] drm/radeon: switch over to ttm_bo_init_reserved
Date: Thu, 19 May 2022 15:09:37 +0200 [thread overview]
Message-ID: <7edcae40-025a-b82e-f5ee-4c51bf6cc5a5@amd.com> (raw)
In-Reply-To: <DM5PR11MB1324EE629E070768A1E0E6ADC1D09@DM5PR11MB1324.namprd11.prod.outlook.com>
Am 19.05.22 um 14:54 schrieb Ruhl, Michael J:
>> -----Original Message-----
>> From: dri-devel <dri-devel-bounces@lists.freedesktop.org> On Behalf Of
>> Christian König
>> Sent: Thursday, May 19, 2022 5:55 AM
>> To: intel-gfx@lists.freedesktop.org
>> Cc: matthew.william.auld@gmail.com; Christian König
>> <christian.koenig@amd.com>; dri-devel@lists.freedesktop.org
>> Subject: [PATCH 01/11] drm/radeon: switch over to ttm_bo_init_reserved
>>
>> Use the new interface instead.
>>
>> Signed-off-by: Christian König <christian.koenig@amd.com>
>> ---
>> drivers/gpu/drm/radeon/radeon_object.c | 17 +++++++++++------
>> 1 file changed, 11 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/radeon/radeon_object.c
>> b/drivers/gpu/drm/radeon/radeon_object.c
>> index 6c4a6802ca96..1d414ff4ab0c 100644
>> --- a/drivers/gpu/drm/radeon/radeon_object.c
>> +++ b/drivers/gpu/drm/radeon/radeon_object.c
>> @@ -133,9 +133,12 @@ int radeon_bo_create(struct radeon_device *rdev,
>> struct dma_resv *resv,
>> struct radeon_bo **bo_ptr)
>> {
>> - struct radeon_bo *bo;
>> - enum ttm_bo_type type;
>> unsigned long page_align = roundup(byte_align, PAGE_SIZE) >>
>> PAGE_SHIFT;
>> +
>> + /* Kernel allocation are uninterruptible */
>> + struct ttm_operation_ctx ctx = { !kernel, false };
>> + enum ttm_bo_type type;
>> + struct radeon_bo *bo;
>> int r;
>>
>> size = ALIGN(size, PAGE_SIZE);
>> @@ -200,11 +203,13 @@ int radeon_bo_create(struct radeon_device *rdev,
>> #endif
>>
>> radeon_ttm_placement_from_domain(bo, domain);
>> - /* Kernel allocation are uninterruptible */
>> down_read(&rdev->pm.mclk_lock);
>> - r = ttm_bo_init(&rdev->mman.bdev, &bo->tbo, size, type,
>> - &bo->placement, page_align, !kernel, sg, resv,
>> - &radeon_ttm_bo_destroy);
>> + r = ttm_bo_init_reserved(&rdev->mman.bdev, &bo->tbo, size, type,
>> + &bo->placement, page_align, &ctx, sg, resv,
>> + &radeon_ttm_bo_destroy);
>> + if (!r)
>> + ttm_bo_unreserve(&bo->tbo);
>> +
> Hi Christian,
>
> I am not understanding this unreserve.
>
> The original code path does not have it. It looks like tt_bo_init will do this, but only if !resv.
>
> Should this be:
> if (!resv)
> ttm_bo_unreserve(&bo->tbo);
Ah, yes good point. That's a bug.
Thanks,
Christian.
>
> ?
>
> M
>
>
>> up_read(&rdev->pm.mclk_lock);
>> if (unlikely(r != 0)) {
>> return r;
>> --
>> 2.25.1
WARNING: multiple messages have this Message-ID (diff)
From: "Christian König" <christian.koenig@amd.com>
To: "Ruhl, Michael J" <michael.j.ruhl@intel.com>,
"Christian König" <ckoenig.leichtzumerken@gmail.com>,
"intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>
Cc: "matthew.william.auld@gmail.com" <matthew.william.auld@gmail.com>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH 01/11] drm/radeon: switch over to ttm_bo_init_reserved
Date: Thu, 19 May 2022 15:09:37 +0200 [thread overview]
Message-ID: <7edcae40-025a-b82e-f5ee-4c51bf6cc5a5@amd.com> (raw)
In-Reply-To: <DM5PR11MB1324EE629E070768A1E0E6ADC1D09@DM5PR11MB1324.namprd11.prod.outlook.com>
Am 19.05.22 um 14:54 schrieb Ruhl, Michael J:
>> -----Original Message-----
>> From: dri-devel <dri-devel-bounces@lists.freedesktop.org> On Behalf Of
>> Christian König
>> Sent: Thursday, May 19, 2022 5:55 AM
>> To: intel-gfx@lists.freedesktop.org
>> Cc: matthew.william.auld@gmail.com; Christian König
>> <christian.koenig@amd.com>; dri-devel@lists.freedesktop.org
>> Subject: [PATCH 01/11] drm/radeon: switch over to ttm_bo_init_reserved
>>
>> Use the new interface instead.
>>
>> Signed-off-by: Christian König <christian.koenig@amd.com>
>> ---
>> drivers/gpu/drm/radeon/radeon_object.c | 17 +++++++++++------
>> 1 file changed, 11 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/radeon/radeon_object.c
>> b/drivers/gpu/drm/radeon/radeon_object.c
>> index 6c4a6802ca96..1d414ff4ab0c 100644
>> --- a/drivers/gpu/drm/radeon/radeon_object.c
>> +++ b/drivers/gpu/drm/radeon/radeon_object.c
>> @@ -133,9 +133,12 @@ int radeon_bo_create(struct radeon_device *rdev,
>> struct dma_resv *resv,
>> struct radeon_bo **bo_ptr)
>> {
>> - struct radeon_bo *bo;
>> - enum ttm_bo_type type;
>> unsigned long page_align = roundup(byte_align, PAGE_SIZE) >>
>> PAGE_SHIFT;
>> +
>> + /* Kernel allocation are uninterruptible */
>> + struct ttm_operation_ctx ctx = { !kernel, false };
>> + enum ttm_bo_type type;
>> + struct radeon_bo *bo;
>> int r;
>>
>> size = ALIGN(size, PAGE_SIZE);
>> @@ -200,11 +203,13 @@ int radeon_bo_create(struct radeon_device *rdev,
>> #endif
>>
>> radeon_ttm_placement_from_domain(bo, domain);
>> - /* Kernel allocation are uninterruptible */
>> down_read(&rdev->pm.mclk_lock);
>> - r = ttm_bo_init(&rdev->mman.bdev, &bo->tbo, size, type,
>> - &bo->placement, page_align, !kernel, sg, resv,
>> - &radeon_ttm_bo_destroy);
>> + r = ttm_bo_init_reserved(&rdev->mman.bdev, &bo->tbo, size, type,
>> + &bo->placement, page_align, &ctx, sg, resv,
>> + &radeon_ttm_bo_destroy);
>> + if (!r)
>> + ttm_bo_unreserve(&bo->tbo);
>> +
> Hi Christian,
>
> I am not understanding this unreserve.
>
> The original code path does not have it. It looks like tt_bo_init will do this, but only if !resv.
>
> Should this be:
> if (!resv)
> ttm_bo_unreserve(&bo->tbo);
Ah, yes good point. That's a bug.
Thanks,
Christian.
>
> ?
>
> M
>
>
>> up_read(&rdev->pm.mclk_lock);
>> if (unlikely(r != 0)) {
>> return r;
>> --
>> 2.25.1
next prev parent reply other threads:[~2022-05-19 13:09 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-19 9:54 Christian König
2022-05-19 9:54 ` [PATCH 01/11] drm/radeon: switch over to ttm_bo_init_reserved Christian König
2022-05-19 12:54 ` [Intel-gfx] " Ruhl, Michael J
2022-05-19 12:54 ` Ruhl, Michael J
2022-05-19 13:09 ` Christian König [this message]
2022-05-19 13:09 ` Christian König
2022-05-19 9:54 ` [PATCH 02/11] drm/nouveau: " Christian König
2022-05-19 13:19 ` [Intel-gfx] " Ruhl, Michael J
2022-05-19 13:19 ` Ruhl, Michael J
2022-05-20 7:13 ` [Intel-gfx] " Christian König
2022-05-20 7:13 ` Christian König
2022-05-19 9:55 ` [PATCH 03/11] drm/vram-helper: " Christian König
2022-05-19 9:55 ` [PATCH 04/11] drm/ttm: move default BO destructor into VMWGFX Christian König
2022-05-19 13:36 ` [Intel-gfx] " Ruhl, Michael J
2022-05-19 13:36 ` Ruhl, Michael J
2022-05-20 7:14 ` [Intel-gfx] " Christian König
2022-05-20 7:14 ` Christian König
2022-05-19 9:55 ` [PATCH 05/11] drm/ttm: drop ttm_bo_init Christian König
2022-05-19 9:55 ` [PATCH 06/11] drm/ttm: rename and cleanup ttm_bo_init_reserved Christian König
2022-05-19 13:54 ` [Intel-gfx] " Ruhl, Michael J
2022-05-19 13:54 ` Ruhl, Michael J
2022-05-19 9:55 ` [PATCH 07/11] drm/amdgpu: audit bo->resource usage Christian König
2022-05-19 9:55 ` [PATCH 08/11] drm/nouveau: " Christian König
2022-05-19 9:55 ` [PATCH 09/11] drm/ttm: " Christian König
2022-05-19 14:15 ` [Intel-gfx] " Ruhl, Michael J
2022-05-19 14:15 ` Ruhl, Michael J
2022-05-19 9:55 ` [PATCH 10/11] drm/ttm: stop allocating dummy resources during BO creation Christian König
2022-05-20 7:02 ` [Intel-gfx] [drm/ttm] 47e8c5019b: BUG:kernel_NULL_pointer_dereference, address kernel test robot
2022-05-20 7:02 ` [drm/ttm] 47e8c5019b: BUG:kernel_NULL_pointer_dereference,address kernel test robot
2022-05-20 7:02 ` [drm/ttm] 47e8c5019b: BUG:kernel_NULL_pointer_dereference, address kernel test robot
2022-05-19 9:55 ` [PATCH 11/11] drm/ttm: stop allocating a dummy resource for pipelined gutting Christian König
2022-05-19 10:50 ` [Intel-gfx] (no subject) Matthew Auld
2022-05-19 10:50 ` Matthew Auld
2022-05-20 7:11 ` Re: Christian König
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=7edcae40-025a-b82e-f5ee-4c51bf6cc5a5@amd.com \
--to=christian.koenig@amd.com \
--cc=ckoenig.leichtzumerken@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=michael.j.ruhl@intel.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.