<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:33:29 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-10262] Lock contention when doing creates for the same name</title>
                <link>https://jira.whamcloud.com/browse/LU-10262</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;It was frequently documented that using e.g. fortran programs that write into same file is kind of slow. The reason is every time you open a file for write in fortran, it adds O_CREAT flag to the open causing the locking to be much less cooperative and when the name is the same, basically every thread gets bottlenecked on that same lock as the opens are processed because we currently decide the locking mode based on open flags only.&lt;/p&gt;

&lt;p&gt;Similar problem exists for other kind of creates like mkdirs.&lt;/p&gt;

&lt;p&gt;For the open-create case it&apos;s in mdt_reint_open():&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;again:
        lh = &amp;amp;info-&amp;gt;mti_lh[MDT_LH_PARENT];
        mdt_lock_pdo_init(lh,
                          (create_flags &amp;amp; MDS_OPEN_CREAT) ? LCK_PW : LCK_PR,
                          &amp;amp;rr-&amp;gt;rr_name);

        parent = mdt_object_find(info-&amp;gt;mti_env, mdt, rr-&amp;gt;rr_fid1);
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (IS_ERR(parent))
                GOTO(out, result = PTR_ERR(parent));

        result = mdt_object_lock(info, parent, lh, MDS_INODELOCK_UPDATE);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Similar code for mkdir/mknod/... in mdt_create&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;        lh = &amp;amp;info-&amp;gt;mti_lh[MDT_LH_PARENT];
        mdt_lock_pdo_init(lh, LCK_PW, &amp;amp;rr-&amp;gt;rr_name);
        rc = mdt_object_lock(info, parent, lh, MDS_INODELOCK_UPDATE);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;It looks like we should be able to do a lockless lookup on the parent and then in the parent (internal fs locking should ensure that the parent does not disappear from under us) then relock with desired read/write mode and relookup. If the file has disappeared by then and we are in PR lock mode for the parent - we need to drop the PR lock and reobtain the PW one and try again.&lt;/p&gt;

&lt;p&gt;The risk is there that if many threads do it for non-existing file there&apos;s still going to be some number of them stuck on the same ldlm lock, but hopefully fewer than before.&lt;/p&gt;</description>
                <environment></environment>
        <key id="49395">LU-10262</key>
            <summary>Lock contention when doing creates for the same name</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.whamcloud.com/images/icons/priorities/major.svg">Major</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="eaujames">Etienne Aujames</assignee>
                                    <reporter username="green">Oleg Drokin</reporter>
                        <labels>
                    </labels>
                <created>Mon, 20 Nov 2017 21:57:28 +0000</created>
                <updated>Mon, 21 Nov 2022 20:31:17 +0000</updated>
                            <resolved>Tue, 28 Jun 2022 06:10:29 +0000</resolved>
                                                    <fixVersion>Lustre 2.14.0</fixVersion>
                    <fixVersion>Lustre 2.12.7</fixVersion>
                                        <due></due>
                            <votes>1</votes>
                                    <watches>12</watches>
                                                                            <comments>
                            <comment id="232841" author="adilger" created="Fri, 31 Aug 2018 06:10:09 +0000"  >&lt;p&gt;It would be good to get a similar fix for &lt;tt&gt;open(O_CREAT)&lt;/tt&gt; as patch &lt;a href=&quot;https://review.whamcloud.com/30880&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/30880&lt;/a&gt; &quot;&lt;tt&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10235&quot; title=&quot;mkdir should check for directory existence on client before taking write lock&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10235&quot;&gt;&lt;del&gt;LU-10235&lt;/del&gt;&lt;/a&gt; mdt: mdt_create: check EEXIST with PR lock first&lt;/tt&gt;&quot; did for &lt;tt&gt;mkdir()&lt;/tt&gt;.&lt;/p&gt;</comment>
                            <comment id="232846" author="martinetd" created="Fri, 31 Aug 2018 08:17:31 +0000"  >&lt;p&gt;Definitely - this is probably even more important than mkdir in practice. I had originally planned to do this one after the first landed, but I think we&apos;re getting close now.&lt;/p&gt;

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

&lt;p&gt;i&apos;ve got something that tries to mimic what Lai did with mkdir but it&apos;s a bit more complicated as I&apos;m not 100% sure on what to do if the mdo_create() fails with EEXIST &#8211; it&apos;s not complete (I&apos;d like to add some test that hit the race with an OBD_FAIL_TIMEOUT like he did) but I&apos;ll push what I have to get comments.&lt;/p&gt;</comment>
                            <comment id="232849" author="gerrit" created="Fri, 31 Aug 2018 09:05:59 +0000"  >&lt;p&gt;Dominique Martinet (dominique.martinet@cea.fr) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/33098&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33098&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10262&quot; title=&quot;Lock contention when doing creates for the same name&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10262&quot;&gt;&lt;del&gt;LU-10262&lt;/del&gt;&lt;/a&gt; mdt: mdt_reint_open: check EEXIST without lock&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 250b7ed7b7f994a1469d4948afffe8728e448417&lt;/p&gt;</comment>
                            <comment id="275610" author="martinetd" created="Fri, 17 Jul 2020 07:44:42 +0000"  >&lt;p&gt;Just an update on this &#8211; we&apos;ve started seeing this again recently for some reason (new users with large (12-32k processes) jobs all opening files synchronously in the same directory).&lt;/p&gt;

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

&lt;p&gt;The patch I had submitted two years ago doesn&apos;t miss much but I unfortunately really won&apos;t have time to finish it (it&apos;s just missing rebase+add some tests and run benchmarks as far as I understand) ; I think &#201;tienne (our lustre on-site support) will be working on it and take over the patch if I got this right. Guidance would be appreciated &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                            <comment id="280499" author="gerrit" created="Thu, 24 Sep 2020 11:53:26 +0000"  >&lt;p&gt;Etienne AUJAMES (eaujames@ddn.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/40026&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/40026&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10262&quot; title=&quot;Lock contention when doing creates for the same name&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10262&quot;&gt;&lt;del&gt;LU-10262&lt;/del&gt;&lt;/a&gt; mdc: Avoid requesting CW when MDS_OPEN_BY_FID is set&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: cc43e2229a90f284b74c52793048956028d0e60b&lt;/p&gt;</comment>
                            <comment id="285133" author="eaujames" created="Fri, 13 Nov 2020 12:12:42 +0000"  >&lt;p&gt;Hello,&lt;/p&gt;

&lt;p&gt;I have done some performances tests to evaluate the impact the Dominique patch [33098|&lt;a href=&quot;https://review.whamcloud.com/33098&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33098&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Environment:&lt;/b&gt;&lt;/p&gt;
&lt;div class=&apos;table-wrap&apos;&gt;
&lt;table class=&apos;confluenceTable&apos;&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;em&gt;Hardware:&lt;/em&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;VM (Qemu)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;em&gt;OS:&lt;/em&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Centos 7.6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;em&gt;Kernel :&lt;/em&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;3.10.0-1127.8.2el7_lustre&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;em&gt;Lustre :&lt;/em&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;V2.13.55_139_g382d6f1 (master)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;em&gt;OSS:&lt;/em&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;3 (6 OST ldiskfs)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;em&gt;MDS :&lt;/em&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1 (2 MDT ldiskfs)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;em&gt;Clients :&lt;/em&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;400&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;em&gt;NTP :&lt;/em&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;chrony (ref: vm5)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;em&gt;Tools:&lt;/em&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;clush&lt;br/&gt;
 modify multiop binary to measure operations time and to synchronize processes on clients by specifying a common start date (patch joined in tickets).&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;


&lt;p&gt;&lt;b&gt;Description:&lt;/b&gt;&lt;/p&gt;
&lt;div class=&apos;table-wrap&apos;&gt;
&lt;table class=&apos;confluenceTable&apos;&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;em&gt;&lt;b&gt;Common&lt;/b&gt;:&lt;/em&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;For each test case, each client call performs 20 &quot;open&quot; call on different files store on a common parent directory. To evaluate parent directory availability, each client performs &quot;opendir + stat&quot; call on directory while accessing to files.&lt;br/&gt;
 Each files or directories operations is measured and performed simultaneously.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;&lt;em&gt;Test cases&lt;/em&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;em&gt;readonly&lt;/em&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Open operations on the files are performs with &quot;O_RDONLY&quot; flag. The files are precreated on the parent directory with one client. Then all FS caches are dropped for all the nodes.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;em&gt;readonly (cached)&lt;/em&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Same conditions that for &quot;readonly&quot; tests case, except that &quot;ls&quot; command is called&#160;on parent directory for each client node before performing the &quot;open&quot; syscall on the files (cached the dentries).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;_O_CREAT +precreate&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Open operations on the files are performs with &quot;O_RDONLY + O_CREAT&quot; flag. The files are precreated on the parent directory with one client. Then all FS caches are dropped for all the nodes.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;_O_CREAT cached_&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Same conditions that for &quot;_O_CREAT +precreat_&quot; tests case, except that &quot;ls&quot; command is called&#160;on parent directory for each client node before performing the &quot;open&quot; syscall on the files (cached the dentries).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;_O_CREAT_&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Open operations on the files are performs with &quot;O_RDONLY + O_CREAT&quot; flag. The files does not exist before performing &quot;open&quot; syscall on the files.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;


&lt;p&gt;&lt;b&gt;Results:&lt;/b&gt;&lt;/p&gt;
&lt;div class=&apos;table-wrap&apos;&gt;
&lt;table class=&apos;confluenceTable&apos;&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Mean values&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Max values&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Without 33098&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Files access (s)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;+/- % (ref: readonly)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Directory access (s)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;+/- % (ref: readonly)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Files access (s)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;+/- % (ref: readonly)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Directory access (s)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;+/- % (ref: readonly)&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;readonly&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.96&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.00%&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.554&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.00%&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.446&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.00%&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.999&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.00%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;readonly cached&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.372&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#006600&quot;&gt;-61.28%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.404&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#006600&quot;&gt;-27.09%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.906&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#006600&quot;&gt;-37.36%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.903&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#006600&quot;&gt;-9.65%&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;O_CREAT +precreate&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.645&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#cc0000&quot;&gt;+71.43%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.024&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#cc0000&quot;&gt;+84.80%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;2.461&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#cc0000&quot;&gt;+70.18%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;2.321&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#cc0000&quot;&gt;+132.33%&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;O_CREAT cached&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.632&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#006600&quot;&gt;-34.17%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.829&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#cc0000&quot;&gt;+49.53%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.394&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-3.58%&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.4&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#cc0000&quot;&gt;+40.13%&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;O_CREAT&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.261&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#cc0000&quot;&gt;+31.44%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.732&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#cc0000&quot;&gt;+32.16%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.703&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#cc0000&quot;&gt;+17.78%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.047&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;4.77%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;


&lt;p&gt;&#160;&lt;/p&gt;
&lt;div class=&apos;table-wrap&apos;&gt;
&lt;table class=&apos;confluenceTable&apos;&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Mean values&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Max values&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;With 33098&lt;/b&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Files access (s)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;+/- % (ref: readonly)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Directory access (s)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;+/- % (ref: readonly)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Files access (s)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;+/- % (ref: readonly)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Directory access (s)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;+/- % (ref: readonly)&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;readonly&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.973&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.00%&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.508&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.00%&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.451&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.00%&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.895&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.00%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;readonly cached&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.372&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#006600&quot;&gt;-61.82%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.418&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#006600&quot;&gt;-17.68%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.890&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#006600&quot;&gt;-38.71%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.890&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-0.53%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;O_CREAT +precreate&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.968&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-0.48%&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.480&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#006600&quot;&gt;-5.65%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.454&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;+0.19%&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.725&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#00875a&quot;&gt;-18.98%&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;O_CREAT cached&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.623&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#006600&quot;&gt;-35.95%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.790&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#cc0000&quot;&gt;+55.44%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.389&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-4.27%&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.391&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#FF0000&quot;&gt;+55.48%&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;O_CREAT&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.093&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#cc0000&quot;&gt;+12.35%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.653&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#cc0000&quot;&gt;+28.44%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.533&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#cc0000&quot;&gt;+5.63%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.000&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#FF0000&quot;&gt;+11.76%&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;


&lt;p&gt;&#160;&lt;/p&gt;
&lt;div class=&apos;table-wrap&apos;&gt;
&lt;table class=&apos;confluenceTable&apos;&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Files access&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Directory access&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Comparative mean values&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Without patch (s)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;With patch (s)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Diff (s)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;+/- % (ref: without patch)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Without patch (s)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;With patch (s)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Diff (s)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;+/- % (ref: without patch)&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;readonly&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.960&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.973&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.013&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;+1.40%&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.554&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.508&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-0.046&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#006600&quot;&gt;-8.28%&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;readonly cached&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.372&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.372&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.000&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-0.01%&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.404&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.418&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.014&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;+3.56%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;O_CREAT +precreate&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.645&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.968&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-0.677&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#006600&quot;&gt;-41.13%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.024&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.480&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-0.545&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#006600&quot;&gt;-53.17%&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;O_CREAT cached&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.632&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.623&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-0.008&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-1.34%&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.829&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.790&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-0.039&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-4.65%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;O_CREAT&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.261&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.093&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-0.168&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#006600&quot;&gt;-13.32%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.732&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.653&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-0.079&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#006600&quot;&gt;-10.85%&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;


&lt;p&gt;&#160;&lt;br/&gt;
 &#160;&lt;/p&gt;
&lt;div class=&apos;table-wrap&apos;&gt;
&lt;table class=&apos;confluenceTable&apos;&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Files access&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Directory access&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Comparative max values&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Without patch (s)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;With patch (s)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Diff (s)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;+/- % (ref: without patch)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Without patch (s)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;With patch (s)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Diff (s)&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;+/- % (ref: without patch)&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;readonly&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.446&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.451&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.005&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;+0.37%&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.999&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.895&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-0.105&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#006600&quot;&gt;-10.47%&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;readonly cached&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.906&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.890&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-0.016&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-1.80%&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.903&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.890&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-0.013&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-1.44%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;O_CREAT +precreate&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;2.461&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.454&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-1.007&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#006600&quot;&gt;-40.91%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;2.321&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;0.725&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-1.597&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#006600&quot;&gt;-68.78%&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;O_CREAT (cached)&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.394&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.389&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-0.005&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-0.35%&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.400&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.391&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-0.009&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-0.66%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;O_CREAT&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.703&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.533&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-0.170&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;font color=&quot;#006600&quot;&gt;-9.99%&lt;/font&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.047&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1.000&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-0.047&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;-4.50%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;


&lt;p&gt;&#160;&lt;br/&gt;
 &#160;&lt;br/&gt;
 &lt;b&gt;Conclusion:&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;The patch 33098 optimizes files O_CREAT concurent access when the files are not cached by the clients.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="285173" author="adilger" created="Fri, 13 Nov 2020 19:06:42 +0000"  >&lt;p&gt;Thanks for the update. &lt;/p&gt;

&lt;p&gt;Could you please put a condensed version of these results into the commit message of the patch, showing a simple table of without/with results absolute times in the last table, and the last column %improvement.&lt;/p&gt;</comment>
                            <comment id="287058" author="gerrit" created="Wed, 9 Dec 2020 07:48:45 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/33098/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33098/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10262&quot; title=&quot;Lock contention when doing creates for the same name&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10262&quot;&gt;&lt;del&gt;LU-10262&lt;/del&gt;&lt;/a&gt; mdt: mdt_reint_open: check EEXIST without lock&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 33dc40d58ef6eb8b384fce1da9f8d21cad4ef6d8&lt;/p&gt;</comment>
                            <comment id="289034" author="gerrit" created="Fri, 8 Jan 2021 14:14:33 +0000"  >&lt;p&gt;Etienne AUJAMES (eaujames@ddn.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/41172&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/41172&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10262&quot; title=&quot;Lock contention when doing creates for the same name&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10262&quot;&gt;&lt;del&gt;LU-10262&lt;/del&gt;&lt;/a&gt; mdt: mdt_reint_open: check EEXIST without lock&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_12&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: dca678c450d517a3fce631eac076bc1ea4c502d7&lt;/p&gt;</comment>
                            <comment id="293910" author="gerrit" created="Thu, 4 Mar 2021 08:35:36 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/41172/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/41172/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10262&quot; title=&quot;Lock contention when doing creates for the same name&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10262&quot;&gt;&lt;del&gt;LU-10262&lt;/del&gt;&lt;/a&gt; mdt: mdt_reint_open: check EEXIST without lock&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_12&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 515255019d4589354eb3bf393dabc689fc37407c&lt;/p&gt;</comment>
                            <comment id="338965" author="adilger" created="Tue, 28 Jun 2022 06:10:29 +0000"  >&lt;p&gt;This bug was fixed in 2.14.0 and patch backported for 2.12.7.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="49291">LU-10235</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="42323">LU-9193</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="68618">LU-15546</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="36653" name="multiop.patch" size="3128" author="eaujames" created="Fri, 13 Nov 2020 14:47:18 +0000"/>
                    </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|hzzo33:</customfieldvalue>

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