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

From: Daniel Vetter
Date: Wed Mar 08 2017 - 07:14:32 EST


On Wed, Mar 08, 2017 at 12:16:45PM +1100, Stephen Rothwell wrote:
> Hi Paul,
>
> After merging the rcu tree, today's linux-next build (x86_64 allmodconfig)
> failed like this:
>
> In file included from include/linux/resource_ext.h:19:0,
> from include/linux/pci.h:32,
> from include/drm/drmP.h:50,
> from drivers/gpu/drm/i915/i915_gem.c:28:
> drivers/gpu/drm/i915/selftests/mock_gem_device.c: In function 'mock_gem_device':
> drivers/gpu/drm/i915/selftests/mock_gem_device.c:177:9: error: 'SLAB_DESTROY_BY_RCU' undeclared (first use in this function)
> SLAB_DESTROY_BY_RCU);
> ^
> include/linux/slab.h:149:4: note: in definition of macro 'KMEM_CACHE'
> (__flags), NULL)
> ^
> drivers/gpu/drm/i915/selftests/mock_gem_device.c:177:9: note: each undeclared identifier is reported only once for each function it appears in
> SLAB_DESTROY_BY_RCU);
> ^
> include/linux/slab.h:149:4: note: in definition of macro 'KMEM_CACHE'
> (__flags), NULL)
> ^
> /
>
> Caused by commit
>
> 24b7cb25b8d1 ("mm: Rename SLAB_DESTROY_BY_RCU to SLAB_TYPESAFE_BY_RCU")

Awesome rename. Count us in among the people who first thought this
provides more guarantees than it does.

> interacting with commit
>
> 0daf0113cff6 ("drm/i915: Mock infrastructure for request emission")
>
> from the drm-intel tree.
>
> I added the following merge fix patch:
>
> From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> Date: Wed, 8 Mar 2017 12:09:49 +1100
> Subject: [PATCH] drm/i915: merge fix for "mm: Rename SLAB_DESTROY_BY_RCU to
> SLAB_TYPESAFE_BY_RCU"
>
> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>

Should we handle this with a topic branch? It's trivial to resolve, but I
fear the note that this conflict exists might get lost somewhere between
now and when the drm pull lands in Linus' inbox in 2 months ...

Otoh he's probably going to compile test drm extra carefully and will
notice :-)
-Daniel

> ---
> drivers/gpu/drm/i915/selftests/mock_gem_device.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/selftests/mock_gem_device.c b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
> index 6a8258eacdcb..9f24c5da3f8d 100644
> --- a/drivers/gpu/drm/i915/selftests/mock_gem_device.c
> +++ b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
> @@ -174,7 +174,7 @@ struct drm_i915_private *mock_gem_device(void)
> i915->requests = KMEM_CACHE(mock_request,
> SLAB_HWCACHE_ALIGN |
> SLAB_RECLAIM_ACCOUNT |
> - SLAB_DESTROY_BY_RCU);
> + SLAB_TYPESAFE_BY_RCU);
> if (!i915->requests)
> goto err_vmas;
>
> --
> 2.11.0
>
> --
> Cheers,
> Stephen Rothwell

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch