[Ocfs2-devel] RFC: OCFS2 heartbeat improvements

Jie Liu jeff.liu at oracle.com
Wed Aug 22 19:08:31 PDT 2012


On 08/23/12 01:18, Sunil Mushran wrote:
> Yes. WRITE_SYNC should be good. Not FUA.
>
> Also, you may want to look into using io priorities. The code is all
> there. Just needs activation.
Yes, I'll search the list to find them out.

Thanks,
-Jeff
>
> On Wed, Aug 22, 2012 at 10:13 AM, srinivas eeda
> <srinivas.eeda at oracle.com <mailto:srinivas.eeda at oracle.com>> wrote:
>
>
>     On 8/22/2012 7:17 AM, Jie Liu wrote:
>>     Hi All,
>>
>>     These days, I am investigating an issue regarding OCFS2
>>     unexpected reboot in some real world use cases.
>>     This problem occurred when the network status goes south, when
>>     the disk IO load is too high, etc...
>>     I suspect it might caused by ocfs2 fencing if it's BIO
>>     reading/writing can not be scheduled and processed quickly, or
>>     something like this happened in the network IO heartbeat thread.
>>
>>     Now am trying to reproduce this problem locally.  In the
>>     meantime, I'd like to ping you guys with some rough ideas
>>     to improve the disk IO heartbeat to see if they are sounds
>>     reasonable or not.
>>
>>     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
>>     be preempted by other requests? e.g,  for
>>     o2hb_issue_node_write(), currently, it do bio submission with
>>     WRITE only,
>>     'submit_bio(WRITE, bio)'.   If we change the flag to WRITE_SYNC,
>>     or even submit the request combine with REQ_FUA,
>>     maybe could get highest priority for disk IO request.
>     This was submitted before by Noboru Iwamatsu and acked by sunil
>     and tao but some how didn't get merged
>
>     https://oss.oracle.com/pipermail/ocfs2-devel/2011-December/008438.html
>>
>>     Secondly, the comments for bio allocation at o2hb_setup_one_bio()
>>     indicates that we can pre-allocate bio instead of
>>     acquire for each time.  But I have not saw any code snippet doing
>>     such things in kernel. :(
>>     how about creating a private bio set for each o2hb_region, so
>>     that we can do allocation out of it?
>>     maybe it's faster than do allocation from global bio sets.  Also,
>>     does it make sense if creating a memory pool
>>     on each o2hb_region, so that we can have continuous pages bind to
>>     those bios?
>>
>>
>>     Any comments are appreciated!
>>
>>     Thanks,
>>     -Jeff
>>
>>
>>
>>
>>
>>
>>
>>
>>     _______________________________________________
>>     Ocfs2-devel mailing list
>>     Ocfs2-devel at oss.oracle.com <mailto:Ocfs2-devel at oss.oracle.com>
>>     https://oss.oracle.com/mailman/listinfo/ocfs2-devel
>
>     _______________________________________________
>     Ocfs2-devel mailing list
>     Ocfs2-devel at oss.oracle.com <mailto:Ocfs2-devel at oss.oracle.com>
>     https://oss.oracle.com/mailman/listinfo/ocfs2-devel
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://oss.oracle.com/pipermail/ocfs2-devel/attachments/20120823/407d3586/attachment.html 


More information about the Ocfs2-devel mailing list