Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com [209.85.218.53]) by nld3-dev1.alpinelinux.org (Postfix) with ESMTPS id DC63F781331 for <~alpine/devel@lists.alpinelinux.org>; Wed, 22 Jun 2022 12:04:23 +0000 (UTC) Received: by mail-ej1-f53.google.com with SMTP id ge10so2206435ejb.7 for <~alpine/devel@lists.alpinelinux.org>; Wed, 22 Jun 2022 05:04:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=SANTznNZZ/8exgDvzk+COo2dRKvrolI707DgWeEOOmc=; b=WTVeHAYVoRb+IW9H3kjvuH00bMYL8yJ+p/q2hhbJ7Bfk4inLDa4VTonTzx2/nEZiaI nTyzlTZHTlxY/JEZVXnF/2RJrPsq7M7qNm1BfOrOZD7RGPlng1v3xbfxUjwUVWjvNSbv 1dJZXEGCRRntjG9RM2/QcXNGsFMYs9WEyp717AjerQN1ioKKfV8g+YST2KRUUdT76iYB 3cUjO7YAKQ7OjlARWKXXbocrNl3XVOG8oI62BhEoe1Ip3JajNXd5oT9zdM8U0WRfhiXf es7qgQWOaqu7Vnby0o5E2/Rqr/n2kiJ4+ksutFxGkB3Cyu+TQQDdHSwjqZOPlQ1Rte9K 7RFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=SANTznNZZ/8exgDvzk+COo2dRKvrolI707DgWeEOOmc=; b=rfJjZTkIv0Xx+HcYpzmj8yfadSJtnGUCGGP6SthhVy91/PgrhKPKYIjjopVPY2hYcD kI2u2cE2UxiTQJTdVy1W4DVUZHHrHCYJ98XMu3O+opf3ZOa1tn2ca7OFdSMGtnZE4rHD ASU8Ob98J6TWCjVlnl9WshyfItBcEYN+SjsH25lFAGWMsMkMeRRKlTx0BAdjr9RbNpuN 9pSZAAFVsO7EG6ZvAaGV3Lyc1ISoEccnka9ymHtdYOSZ7co8igJzEERXAl9pq9TH8SZr +0u8ViWOeyLYN1KtYehfG/CZwnJ50fmBWPlusXC2DcJXcdqTGjzOv7KkhuD15f8bibFa 2UHw== X-Gm-Message-State: AJIora8LrSA+sHlrD6kcruTfO7vxna1NMZ5O0kxssCbPl4xAw+9o6vb+ 9lh9df1CjsofvFo2QT+XSW8MPqBQx/Tv5quHF725D9O4EXw= X-Google-Smtp-Source: AGRyM1sgqRQUt+b+iircLAZ93Dl61EfwLAAz1/ZT7mJu8q9HLFo3BU5n4PFyNWEBsvepuovYosuuA6hw2Imih9thMUs= X-Received: by 2002:a17:907:910e:b0:722:f983:2abb with SMTP id p14-20020a170907910e00b00722f9832abbmr860020ejq.166.1655899463495; Wed, 22 Jun 2022 05:04:23 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Tomas Kolda Date: Wed, 22 Jun 2022 14:04:12 +0200 Message-ID: Subject: Re: Native Alpine GLibc support (NEW) To: Ariadne Conill Cc: ~alpine/devel@lists.alpinelinux.org Content-Type: text/plain; charset="UTF-8" > Yes, I have written about this before[0]. Mixing glibc and musl > environments will lead to instability -- this can be overcome with proper > multi-arch support, but we have not implemented this in Alpine yet (and > apk-tools would need some minor changes to the solver to become > multi-arch aware). > I know. That is why I want to have glibc build. Many JNI dependencies in Java is glibc based for example. It is really hard to keep up. > > Locks in musl are done with atomics. The advantage is probably due to the > fact that glibc has lock elision, which musl does not yet have. > Investigating the addition of lock elision to musl is on my list of things > to do eventually. > > Which JVM are you using? OpenJDK 17 and later have their own internal > implementation of lock elision for Java/JNI locks, which should improve > performance. > I tried JDK 8, 11, 17. Latest versions. No difference. Yes it is in futex as you said. From user perspective it matters, because it is 5 times slower. As I said I do not believe MUSL can dramatically change pthread implementation as it is most sensitive part and very hard to test. It is very long run. > - customize hundreds of APKBUILDs which will require the cooperation of > package maintainers (who may be skeptical) I do not agree with this. Most changes in that 300 set was in the basic packages that was requiring MUSL tweaks. There will be less tweaks after we will go further as more complex applications are using libraries that are solved already. Anyway even from statistical perspective it is 17 changes for 300 packages -> 5-6%. I am not sure how many packages are in Alpine, but we can extrapolate. I also do not agree that someone would just for one "if" be pushing change out. There are many patches for all other reasons. I am positive that people tend to help others. And this change does not generate any work for them if they will not need to support it. They will just try to keep it in working way. > > Speaking in personal capacity, I do not think the Alpine TSC will approve > this proposal because the project is already overwhelmed with work to do. > Agree. I think that for start it would be great to at least allow "if" patches to be able to merge it. It will be noop for Alpine. See example changes here: https://github.com/koldat/alpine/pull/1