Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757056AbcDGQ7k (ORCPT ); Thu, 7 Apr 2016 12:59:40 -0400 Received: from mail-ig0-f196.google.com ([209.85.213.196]:34861 "EHLO mail-ig0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756199AbcDGQ7i (ORCPT ); Thu, 7 Apr 2016 12:59:38 -0400 MIME-Version: 1.0 In-Reply-To: <57068FCC.8000701@redhat.com> References: <1459789313-4917-1-git-send-email-mathieu.desnoyers@efficios.com> <1459789313-4917-2-git-send-email-mathieu.desnoyers@efficios.com> <5702A037.60200@zytor.com> <492303698.44994.1459799188052.JavaMail.zimbra@efficios.com> <856357054.45028.1459802903401.JavaMail.zimbra@efficios.com> <5703E191.2040707@redhat.com> <20160405164722.GB3430@twins.programming.kicks-ass.net> <570621E5.7060306@redhat.com> <20160407103158.GP3430@twins.programming.kicks-ass.net> <570638D9.7010108@redhat.com> <20160407111938.GR3430@twins.programming.kicks-ass.net> <57068FCC.8000701@redhat.com> Date: Thu, 7 Apr 2016 09:59:36 -0700 X-Google-Sender-Auth: 9zwHjVMgueyBU600QQWW-PxVE1o Message-ID: Subject: Re: [RFC PATCH v6 1/5] Thread-local ABI system call: cache CPU number of running thread From: Linus Torvalds To: Florian Weimer Cc: Peter Zijlstra , Mathieu Desnoyers , "H. Peter Anvin" , Andrew Morton , Russell King , Thomas Gleixner , Ingo Molnar , Linux Kernel Mailing List , linux-api , Paul Turner , Andrew Hunter , Andy Lutomirski , Andi Kleen , Dave Watson , Chris Lameter , Ben Maurer , rostedt , "Paul E. McKenney" , Josh Triplett , Catalin Marinas , Will Deacon , Michael Kerrisk , Boqun Feng Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1503 Lines: 36 On Thu, Apr 7, 2016 at 9:50 AM, Florian Weimer 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