回复:Long_time_outdated_jemalloc

From: ‪‪‪yu shan wei‬‬‬ <mpysw_at_vip.163.com>
Date: Sun, 01 Dec 2024 10:28:04 UTC
<div dir="auto">真是个好消息,希望能早点升级到5.3.0<br><br><br><br><br><div id="hw_signature">发自我的手机</div></div><div style="line-height:1.5"><br><br>-------- 原始邮件 --------<br>发件人: Warner Losh &lt;imp@bsdimp.com&gt;<br>日期: 2024年12月1日周日 15:05<br>收件人: Minsoo Choo &lt;minsoochoo0122@proton.me&gt;<br>抄送: cglogic &lt;cglogic@protonmail.com&gt;, FreeBSD CURRENT &lt;freebsd-current@freebsd.org&gt;<br>主    题: Re: Long time outdated jemalloc<br><blockquote><div dir="ltr"><div dir="ltr">(sorry to follow up to my own email and topposting)</div><div dir="ltr"><br /></div><div>I got the vendor branch bootstrapped: I created vendor/jemalloc and tagged vendor/jemalloc/5.2.1,</div><div>and created a merge commit from that branch to main. I had to tweak the</div><div>FREEBSD-Xlist a little.I&#39;ve not updated the other two FREEBSD-* files, but the steps were</div><div>documented in the commit messages (the vendor branch one is especially long and</div><div>likely should migrate into the developer handbook). FREEBSD-update is basically</div><div>a shell script to do the same thing that git subtree merge does, though I&#39;m sure some</div><div>tweaks could help the next time (if there is a next time, jemalloc upstream seems to</div><div>have slowed way down of late).</div><div><br /></div><div>Next up,I&#39;ll create 5.3.0 import on the vendor branch, do the merge and start testing (it will be</div><div>Minsoo&#39;s pull request, rebased, with any conflicts resolved and merge commit recorded).</div><div>But that will have to be tomorrow or more likely during the work week. I&#39;m too tired tonight</div><div>to get it right at the moment.</div><div><br /></div><div>And a special thanks to emaste for giving bz the right recipe for doing the subtree merge</div><div>w/o git subtree for his work on the linux wifi drivers in the tree.</div><div><br /></div><div>Warner</div><br /><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Sat, Nov 30, 2024 at 9:38 PM Warner Losh &lt;<a href="mailto:imp@bsdimp.com">imp@bsdimp.com</a>&gt; wrote:<br /></div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb( 204 , 204 , 204 );padding-left:1ex"><div dir="ltr">Yea, I need to get a copy of jemalloc 5.3.0 and 5.2.1 to try to &#39;bootstrap&#39; the vendor branch.<div>Then I need to bootstrap it...</div><div><br /></div><div>I just did the same with edk2 (which had a vendor branch, but hadn&#39;t been updated since svn times).</div><div>However, jemalloc doesn&#39;t have a vendor branch yet, so I&#39;ll have to create that, but I&#39;ll start with the</div><div>current version rather than doing full history...  So I&#39;ll start there.</div><div>I also just did awk and lua, so once I have things bootstrapped, I&#39;ll be able to add 5.3.0 and then layer Minsoo&#39;s  on</div><div>top of that and then start testing it somehow.</div><div><br /></div><div>Malloc makes me nervous to touch, honestly, but I&#39;ll give it a go and test boot on my system and</div><div>maybe see if we can survive a workload at work w/o regressions... But I can&#39;t do a full test with lots<br /></div><div>of machines until after the first of the year (though I can do a couple for a few days before then).</div><div><br /></div><div>So my next step is to bootstrap the vendor branch... I&#39;ll give that a try tonight.</div><div><br /></div><div>Warner</div></div><br /><div class="gmail_quote elided-text"><div dir="ltr" class="gmail_attr">On Sat, Nov 30, 2024 at 8:26 PM Minsoo Choo &lt;<a href="mailto:minsoochoo0122@proton.me">minsoochoo0122@proton.me</a>&gt; wrote:<br /></div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb( 204 , 204 , 204 );padding-left:1ex"><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px;color:rgb( 0 , 0 , 0 );background-color:rgb( 255 , 255 , 255 )">I have already submitted PR on github (<a href="https://github.com/freebsd/freebsd-src/pull/1337">https://github.com/freebsd/freebsd-src/pull/1337</a>) and phabricator (<a href="https://reviews.freebsd.org/D41421">https://reviews.freebsd.org/D41421</a>). I don&#39;t have access (commit bit) to freebsd git repo, so there is nothing I can do at this point since vendor import and landing patches requires commit bit.<br /></div><div>
        On Saturday, November 30th, 2024 at 1:42 PM, cglogic &lt;<a href="mailto:cglogic@protonmail.com">cglogic@protonmail.com</a>&gt; wrote:<br />
        <blockquote>
            <div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px">I see, it happens.</div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px">Maybe another committer will volunteer to do the update.<div>I hope it will make its way into 15.0 release.</div><div><br /></div><div>Thanks.</div></div><div>
        On Friday, November 29th, 2024 at 9:38 PM, Warner Losh &lt;<a href="mailto:imp@bsdimp.com">imp@bsdimp.com</a>&gt; wrote:<br />
        <blockquote>
            <div dir="ltr">I&#39;ve been swamped. we need to bootstrap the vendor branch, and the way prior updates were done<div>isn&#39;t so great. </div><div><br /></div><div>Warner</div></div><br /><div class="gmail_quote elided-text"><div dir="ltr" class="gmail_attr">On Mon, Nov 25, 2024 at 2:21 AM cglogic &lt;<a href="mailto:cglogic@protonmail.com">cglogic@protonmail.com</a>&gt; wrote:<br /></div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb( 204 , 204 , 204 );padding-left:1ex"><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px">Hello guys,</div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px"><br /></div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px">How the update of jemalloc is going? It&#39;s November now.</div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px"><br /></div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px">Thanks.</div><div>
        On Monday, July 22nd, 2024 at 7:02 PM, Minsoo Choo &lt;<a href="mailto:minsoochoo0122@proton.me">minsoochoo0122@proton.me</a>&gt; wrote:<br />
        <blockquote>
            <div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px">First, sorry for late response.</div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px"><br /></div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px">cglogic, thank you for bringing up this issue again since I nearly forgot that this issue was still open.</div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px"><br /></div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px">Warner, as I can&#39;t access to my FreeBSD instance until the end of August, but I can still edit and push the code through my Arm Mac. This means that I can&#39;t test the updated code on my machine, but I can join the review process and listen to change proposals.</div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px"><br /></div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px">I&#39;ll open a Github PR in a few hours. (The phabricator review will stay opened just in case)</div><div>
        On Monday, July 22nd, 2024 at 5:08 AM, Warner Losh &lt;<a href="mailto:imp@bsdimp.com">imp@bsdimp.com</a>&gt; wrote:<br />
        <blockquote>
            <div dir="ltr"><div dir="ltr"><br /></div><br /><div class="gmail_quote elided-text"><div dir="ltr" class="gmail_attr">On Sun, Jul 21, 2024 at 2:03 PM cglogic &lt;<a href="mailto:cglogic@protonmail.com">cglogic@protonmail.com</a>&gt; wrote:<br /></div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb( 204 , 204 , 204 );padding-left:1ex"><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px"><br /></div><div>
        On Sunday, July 21st, 2024 at 6:54 AM, Warner Losh &lt;<a href="mailto:imp@bsdimp.com">imp@bsdimp.com</a>&gt; wrote:<br />
        <blockquote>
            <div dir="ltr"><div dir="ltr"><br /></div><br /><div class="gmail_quote elided-text"><div dir="ltr" class="gmail_attr">On Sat, Jul 20, 2024 at 1:59 AM cglogic &lt;<a href="mailto:cglogic@protonmail.com">cglogic@protonmail.com</a>&gt; wrote:<br /></div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb( 204 , 204 , 204 );padding-left:1ex"><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px;color:rgb( 0 , 0 , 0 );background-color:rgb( 255 , 255 , 255 )">Hello FreeBSD community,</div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px;color:rgb( 0 , 0 , 0 );background-color:rgb( 255 , 255 , 255 )"><br /></div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px;color:rgb( 0 , 0 , 0 );background-color:rgb( 255 , 255 , 255 )"><span style="display:inline;background-color:rgb( 255 , 255 , 255 )">After </span><span style="background-color:rgb( 255 , 255 , 255 )">Jason Evans stepped aside from maintaining jemalloc in FreeBSD, it&#39;s not updating in time anymore.</span><br /></div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px;color:rgb( 0 , 0 , 0 );background-color:rgb( 255 , 255 , 255 )">Version 5.3.0 was released May 6, 2022 and FreeBSD still not imported it into the tree.</div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px;color:rgb( 0 , 0 , 0 );background-color:rgb( 255 , 255 , 255 )"><br /></div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px;color:rgb( 0 , 0 , 0 );background-color:rgb( 255 , 255 , 255 )">There is a pending review <a href="https://reviews.freebsd.org/D41421">https://reviews.freebsd.org/D41421</a> from Aug 11, 2023.</div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px;color:rgb( 0 , 0 , 0 );background-color:rgb( 255 , 255 , 255 )">I&#39;m successfully running FreeBSD/amd64 system with D41421 applied for 8 months, as well as many other people.</div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px;color:rgb( 0 , 0 , 0 );background-color:rgb( 255 , 255 , 255 )"><br /></div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px;color:rgb( 0 , 0 , 0 );background-color:rgb( 255 , 255 , 255 )">Can it be reviewed and committed to CURRENT?</div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px;color:rgb( 0 , 0 , 0 );background-color:rgb( 255 , 255 , 255 )">Or, if there is no committers willing to do it, can commit bit be given to submitter or another person willing to do this?</div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px;color:rgb( 0 , 0 , 0 );background-color:rgb( 255 , 255 , 255 )"><br /></div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px;color:rgb( 0 , 0 , 0 );background-color:rgb( 255 , 255 , 255 )">It&#39;s very disappointing when users spend their time to fill such gaps and their efforts just ignored by the developers.<br /></div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px;color:rgb( 0 , 0 , 0 );background-color:rgb( 255 , 255 , 255 )">Every year FreeBSD Community Survey asking about user experience in contributing to FreeBSD. <br /></div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px;color:rgb( 0 , 0 , 0 );background-color:rgb( 255 , 255 , 255 )">Here you can see an example of such contributing.</div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px;color:rgb( 0 , 0 , 0 );background-color:rgb( 255 , 255 , 255 )"></div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px;color:rgb( 0 , 0 , 0 );background-color:rgb( 255 , 255 , 255 )"><br /></div></blockquote><div><br /></div><div>First, thank you for being persistent and continuing to bring it up. It&#39;s important to do that to make sure this (and your many other) contribution doesn&#39;t fall on the floor.<br /></div><div><br /></div><div>And to be fair, we&#39;re only 3 months since the last update. Still, quite a bit longer than you should have to wait, but not nearly the year the original date suggests.<br /></div><div><br /></div><div>And this is a perfect storm of &#34;how the project is bad at accepting contributions&#34;:</div><div>(1) The original submission was close to the 14 branch creation time. This meant that we weren&#39;t well prepared to look at it since it is such an invasive change (at least on its surface). It also slowed the initial response...<br /></div><div>(2) There was a number of back and forth requests for changes, which took time to sort out...</div><div>(3) The size of this is huge, well beyond the capacity of Phabricator to review accurately...</div><div>(4) It&#39;s a vendor import. That means we can&#39;t just drop the Phabricator review into the tree...</div><div>(5) It&#39;s phabricator: this is a great tool for developers, but we have a terrible track record of using it for intake from new contributors. We don&#39;t have any oversight at all over this tool, at there&#39;s at best tepid and luke warm attempts to look for drop balls.</div><div><br /></div><div>All of these things are a terrible experience. I can only apologize. These days, we might steer this towards github, but the &#39;vendor import&#39; means you really need someone on the inside, or you need to be on the inside to make that work.</div><div><br /></div><div>So, how to move forward? Well, I&#39;d like to propose the following:</div><div>(1) submit all the other Phabricator reviews you have open (they are mostly good, or close to good) to github. Github is being actively managed and will make it faster to get things it. It&#39;s a much better tool for new contributors (and even frequent contributors of smallish things).</div><div>(2) I should do an vendor import of 5.3.0 from github, and do the merge to a branch and push that to github. You can then layer on your changes and those can be reviewed more closely as a pull request against the branch I push. I suspect that most of the issues are sorted out already <br /></div><div>(3) I&#39;ll land it via that route...</div><div><br /></div><div>And, if the sum of the other pull requests and this are good (and I suspect they will be), then we can talk about commit bits and such.</div><div><br /></div><div>It&#39;s experiences like this which is why I&#39;m trying to stand up github pull requests as a reliable way to get things and and the best place to send people...  <br /></div><div><br /></div><div>Thanks again for persisting, and also for expressing this criticism that we (hopefully) can use to make it better.<br /></div><div><br /></div><div>Warner<br /></div></div></div>

        </blockquote></div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px;color:rgb( 0 , 0 , 0 );background-color:rgb( 255 , 255 , 255 )"><br /></div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px;color:rgb( 0 , 0 , 0 );background-color:rgb( 255 , 255 , 255 )">Hello.</div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px;color:rgb( 0 , 0 , 0 );background-color:rgb( 255 , 255 , 255 )"><br /></div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px;color:rgb( 0 , 0 , 0 );background-color:rgb( 255 , 255 , 255 )">I&#39;m not the author of D41421. Just applied the patch to test it 8 months ago. And recently discovered that it&#39;s still not committed.</div><div style="font-family:&#39;arial&#39; , sans-serif;font-size:14px;color:rgb( 0 , 0 , 0 );background-color:rgb( 255 , 255 , 255 )">I can&#39;t copy your message to Phabricator because don&#39;t have an account. Please, if you have time, help the author in D41421.</div></blockquote><div><br /></div><div>Ah yes. I&#39;ve been in touch with the author for other things, and somehow thought it was you....  I&#39;ll reach out to him via other means...</div><div><br /></div><div>Warner</div></div></div>

        </blockquote><br />
    </div>
        </blockquote><br />
    </div></blockquote></div>

        </blockquote><br />
    </div>
        </blockquote><br />
    </div></blockquote></div>
</blockquote></div></div></blockquote></div>