<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<br>
On 8/22/2012 7:17 AM, Jie Liu wrote:
<blockquote cite="mid:5034EA17.107@oracle.com" type="cite">
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
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. 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, 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)'. 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>
</blockquote>
This was submitted before by Noboru Iwamatsu and acked by sunil and
tao but some how didn't get merged<br>
<br>
<a class="moz-txt-link-freetext" href="https://oss.oracle.com/pipermail/ocfs2-devel/2011-December/008438.html">https://oss.oracle.com/pipermail/ocfs2-devel/2011-December/008438.html</a><br>
<blockquote cite="mid:5034EA17.107@oracle.com" type="cite"> <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. 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. 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>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Ocfs2-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Ocfs2-devel@oss.oracle.com">Ocfs2-devel@oss.oracle.com</a>
<a class="moz-txt-link-freetext" href="https://oss.oracle.com/mailman/listinfo/ocfs2-devel">https://oss.oracle.com/mailman/listinfo/ocfs2-devel</a></pre>
</blockquote>
</body>
</html>