Re: [PATCH 3/4] ndctl: switch to tools/include/linux/{kernel, list, bitmap}.h

From: Dan Williams
Date: Wed Jul 26 2017 - 12:03:16 EST


On Wed, Jul 26, 2017 at 4:29 AM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
>
> * Dan Williams <dan.j.williams@xxxxxxxxx> wrote:
>
>> On Tue, Jul 25, 2017 at 4:55 PM, Arnaldo Carvalho de Melo
>> <acme@xxxxxxxxxx> wrote:
>> > Em Tue, Jul 25, 2017 at 03:36:26PM -0700, Dan Williams escreveu:
>> >> Replace the ccan implementation of list primitives, bitmap helpers and
>> >> small utility macros with the common definitions available in
>> >> tool/include/linux.
>> >
>> > You should first add what you need in separate patches, paving the way
>> > to then use it, and some stuff are already there, see below:
>>
>> Ok, I'll break out those changes separately.
>
> BTW., another general observation I have is that ndctl uses autotools - while perf
> uses its own build system, some of which is abstracted out into tools/build/ and
> reused by other tooling projects as well.
>
> I despise autotools with a passion, it's slow, bloated, and encourages all sorts
> of bad API/ABI practices that plagues many OSS projects. I know that Linus
> explicitly did a Makefile based build system for Git for (I think) similar
> reasons.
>
> It might be a good idea to not let autotools into the kernel tooling tree, not
> because ndctl's use of autotools is bad in any fashion (it appears to be a fairly
> straightforward use), but to generally encourage good API/ABI practices in our
> tooling space, and to encourage enhancements to the tools/build/ infrastructure.

That's a fair point. Regardless, autotools will be in the git history,
but if you'd like to see the final merge product eliminate its use, I
can't really argue otherwise. I was originally not concerned because
tools/usb/usbip/ was an existing in tree autotools user. In any event
if you want the autotools removal to be done out-of-tree I'll need to
put this effort on the back burner until 4.15.