Subject: Re: linux-next: build failure after merge of the akpm-current tree

From: Ingo Molnar <[email-masked]>
Date: Mon, 11 Jan 2016 12:39:34 +0100

[Cc:-ed perf tooling guys as well.]

* Stephen Rothwell <[email-masked]> wrote:

> Hi Andrew,
> 
> After merging the akpm-current tree, today's linux-next build (perf)
> failed like this:
> 
> In file included from /home/sfr/next/next/tools/include/linux/list.h:5:0,
>                  from arch/../util/map.h:6,
>                  from arch/../util/event.h:8,
>                  from arch/../util/debug.h:7,
>                  from arch/common.c:4:
> /home/sfr/next/next/tools/include/linux/../../../include/linux/list.h: In function 'list_force_poison':
> /home/sfr/next/next/tools/include/linux/../../../include/linux/list.h:123:56: error: unused parameter 'entry' [-Werror=unused-parameter]
>  static inline void list_force_poison(struct list_head *entry)
>                                                         ^
> 
> and many more like that.
> 
> Caused by commit
> 
>   a471eb786598 ("mm, dax, pmem: introduce {get|put}_dev_pagemap() for dax-gup")
> 
> I just left the perf build broken for today.

So I think it's time to create a tooling copy of list.h as well, to decouple 
tooling and kernel side uses of list.h.

We could do the same trick as with tools/lib/rbtree.c and 
tools/include/linux/rbtree.h: create a copy, and use 'diff' during tools build to 
generate a (non-fatal) warning if the two versions diverge.

This makes sure that tooling always syncs up with kernel side changes - without 
creating hard build failure dependencies.

Thanks,

	Ingo