<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hi All,<br>
    <br>
    These days, I am investigating an issue regarding OCFS2 unexpected
    reboot in some real world use cases.<br>
    This problem occurred when the network status goes south, when the
    disk IO load is too high, etc...<br>
    I suspect it might caused by ocfs2 fencing if it's BIO
    reading/writing can not be scheduled and processed quickly, or<br>
    something like this happened in the network IO heartbeat thread.<br>
    <br>
    Now am trying to reproduce this problem locally.&nbsp; In the meantime,
    I'd like to ping you guys with some rough ideas<br>
    to improve the disk IO heartbeat to see if they are sounds
    reasonable or not.<br>
    <br>
    Firstly, if an OCFS2 node is suffer from heavy disk IO, how about to
    fix the bio read/write to make this IO request can not<br>
    be preempted by other requests? e.g,&nbsp; for <span id="taw"
      style="margin-right:0"><span class="spell"></span></span>o2hb_issue_node_write(),
    currently, it do bio submission with WRITE only,<br>
    'submit_bio(WRITE, bio)'. &nbsp; If we change the flag to WRITE_SYNC, or
    even submit the request combine with REQ_FUA,<br>
    maybe could get highest priority for disk IO request.<br>
    <br>
    Secondly, the comments for bio allocation at o2hb_setup_one_bio()
    indicates that we can pre-allocate bio instead of<br>
    acquire for each time.&nbsp; But I have not saw any code snippet doing
    such things in kernel. :(<br>
    how about creating a private bio set for each o2hb_region, so that
    we can do allocation out of it? <br>
    maybe it's faster than do allocation from global bio sets.&nbsp; Also,
    does it make sense if creating a memory pool<br>
    on each o2hb_region, so that we can have continuous pages bind to
    those bios?<br>
    <br>
    <br>
    Any comments are appreciated!<br>
    <br>
    Thanks,<br>
    -Jeff<br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
  </body>
</html>