From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 99116C433ED for ; Mon, 3 May 2021 14:38:43 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 6363D611AE for ; Mon, 3 May 2021 14:38:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229839AbhECOje (ORCPT ); Mon, 3 May 2021 10:39:34 -0400 Received: from outgoing-auth-1.mit.edu ([18.9.28.11]:52533 "EHLO outgoing.mit.edu" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S229835AbhECOjT (ORCPT ); Mon, 3 May 2021 10:39:19 -0400 Received: from cwcc.thunk.org (pool-72-74-133-215.bstnma.fios.verizon.net [72.74.133.215]) (authenticated bits=0) (User authenticated as tytso@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 143EcCRA007521 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 3 May 2021 10:38:13 -0400 Received: by cwcc.thunk.org (Postfix, from userid 15806) id 471AD15C39C4; Mon, 3 May 2021 10:38:12 -0400 (EDT) Date: Mon, 3 May 2021 10:38:12 -0400 From: "Theodore Ts'o" To: "Maciej W. Rozycki" Cc: Linus Torvalds , Tom Stellard , Nick Desaulniers , Masahiro Yamada , Nathan Chancellor , Linux Kernel Mailing List , clang-built-linux , Fangrui Song , Serge Guelton , Sylvestre Ledru Subject: Re: Very slow clang kernel config .. Message-ID: References: <1c5e05fa-a246-9456-ff4e-287960acb18c@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, May 03, 2021 at 03:03:31AM +0200, Maciej W. Rozycki wrote: > > People went through great efforts to support shared libraries, sacrificed > performance for it even back then when the computing power was much lower > than nowadays. That was because memory was *incredibly* restrictive in those days. My first Linux server had one gig of memory, and so shared libraries provided a huge performance boost --- because otherwise systems would be swapping or paging their brains out. However, these days, many if not most developers aren't capable of the discpline needed to maintained the ABI stability needed for shared libraries to work well. I can think several packages where if you used shared libraries, the major version number would need to be bumped at every releases, because people don't know how to spell ABI, never mind be able to *preserve* ABI. Heck, it's the same reason that we don't promise kernel ABI compatibility for kernel modules! https://www.kernel.org/doc/Documentation/process/stable-api-nonsense.rst And in the case of Debian, use of shared libraries means that every time you release a new version of, say, f2fs-tools, things can get stalled for months or in one case, over a year, due to the new package review process (a shared library version bump means a new binary package, and that in turn requires a full review of the entire source package for GPL compliance from scratch, and f2fs-tools has bumped their shared library major version *every* *single* *release*) --- during which time, security bug fixes were being held up due to the new package review tarpit. If people could actually guarantee stable ABI's, then shared libraries might make sense. E2fsprogs hasn't had a major version bump in shared libraries for over a decade (although some developers whine and complain about how I reject function signature changes in the libext2fs library to provide that ABI stability). But how many userspace packages can make that claim? - Ted