Hi all,
Today's linux-next merge of the amdgpu tree got a conflict in:
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
between commit:
fee2ede15542 ("drm/ttm: rework bulk move handling v5")
from the drm-misc tree and commit:
184a69ca4d41 ("drm/amdgpu: separate VM PT handling into amdgpu_vm_pt.c")
from the amdgpu tree.
I fixed it up (I used this file from the latter and added the following
patch) and can carry the fix as necessary. This is now fixed as far as
linux-next is concerned, but any non trivial conflicts should be mentioned
to your upstream maintainer when your tree is submitted for merging.
You may also want to consider cooperating with the maintainer of the
conflicting tree to minimise any particularly complex conflicts.
From: Stephen Rothwell <[email protected]>
Date: Wed, 6 Apr 2022 10:28:53 +1000
Subject: [PATCH] fix up for "drm/ttm: rework bulk move handling v5"
Signed-off-by: Stephen Rothwell <[email protected]>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c
index 958d7ed97882..a29933fa001f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c
@@ -630,7 +630,14 @@ static void amdgpu_vm_pt_free(struct amdgpu_vm_bo_base *entry)
if (!entry->bo)
return;
+
shadow = amdgpu_bo_shadowed(entry->bo);
+ if (shadow) {
+ ttm_bo_set_bulk_move(&shadow->tbo, NULL);
+ amdgpu_bo_unref(&shadow);
+ }
+
+ ttm_bo_set_bulk_move(&entry->bo->tbo, NULL);
entry->bo->vm_bo = NULL;
list_del(&entry->vm_status);
amdgpu_bo_unref(&shadow);
@@ -653,8 +660,6 @@ static void amdgpu_vm_pt_free_dfs(struct amdgpu_device *adev,
struct amdgpu_vm_pt_cursor cursor;
struct amdgpu_vm_bo_base *entry;
- vm->bulk_moveable = false;
-
for_each_amdgpu_vm_pt_dfs_safe(adev, vm, start, cursor, entry)
amdgpu_vm_pt_free(entry);
--
2.35.1
--
Cheers,
Stephen Rothwell
Hi all,
On Wed, 6 Apr 2022 10:34:05 +1000 Stephen Rothwell <[email protected]> wrote:
>
> Today's linux-next merge of the amdgpu tree got a conflict in:
>
> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>
> between commit:
>
> fee2ede15542 ("drm/ttm: rework bulk move handling v5")
>
> from the drm-misc tree and commit:
>
> 184a69ca4d41 ("drm/amdgpu: separate VM PT handling into amdgpu_vm_pt.c")
>
> from the amdgpu tree.
>
> I fixed it up (I used this file from the latter and added the following
> patch) and can carry the fix as necessary. This is now fixed as far as
> linux-next is concerned, but any non trivial conflicts should be mentioned
> to your upstream maintainer when your tree is submitted for merging.
> You may also want to consider cooperating with the maintainer of the
> conflicting tree to minimise any particularly complex conflicts.
>
> From: Stephen Rothwell <[email protected]>
> Date: Wed, 6 Apr 2022 10:28:53 +1000
> Subject: [PATCH] fix up for "drm/ttm: rework bulk move handling v5"
>
> Signed-off-by: Stephen Rothwell <[email protected]>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c
> index 958d7ed97882..a29933fa001f 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c
> @@ -630,7 +630,14 @@ static void amdgpu_vm_pt_free(struct amdgpu_vm_bo_base *entry)
>
> if (!entry->bo)
> return;
> +
> shadow = amdgpu_bo_shadowed(entry->bo);
> + if (shadow) {
> + ttm_bo_set_bulk_move(&shadow->tbo, NULL);
> + amdgpu_bo_unref(&shadow);
> + }
> +
> + ttm_bo_set_bulk_move(&entry->bo->tbo, NULL);
> entry->bo->vm_bo = NULL;
> list_del(&entry->vm_status);
> amdgpu_bo_unref(&shadow);
> @@ -653,8 +660,6 @@ static void amdgpu_vm_pt_free_dfs(struct amdgpu_device *adev,
> struct amdgpu_vm_pt_cursor cursor;
> struct amdgpu_vm_bo_base *entry;
>
> - vm->bulk_moveable = false;
> -
> for_each_amdgpu_vm_pt_dfs_safe(adev, vm, start, cursor, entry)
> amdgpu_vm_pt_free(entry);
>
> --
> 2.35.1
This is now a conflict between the drm tree and the amdgpu tree.
--
Cheers,
Stephen Rothwell
Am 29.04.22 um 03:13 schrieb Stephen Rothwell:
> Hi all,
>
> On Wed, 13 Apr 2022 10:10:14 +1000 Stephen Rothwell <[email protected]> wrote:
>> On Wed, 6 Apr 2022 10:34:05 +1000 Stephen Rothwell <[email protected]> wrote:
>>> Today's linux-next merge of the amdgpu tree got a conflict in:
>>>
>>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>>>
>>> between commit:
>>>
>>> fee2ede15542 ("drm/ttm: rework bulk move handling v5")
>>>
>>> from the drm-misc tree and commit:
>>>
>>> 184a69ca4d41 ("drm/amdgpu: separate VM PT handling into amdgpu_vm_pt.c")
>>>
>>> from the amdgpu tree.
>>>
>>> I fixed it up (I used this file from the latter and added the following
>>> patch) and can carry the fix as necessary. This is now fixed as far as
>>> linux-next is concerned, but any non trivial conflicts should be mentioned
>>> to your upstream maintainer when your tree is submitted for merging.
>>> You may also want to consider cooperating with the maintainer of the
>>> conflicting tree to minimise any particularly complex conflicts.
>>>
>>> From: Stephen Rothwell <[email protected]>
>>> Date: Wed, 6 Apr 2022 10:28:53 +1000
>>> Subject: [PATCH] fix up for "drm/ttm: rework bulk move handling v5"
>>>
>>> Signed-off-by: Stephen Rothwell <[email protected]>
>>> ---
>>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c | 9 +++++++--
>>> 1 file changed, 7 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c
>>> index 958d7ed97882..a29933fa001f 100644
>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c
>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c
>>> @@ -630,7 +630,14 @@ static void amdgpu_vm_pt_free(struct amdgpu_vm_bo_base *entry)
>>>
>>> if (!entry->bo)
>>> return;
>>> +
>>> shadow = amdgpu_bo_shadowed(entry->bo);
>>> + if (shadow) {
>>> + ttm_bo_set_bulk_move(&shadow->tbo, NULL);
>>> + amdgpu_bo_unref(&shadow);
>>> + }
>>> +
>>> + ttm_bo_set_bulk_move(&entry->bo->tbo, NULL);
>>> entry->bo->vm_bo = NULL;
>>> list_del(&entry->vm_status);
>>> amdgpu_bo_unref(&shadow);
>>> @@ -653,8 +660,6 @@ static void amdgpu_vm_pt_free_dfs(struct amdgpu_device *adev,
>>> struct amdgpu_vm_pt_cursor cursor;
>>> struct amdgpu_vm_bo_base *entry;
>>>
>>> - vm->bulk_moveable = false;
>>> -
>>> for_each_amdgpu_vm_pt_dfs_safe(adev, vm, start, cursor, entry)
>>> amdgpu_vm_pt_free(entry);
>>>
>>> --
>>> 2.35.1
>> This is now a conflict between the drm tree and the amdgpu tree.
> I noticed that commit 184a69ca4d41 was merged into the drm tree but
> only the second hunk of this merge fixup was applied. So is the first
> hunk above unnecessary?
Ah! Thanks a lot for noticing this.
And the hunk is absolutely necessary and we already have a bug report
that it is missing wondering why I can't reproduce this.
Thanks,
Christian.
Hi all,
On Wed, 13 Apr 2022 10:10:14 +1000 Stephen Rothwell <[email protected]> wrote:
>
> On Wed, 6 Apr 2022 10:34:05 +1000 Stephen Rothwell <[email protected]> wrote:
> >
> > Today's linux-next merge of the amdgpu tree got a conflict in:
> >
> > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> >
> > between commit:
> >
> > fee2ede15542 ("drm/ttm: rework bulk move handling v5")
> >
> > from the drm-misc tree and commit:
> >
> > 184a69ca4d41 ("drm/amdgpu: separate VM PT handling into amdgpu_vm_pt.c")
> >
> > from the amdgpu tree.
> >
> > I fixed it up (I used this file from the latter and added the following
> > patch) and can carry the fix as necessary. This is now fixed as far as
> > linux-next is concerned, but any non trivial conflicts should be mentioned
> > to your upstream maintainer when your tree is submitted for merging.
> > You may also want to consider cooperating with the maintainer of the
> > conflicting tree to minimise any particularly complex conflicts.
> >
> > From: Stephen Rothwell <[email protected]>
> > Date: Wed, 6 Apr 2022 10:28:53 +1000
> > Subject: [PATCH] fix up for "drm/ttm: rework bulk move handling v5"
> >
> > Signed-off-by: Stephen Rothwell <[email protected]>
> > ---
> > drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c | 9 +++++++--
> > 1 file changed, 7 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c
> > index 958d7ed97882..a29933fa001f 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c
> > @@ -630,7 +630,14 @@ static void amdgpu_vm_pt_free(struct amdgpu_vm_bo_base *entry)
> >
> > if (!entry->bo)
> > return;
> > +
> > shadow = amdgpu_bo_shadowed(entry->bo);
> > + if (shadow) {
> > + ttm_bo_set_bulk_move(&shadow->tbo, NULL);
> > + amdgpu_bo_unref(&shadow);
> > + }
> > +
> > + ttm_bo_set_bulk_move(&entry->bo->tbo, NULL);
> > entry->bo->vm_bo = NULL;
> > list_del(&entry->vm_status);
> > amdgpu_bo_unref(&shadow);
> > @@ -653,8 +660,6 @@ static void amdgpu_vm_pt_free_dfs(struct amdgpu_device *adev,
> > struct amdgpu_vm_pt_cursor cursor;
> > struct amdgpu_vm_bo_base *entry;
> >
> > - vm->bulk_moveable = false;
> > -
> > for_each_amdgpu_vm_pt_dfs_safe(adev, vm, start, cursor, entry)
> > amdgpu_vm_pt_free(entry);
> >
> > --
> > 2.35.1
>
> This is now a conflict between the drm tree and the amdgpu tree.
I noticed that commit 184a69ca4d41 was merged into the drm tree but
only the second hunk of this merge fixup was applied. So is the first
hunk above unnecessary?
--
Cheers,
Stephen Rothwell