<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Hybrid IO is a new feature in Lustre 2.17 which automatically switches to direct IO for IO above a certain configurable size - it relies on another new Lustre trick, which is the ability to do
<i>unaligned</i>&nbsp;direct IO.&nbsp; In fact, unaligned direct IO support is in Lustre 2.16, so if you have that or newer (Or EXA6 from DDN), you could skip the alignment work you're describing.&nbsp; (Much of the purpose of this work - unaligned direct IO and hybrid -
 is to make the benefits of direct IO easy to access.)</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Currently we only switch for IO above a certain size, but we intend to eventually switch to direct IO for IO when lock contention is detected as well.&nbsp; We simply haven't found time to do the development there yet.</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
If you're running a new enough version, try it, and I'll be curious to hear your feedback.&nbsp; This work was aimed partly at solving the problem you're dealing with without having to use any form of relaxed consistency, which as you're experiencing is challenging
 to deal with.</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
See here for background:</div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<a href="https://wiki.lustre.org/images/a/a0/LUG2024-Hybrid_IO_Path_Update-Farrell.pdf">https://wiki.lustre.org/images/a/a0/LUG2024-Hybrid_IO_Path_Update-Farrell.pdf</a></div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Freddie Witherden &lt;freddie@witherden.org&gt;<br>
<b>Sent:</b> Saturday, February 7, 2026 10:29 AM<br>
<b>To:</b> Patrick Farrell &lt;pfarrell@ddn.com&gt;<br>
<b>Subject:</b> Re: [lustre-discuss] Group Lock Semantics</font>
<div>&nbsp;</div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">On 07/02/2026 07:43, Patrick Farrell wrote:<br>
&gt; So, if you are able to switch to direct IO as you mention, group locks <br>
&gt; should be unnecessary and are better avoided.&nbsp; Direct IO works like this <br>
&gt; in 2.15 and newer.&nbsp; (Also, in 2.17, hybrid IO can do this switch for you <br>
&gt; automatically for larger IO sizes.)<br>
<br>
It will take a bit of work to engineer for direct I/O (we need to ensure <br>
all of our starting offsets are page aligned and special-case the final <br>
writes so we either do RMW or if at the very end of the file do a <br>
buffered write), but its nothing insurmountable.&nbsp; Will report back in a <br>
few days.<br>
<br>
What do you mean by hybrid I/O here?<br>
<br>
Regards, Freddie.<br>
</div>
</span></font></div>
</body>
</html>