<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:44:05 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>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-4588] replace semaphores with mutexes</title>
                <link>https://jira.whamcloud.com/browse/LU-4588</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;According &lt;a href=&quot;https://www.kernel.org/doc/Documentation/mutex-design.txt:&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://www.kernel.org/doc/Documentation/mutex-design.txt:&lt;/a&gt;&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;the mutex subsystem is slightly faster and has better scalability&lt;br/&gt;
   for contended workloads. In terms of &apos;ops per CPU cycle&apos;, the&lt;br/&gt;
   semaphore kernel performed 551 ops/sec per 1% of CPU time used,&lt;br/&gt;
   while the mutex kernel performed 3825 ops/sec per 1% of CPU time&lt;br/&gt;
   used - it was 6.9 times more efficient.&lt;/li&gt;
	&lt;li&gt;there are no fastpath tradeoffs, the mutex fastpath is just as&lt;br/&gt;
   tight as the semaphore fastpath. On x86, the locking fastpath is&lt;br/&gt;
   2 instructions.&lt;/li&gt;
	&lt;li&gt;&apos;struct mutex&apos; semantics are well-defined and are enforced if&lt;br/&gt;
   CONFIG_DEBUG_MUTEXES is turned on. Semaphores on the other hand&lt;br/&gt;
   have virtually no debugging code or instrumentation.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;One more benefit of mutex is optimistic spinning. It try to spin for&lt;br/&gt;
acquisition when there are no pending waiters and the lock owner is&lt;br/&gt;
currently running on a (different) CPU. The rationale is that if the&lt;br/&gt;
lock owner is running, it is likely to release the lock soon.&lt;/p&gt;

&lt;p&gt;This significantly reduce amount of context switches when locked&lt;br/&gt;
region is small and we have high contention.&lt;/p&gt;</description>
                <environment></environment>
        <key id="23016">LU-4588</key>
            <summary>replace semaphores with mutexes</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</priority>
                        <status id="5" iconUrl="https://jira.whamcloud.com/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="dmiter">Dmitry Eremin</assignee>
                                    <reporter username="dmiter">Dmitry Eremin</reporter>
                        <labels>
                    </labels>
                <created>Wed, 5 Feb 2014 15:45:26 +0000</created>
                <updated>Thu, 6 Nov 2014 19:05:48 +0000</updated>
                            <resolved>Fri, 28 Mar 2014 07:34:08 +0000</resolved>
                                                    <fixVersion>Lustre 2.6.0</fixVersion>
                    <fixVersion>Lustre 2.5.4</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                            <comments>
                            <comment id="77230" author="dmiter" created="Tue, 18 Feb 2014 12:09:06 +0000"  >&lt;p&gt;Patch is &lt;a href=&quot;http://review.whamcloud.com/9294&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/9294&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="80439" author="dmiter" created="Fri, 28 Mar 2014 07:34:08 +0000"  >&lt;p&gt;Patch landed to master.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="22045">LU-4257</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                            <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzwecv:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>12537</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>