Re: linux-next: build failure after merge of the hmm tree

From: Jason Gunthorpe
Date: Mon Jul 01 2019 - 19:10:46 EST


On Mon, Jul 01, 2019 at 09:33:04PM +1000, Stephen Rothwell wrote:
> Hi all,
>
> After merging the hmm tree, today's linux-next build (x86_64 allmodconfig)
> failed like this:
>
> mm/hmm.c: In function 'hmm_get_or_create':
> mm/hmm.c:50:2: error: implicit declaration of function 'lockdep_assert_held_exclusive'; did you mean 'lockdep_assert_held_once'? [-Werror=implicit-function-declaration]
> lockdep_assert_held_exclusive(&mm->mmap_sem);
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> lockdep_assert_held_once
> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c: In function 'amdgpu_ttm_tt_get_user_pages':
> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:778:28: error: passing argument 2 of 'hmm_range_register' from incompatible pointer type [-Werror=incompatible-pointer-types]
> hmm_range_register(range, mm, start,
> ^~
> In file included from drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:35:
> include/linux/hmm.h:464:29: note: expected 'struct hmm_mirror *' but argument is of type 'struct mm_struct *'
> struct hmm_mirror *mirror,
> ~~~~~~~~~~~~~~~~~~~^~~~~~
>
> Caused by commit
>
> e36acfe6c86d ("mm/hmm: Use hmm_mirror not mm as an argument for hmm_range_register")
>
> interacting with commit
>
> 66c45500bfdc ("drm/amdgpu: use new HMM APIs and helpers")
>
> from the drm tree.
>
> All I could do for now was to mark the AMDGPU driver broken. Please
> submit a merge for for me (and later Linus) to use.

This is expected, the AMD guys have the resolution for this from when
they tested hmm.git..

I think we are going to have to merge hmm.git into the amdgpu tree and
push the resolution forward, as it looks kind of complicated to shift
onto Linus or DRM.

Probably amdgpu needs to gain a few patches making the hmm_mirror
visible to amdgpu_ttm.c and then the merge resolution will be simple?

AMD/DRM we have a few days left to decide on how best to handle the
conflict, thanks.

Regards,
Jason