Re: [RFC PATCH v6 1/5] Thread-local ABI system call: cache CPU number of running thread

From: Linus Torvalds
Date: Thu Apr 07 2016 - 12:59:43 EST


On Thu, Apr 7, 2016 at 9:50 AM, Florian Weimer <fweimer@xxxxxxxxxx> wrote:
>
> (AFAICS set_robust_list was designed with such extensions in mind.)

This is a disease among people who have been taught computer science.
People think that "designing with extensions in mind" is a good idea.

It's a _horrible_ idea.

If you think that "design with extensions in mind" is a good idea,
you're basically saying "I don't know what I might want to do".

I'm not interested in those kinds of kernel interfaces. EVERY SINGLE
TIME when we add a new random non-standard interface that isn't
already used by lots and lots of people, the end result is the same:
nobody actually uses it. There might be one or two very obscure
libraries that use it, and then a couple of special applications that
use those libraries. And that's it.

So unless there is a clear use-case, and clear semantics that people
can agree on as being truly generic and useful for a lot of different
cases, excuse me for being less than impressed.

Anything with a "let's add feature fields" is broken shit. BY DEFINITION.

See my argument?

And btw, ask yourself how well that set_robust_list() extension worked?

(Answer sheet to the above question: it was pure garbage. Instead of
actually ever being extended, the "struct robust_list_head" not only
is fixed, it was horribly misdesigned to the point of requiring a
compat system call. Pure garbage, in other words, and an example of
how *not* to do user interfaces).

Linus