<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:26:14 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[SERVER-51722] Ensure that MongoDB builds with ARM LSE atomics</title>
                <link>https://jira.mongodb.org/browse/SERVER-51722</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;WiredTiger recently got an external contribution from Github user AGSaidi to use the &lt;tt&gt;-moutline-atomics&lt;/tt&gt; flag for ARM in the cases where the compiler supports it.&lt;br/&gt;
&lt;a href=&quot;https://github.com/wiredtiger/wiredtiger/pull/6042&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/wiredtiger/wiredtiger/pull/6042&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In GCC-10, this flag is on by default. The functionality has apparently been backported to older versions of GCC however it needs to be explicitly set with the &lt;tt&gt;-moutline-atomics&lt;/tt&gt; flag. On my local machine, I saw &lt;tt&gt;wtperf&lt;/tt&gt; ops/sec increase by 2x on a few of the workloads that I tested.&lt;/p&gt;

&lt;p&gt;If you&apos;re already aware of this flag, feel free to close this. I figured I should let someone from the server org know just in case.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1518150">SERVER-51722</key>
            <summary>Ensure that MongoDB builds with ARM LSE atomics</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="13201">Fixed</resolution>
                                        <assignee username="andrew.morrow@mongodb.com">Andrew Morrow</assignee>
                                    <reporter username="alex.cameron@mongodb.com">Alex Cameron</reporter>
                        <labels>
                    </labels>
                <created>Mon, 19 Oct 2020 04:46:15 +0000</created>
                <updated>Sun, 29 Oct 2023 22:01:46 +0000</updated>
                            <resolved>Tue, 23 Feb 2021 01:43:17 +0000</resolved>
                                                    <fixVersion>4.9.0</fixVersion>
                    <fixVersion>4.2.13</fixVersion>
                    <fixVersion>4.4.5</fixVersion>
                                                        <votes>0</votes>
                                    <watches>8</watches>
                                                                                                                <comments>
                            <comment id="3952996" author="acm" created="Tue, 20 Jul 2021 17:10:27 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=tsahee%40amazon.com&quot; class=&quot;user-hover&quot; rel=&quot;tsahee@amazon.com&quot;&gt;tsahee@amazon.com&lt;/a&gt; - FYI, the v4.4 release with &lt;tt&gt;-moutline-atomics&lt;/tt&gt; in effect seems to be bringing significant performance improvements for at least one user: see &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-56237?page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel&amp;amp;focusedCommentId=3952147#comment-3952147&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/SERVER-56237?page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel&amp;amp;focusedCommentId=3952147#comment-3952147&lt;/a&gt;. Just thought you would like to know. Thanks for your help and guidance as we got it rolled out.&lt;/p&gt;</comment>
                            <comment id="3655265" author="JIRAUSER1258318" created="Tue, 9 Mar 2021 19:05:35 +0000"  >&lt;p&gt;@andrew.morrow Assuming these are different locks - generally speaking there is no complicated inter-dependency. Locks using LSE will enjoy LSE performance, locks using exclusive access will see exclusive-access performance, regardless of how many of each you have.&lt;/p&gt;</comment>
                            <comment id="3654578" author="acm" created="Tue, 9 Mar 2021 15:43:47 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=tsahee%40amazon.com&quot; class=&quot;user-hover&quot; rel=&quot;tsahee@amazon.com&quot;&gt;tsahee@amazon.com&lt;/a&gt; - A question for you on this ticket. &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=billy.donahue&quot; class=&quot;user-hover&quot; rel=&quot;billy.donahue&quot;&gt;billy.donahue&lt;/a&gt; noticed that our vendored boost implementation does not know to use LSE instructions when available: see &lt;a href=&quot;https://github.com/mongodb/mongo/blob/master/src/third_party/boost-1.70.0/boost/atomic/detail/extra_ops_gcc_arm.hpp&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/blob/master/src/third_party/boost-1.70.0/boost/atomic/detail/extra_ops_gcc_arm.hpp&lt;/a&gt;. We believe that newer boost addresses this (see &lt;a href=&quot;https://github.com/boostorg/atomic/commits/develop/include/boost/atomic/detail/extra_ops_gcc_aarch64.hpp&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/boostorg/atomic/commits/develop/include/boost/atomic/detail/extra_ops_gcc_aarch64.hpp&lt;/a&gt;), however, we don&apos;t tend to upgrade boost on stable branches unless absolutely necessary, so this is unlikely to change for v4.4 and older. We were curious if there were any adverse consequences to having both the LSE instructions and non-LSE instruction sequences executing in the same process. In other words, if we didn&apos;t upgrade boost, would the presence of the non-LSE instructions that it would emit somehow undermine the correctness or potential performance benefits of using the LSE instructions achieved via &lt;tt&gt;-moutline-atomics&lt;/tt&gt;, such that we should consider making the upgrade? It seems unlikely, but we thought it would be good to double check.&lt;/p&gt;</comment>
                            <comment id="3630934" author="xgen-internal-githook" created="Tue, 23 Feb 2021 19:36:21 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Andrew Morrow&apos;, &apos;email&apos;: &apos;acm@mongodb.com&apos;, &apos;username&apos;: &apos;acmorrow&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-51722&quot; title=&quot;Ensure that MongoDB builds with ARM LSE atomics&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-51722&quot;&gt;&lt;del&gt;SERVER-51722&lt;/del&gt;&lt;/a&gt; Enable -moutline-atomics on aarch64&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 63a5a847c4ef2864e27cd406812bf47921d16e73)&lt;br/&gt;
(cherry picked from commit 93bc7e374ba62439469d2f7b1bdbf47d50ed4422)&lt;br/&gt;
Branch: v4.2&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/16ce9754595d39cd093e2a6adc78366db1d46f2b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/16ce9754595d39cd093e2a6adc78366db1d46f2b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3630271" author="xgen-internal-githook" created="Tue, 23 Feb 2021 15:58:34 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Andrew Morrow&apos;, &apos;email&apos;: &apos;acm@mongodb.com&apos;, &apos;username&apos;: &apos;acmorrow&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-51722&quot; title=&quot;Ensure that MongoDB builds with ARM LSE atomics&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-51722&quot;&gt;&lt;del&gt;SERVER-51722&lt;/del&gt;&lt;/a&gt; Enable -moutline-atomics on aarch64&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 63a5a847c4ef2864e27cd406812bf47921d16e73)&lt;br/&gt;
Branch: v4.4&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/93bc7e374ba62439469d2f7b1bdbf47d50ed4422&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/93bc7e374ba62439469d2f7b1bdbf47d50ed4422&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3629247" author="acm" created="Tue, 23 Feb 2021 01:43:17 +0000"  >&lt;p&gt;The new flag is added if supported by the compiler. Note that this won&apos;t affect our binary releases until we upgrade our toolchain to GCC 8.5, but it will mean that for others building with compilers that offer support for the flag, they will get the improved behavior automatically.&lt;/p&gt;</comment>
                            <comment id="3628799" author="xgen-internal-githook" created="Mon, 22 Feb 2021 21:31:39 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Andrew Morrow&apos;, &apos;email&apos;: &apos;acm@mongodb.com&apos;, &apos;username&apos;: &apos;acmorrow&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-51722&quot; title=&quot;Ensure that MongoDB builds with ARM LSE atomics&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-51722&quot;&gt;&lt;del&gt;SERVER-51722&lt;/del&gt;&lt;/a&gt; Enable -moutline-atomics on aarch64&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/63a5a847c4ef2864e27cd406812bf47921d16e73&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/63a5a847c4ef2864e27cd406812bf47921d16e73&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3599332" author="acm" created="Thu, 4 Feb 2021 15:59:21 +0000"  >&lt;p&gt;We should backport this through to the oldest branch that will be affected when we bump our toolchain to GCC 8.5.&lt;/p&gt;</comment>
                            <comment id="3585137" author="acm" created="Wed, 27 Jan 2021 16:26:08 +0000"  >&lt;p&gt;Thanks &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=tsahee%40amazon.com&quot; class=&quot;user-hover&quot; rel=&quot;tsahee@amazon.com&quot;&gt;tsahee@amazon.com&lt;/a&gt;, we will give those a look. &lt;/p&gt;</comment>
                            <comment id="3582894" author="JIRAUSER1258318" created="Tue, 26 Jan 2021 16:22:18 +0000"  >&lt;p&gt;This is the list of commits (in order) to have -moutline-atomics:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=512b0ffab3bc4f334cbb36c598192c1da2abe330&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=512b0ffab3bc4f334cbb36c598192c1da2abe330&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=1bf932b1ab9002089ddd79d64532186d7320d6b5&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=1bf932b1ab9002089ddd79d64532186d7320d6b5&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=369a4d6dd2df645f1870506d8dd6a5a265955b34&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=369a4d6dd2df645f1870506d8dd6a5a265955b34&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=5d8ff6f1ff2cef121dc33d954535fc4cf5648cb6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=5d8ff6f1ff2cef121dc33d954535fc4cf5648cb6&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=f557aa1a836377d49fdbd4e7cecb2eede55b1dd2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=f557aa1a836377d49fdbd4e7cecb2eede55b1dd2&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=5497bc389dca6a992aaa063df308959f23409c3f&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=5497bc389dca6a992aaa063df308959f23409c3f&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=c7ae64412b6c9c7b966f3c0ab8eaa51c220ea39c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=c7ae64412b6c9c7b966f3c0ab8eaa51c220ea39c&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=1101198f3d099af0555d7202a2a00c96d39ee4e2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=1101198f3d099af0555d7202a2a00c96d39ee4e2&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=0b65e477890b7fe7f47a3dd85975ab7ee09b0609&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=0b65e477890b7fe7f47a3dd85975ab7ee09b0609&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=eccc28184d58dc27232d6710dc44eb2c91c01060&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=eccc28184d58dc27232d6710dc44eb2c91c01060&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=06f8058a8368f79e2cbf4659db53b941895f271a&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=06f8058a8368f79e2cbf4659db53b941895f271a&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=36579491fa01039694ad12e673ffe523c69dd156&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=36579491fa01039694ad12e673ffe523c69dd156&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=ff54767725cd86e1d937cde50ec499a318b25997&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=ff54767725cd86e1d937cde50ec499a318b25997&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=4eaef24ba1f83ccfb54c9e473eb203cce3a9f12f&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=4eaef24ba1f83ccfb54c9e473eb203cce3a9f12f&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=5d44ad1e0a66651495ed964058cdd6db0d99d876&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=5d44ad1e0a66651495ed964058cdd6db0d99d876&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=163e0d03f2cdc80de4968c4be4694cdaeaf47fcd&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=163e0d03f2cdc80de4968c4be4694cdaeaf47fcd&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=a69a60c4969cea06c1d44b5e3e4970595041e510&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=a69a60c4969cea06c1d44b5e3e4970595041e510&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=1dbd821ee74e6c234e61e25b0801a0b0949bcc67&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=1dbd821ee74e6c234e61e25b0801a0b0949bcc67&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=69472d76d2456a447f61bc539bd6fe262c167bcf&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=69472d76d2456a447f61bc539bd6fe262c167bcf&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=034dfe065033a846761b0a5c35fc86023bee1874&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=034dfe065033a846761b0a5c35fc86023bee1874&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=80c605c875fb394212164908151bf0f8665f0391&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/git?p=gcc.git;a=commitdiff;h=80c605c875fb394212164908151bf0f8665f0391&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;That&apos;s more commits than I expected, but on the bright side - there&apos;s a good chance they will apply cleanly on top of 8.3.&lt;/p&gt;</comment>
                            <comment id="3582829" author="acm" created="Tue, 26 Jan 2021 16:06:59 +0000"  >&lt;p&gt;We are pretty conservative about toolchain upgrades, so I think I&apos;d have a hard time justifying upgrading to gcc-8 HEAD. If the list of commits is reasonably small we can give them a look and make a call about how comfortable we are with pulling them in and whether they apply without issue. Otherwise, it isn&apos;t &lt;b&gt;that&lt;/b&gt; long a wait until end of March, in the grand scheme of things.&lt;/p&gt;</comment>
                            <comment id="3582767" author="JIRAUSER1258318" created="Tue, 26 Jan 2021 15:56:17 +0000"  >&lt;p&gt;@Andrew Morrow&lt;/p&gt;

&lt;p&gt;Talked with Sebastian Pop. He told me:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;current gcc-8 head is expected to be stable, and has outline-atomics support &lt;a href=&quot;https://gcc.gnu.org/git/?p=gcc.git;a=shortlog;h=refs/heads/releases/gcc-8&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/git/?p=gcc.git;a=shortlog;h=refs/heads/releases/gcc-8&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;gcc-8.5 is expected to be released before end of March. Hopefully, sooner.&lt;/li&gt;
	&lt;li&gt;If you prefer a list of commits, we can arrange that as well.&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="3582714" author="acm" created="Tue, 26 Jan 2021 15:37:16 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=tsahee%40amazon.com&quot; class=&quot;user-hover&quot; rel=&quot;tsahee@amazon.com&quot;&gt;tsahee@amazon.com&lt;/a&gt; - Yes, we could look at cherry-picking it into our GCC build (which is currently at GCC 8.3). Do you happen to have a link to the GCC 8.5 commit handy? If not, no worries, I can dig it up. I can see if it applies cleanly for us so that we can get this done without waiting for GCC 8.5. &lt;/p&gt;</comment>
                            <comment id="3582223" author="JIRAUSER1258318" created="Tue, 26 Jan 2021 10:40:53 +0000"  >&lt;p&gt;Hi Andrew!&lt;/p&gt;

&lt;p&gt;Gcc version releases tend to be about one year apart. 8.2 was released on July, 2017. 8.3 was released February, 2019 and 8.4 on March 2020. I am not closely involved with the project. My understanding is that it is expected in a similar schedule. I would guess around March April 2021, but your guess is as good as mine. It will be definitely be released, and it is expected to be the last official gcc 8.x release.&lt;/p&gt;

&lt;p&gt;GCC has a pretty slow release cycle, which is why some distributions, notably Ubuntu 20.04 and Amazon Linux 2 cherry-picked &quot;-moutline atomics&quot; and released it early.&lt;/p&gt;</comment>
                            <comment id="3578500" author="acm" created="Fri, 22 Jan 2021 19:38:21 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=tsahee%40amazon.com&quot; class=&quot;user-hover&quot; rel=&quot;tsahee@amazon.com&quot;&gt;tsahee@amazon.com&lt;/a&gt; - Do you happen to know if a GCC 8.5 release which would contain support for that flag is actually coming? The most recent information I can find on it is here &lt;a href=&quot;https://gcc.gnu.org/legacy-ml/gcc/2020-03/msg00043.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/legacy-ml/gcc/2020-03/msg00043.html&lt;/a&gt;, but that is from nearly a year ago. It sounds like you have been closely involved with getting this moved into the various compiler versions, so I&apos;m hoping you might have some insight, or be able to help urge such a release to happen.&lt;/p&gt;</comment>
                            <comment id="3571923" author="acm" created="Tue, 19 Jan 2021 19:05:20 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=tsahee%40amazon.com&quot; class=&quot;user-hover&quot; rel=&quot;tsahee@amazon.com&quot;&gt;tsahee@amazon.com&lt;/a&gt; - Thanks. It looks like that flag only appears in GCC 10&apos;s documentation, and I was searching in GCC 8 since that is currently our toolchain of record. When GCC 8.5 is released we will see about upgrading to it and including this flag in our builds.&lt;/p&gt;</comment>
                            <comment id="3571557" author="JIRAUSER1258318" created="Tue, 19 Jan 2021 16:57:47 +0000"  >&lt;p&gt;Reference about ignoring the flag in newer architectures:&lt;br/&gt;
&lt;a href=&quot;https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html&lt;/a&gt;&lt;br/&gt;
&quot;If using a later revision, e.g. -march=armv8.1-a or -march=armv8-a+lse, the ARMv8.1-Atomics instructions will be used directly.&quot;&lt;/p&gt;

&lt;p&gt;About versions that support -moutline-atomics flag: &lt;br/&gt;
The feature exists and is enabled by default in gcc-10. It exists but not enabled by default in gcc-10 version included with ubuntu 20.04.&lt;br/&gt;
The feature is backported (not enabled by default) to gcc-8.5 gcc-9.4. Ubuntu 20.04 cherry-picked it to it&apos;s gcc-9.3 version.&lt;br/&gt;
It is also enabled in Amazon Linux 2&apos;s gcc-7, and cheery-picking it to more compiler versions is underway.&lt;/p&gt;</comment>
                            <comment id="3571387" author="acm" created="Tue, 19 Jan 2021 16:14:57 +0000"  >&lt;p&gt;For future reference, here is some good background on this: &lt;a href=&quot;https://github.com/aws/aws-graviton-getting-started/blob/master/c-c%2B%2B.md&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/aws/aws-graviton-getting-started/blob/master/c-c%2B%2B.md&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3571373" author="acm" created="Tue, 19 Jan 2021 16:11:56 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=tsahee%40amazon.com&quot; class=&quot;user-hover&quot; rel=&quot;tsahee@amazon.com&quot;&gt;tsahee@amazon.com&lt;/a&gt; - Thanks for your note. That is actually useful information, because I was somewhat reluctant to add this flag since it costs an extra load and branch on platforms where the LSE support is known present. However, I&apos;m unable to find any documentation of this flag at all in GCCs documentation, which is a little puzzling. Do you have a reference that confirms that &lt;tt&gt;&amp;#45;moutline-atomics&lt;/tt&gt; is ignored when targeting &lt;tt&gt;armv8.1a&lt;/tt&gt; or newer with &lt;tt&gt;&amp;#45;march&lt;/tt&gt;? Do you have a reference which indicates which GCC versions support the flag? Meanwhile, we should probably introduce &lt;tt&gt;armv8.2-a&lt;/tt&gt; specific builds so we can capitalize on LSE without the extra load and branch.&lt;/p&gt;</comment>
                            <comment id="3569232" author="JIRAUSER1258318" created="Sun, 17 Jan 2021 21:24:13 +0000"  >&lt;p&gt;When building for armv8.1-a, &lt;tt&gt;-moutline-atomic&lt;/tt&gt; is ignored by GCC. If mongodb is built for arm8.1 by default this flag is indeed unnecessary. However, I understand it is not the current default arm64 architecture. Recommended mongodb installation seems to be from binaries. Distributing binaries built for arm v8.0 without outline-atomics could seriously performance on ARM for the reasonable user.&lt;/p&gt;</comment>
                            <comment id="3547565" author="acm" created="Mon, 4 Jan 2021 19:33:56 +0000"  >&lt;p&gt;It is a little unclear to me if &lt;tt&gt;-moutline-atomics&lt;/tt&gt; would continue to be the right thing if we later changed our target architecture minimum to ARMv8.1a. Given that, I would prefer Ryan&apos;s approach of handling it outside the build system via additional CCFLAGS. Note that this is already how we select the target architecture (i.e. &lt;tt&gt;-march=armv8a+crc&lt;/tt&gt;) in the evergreen yaml.&lt;/p&gt;</comment>
                            <comment id="3488682" author="ryan.egesdahl" created="Fri, 13 Nov 2020 00:18:03 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=alex.cameron&quot; class=&quot;user-hover&quot; rel=&quot;alex.cameron&quot;&gt;alex.cameron&lt;/a&gt; we can, sort of, but it would take a bit more work to make our particular configuration able to do that where we need it to be. Either way, I would much rather keep track of this as-is so we &lt;b&gt;know&lt;/b&gt; when the flag is actually useful with our toolchain, one way or another, so we also know when we can expect this change to be beneficial. For builds that do not use the MongoDB toolchain, you can always pass them via the CCFLAGS variable on the SCons command line, like so:&lt;/p&gt;

&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;buildscripts/scons.py CC=/path/to/gcc CXX=/path/to/g++ CCFLAGS=&quot;-moutline-atomics&quot; ...&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;</comment>
                            <comment id="3488561" author="alex.cameron" created="Thu, 12 Nov 2020 22:51:12 +0000"  >&lt;p&gt;Hey &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=ryan.egesdahl&quot; class=&quot;user-hover&quot; rel=&quot;ryan.egesdahl&quot;&gt;ryan.egesdahl&lt;/a&gt;, not sure if you can do this with SCons, but our AutoTools configuration just applies the flag on ARM whenever it&apos;s available. So our build configuration works fine on older compilers that don&apos;t support this: &lt;a href=&quot;https://github.com/wiredtiger/wiredtiger/blob/develop/build_posix/configure.ac.in#L110&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/wiredtiger/wiredtiger/blob/develop/build_posix/configure.ac.in#L110&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3487006" author="ryan.egesdahl" created="Thu, 12 Nov 2020 06:01:27 +0000"  >&lt;p&gt;Unfortunately, it doesn&apos;t look like we can do this with our current toolchain. We might be able to do this if and when we update to GCC 8.3 (we&apos;re discussing that), but it will almost certainly be able to happen once we get a v4 toolchain. Either way, this will need to wait for a while.&lt;/p&gt;</comment>
                            <comment id="3451223" author="alex.cameron" created="Mon, 19 Oct 2020 04:48:02 +0000"  >&lt;p&gt;Apologies if I&apos;ve assigned to the wrong team. I&apos;m just guessing since most changes to the top level &lt;tt&gt;SConstruct&lt;/tt&gt; file are from SDP.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1691430">SERVER-56347</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2223636">SERVER-72505</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>25.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="18953"><![CDATA[v4.4]]></customfieldvalue>
    <customfieldvalue key="16775"><![CDATA[v4.2]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10038"><![CDATA[Fully Compatible]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 12 Nov 2020 06:01:27 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 29 weeks, 1 day ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<s><a href='https://jira.mongodb.org/browse/BUILD-12619'>BUILD-12619</a></s>]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_17050" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Downstream Team Attention</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16941"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>DEVPROD-269</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            2 years, 29 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>alex.cameron@mongodb.com</customfieldvalue>
            <customfieldvalue>andrew.morrow@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>ryan.egesdahl@mongodb.com</customfieldvalue>
            <customfieldvalue>tsahee@amazon.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hydbhj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hyoyz3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="4757">Dev Platform 2021-03-08</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hycxqv:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>