<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 11">
<meta name=Originator content="Microsoft Word 11">
<link rel=File-List href="cid:filelist.xml@01C767DF.22E96EC0">
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:DoNotRelyOnCSS/>
</o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:SpellingState>Clean</w:SpellingState>
<w:GrammarState>Clean</w:GrammarState>
<w:DocumentKind>DocumentEmail</w:DocumentKind>
<w:EnvelopeVis/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:UseWord2002TableStyleRules/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" LatentStyleCount="156">
</w:LatentStyles>
</xml><![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;
        mso-font-charset:0;
        mso-generic-font-family:swiss;
        mso-font-pitch:variable;
        mso-font-signature:1627421319 -2147483648 8 0 66047 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-parent:"";
        margin:0in;
        margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:12.0pt;
        font-family:"Times New Roman";
        mso-fareast-font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;
        text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;
        text-underline:single;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        mso-style-noshow:yes;
        mso-ansi-font-size:10.0pt;
        mso-bidi-font-size:10.0pt;
        font-family:Arial;
        mso-ascii-font-family:Arial;
        mso-hansi-font-family:Arial;
        mso-bidi-font-family:Arial;
        color:windowtext;}
span.SpellE
        {mso-style-name:"";
        mso-spl-e:yes;}
span.GramE
        {mso-style-name:"";
        mso-gram-e:yes;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;
        mso-header-margin:.5in;
        mso-footer-margin:.5in;
        mso-paper-source:0;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
        {mso-style-name:"Table Normal";
        mso-tstyle-rowband-size:0;
        mso-tstyle-colband-size:0;
        mso-style-noshow:yes;
        mso-style-parent:"";
        mso-padding-alt:0in 5.4pt 0in 5.4pt;
        mso-para-margin:0in;
        mso-para-margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.0pt;
        font-family:"Times New Roman";
        mso-ansi-language:#0400;
        mso-fareast-language:#0400;
        mso-bidi-language:#0400;}
</style>
<![endif]-->
</head>
<body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'>
<div class=Section1>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Hi all,<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>We are seeing a problem <span class=GramE>where <span
style='mso-spacerun:yes'> </span><span class=SpellE>resyncing</span></span>
multiple <span class=SpellE>drbd</span> volumes<o:p></o:p></span></font></p>
<p class=MsoNormal><span class=GramE><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'>say</span></font></span><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'> r0,r1,r2 reports
the wrong sync speed stats.<span style='mso-spacerun:yes'> </span>It
seems to get worst<o:p></o:p></span></font></p>
<p class=MsoNormal><span class=GramE><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'>and</span></font></span><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'> worst.<span
style='mso-spacerun:yes'> </span>So r0 would report 30meg/S, r1 19Meg/sec
and r2 9Meg/sec.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>These rates are not the true rates except for the first one.
In reality,<o:p></o:p></span></font></p>
<p class=MsoNormal><span class=GramE><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'>all</span></font></span><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'> the volumes
took the same time to <span class=SpellE>resync</span> and they have the same
size.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>The problem I think is that while one volume is Syncing the
next volume in <o:p></o:p></span></font></p>
<p class=MsoNormal><span class=SpellE><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'>PauseSyncX</span></font></span><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'> get some
activity and ends up calling __<span class=SpellE>drbd_set_in_<span
class=GramE>sync</span></span><span class=GramE>()</span> <o:p></o:p></span></font></p>
<p class=MsoNormal><span class=GramE><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'>from</span></font></span><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'> the <span
class=SpellE>asender</span> thread.<span style='mso-spacerun:yes'>
</span>When this happens <span class=SpellE>rs_mark_time</span> gets reset as
well<o:p></o:p></span></font></p>
<p class=MsoNormal><span class=GramE><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'>as</span></font></span><font size=2
face=Arial><span style='font-size:10.0pt;font-family:Arial'> <span
class=SpellE>rs_mark_left</span>. <span
style='mso-spacerun:yes'> </span>To illustrate <span class=GramE>this the</span>
change below would force the problem<o:p></o:p></span></font></p>
<p class=MsoNormal><span class=GramE><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'>to</span></font></span><font size=2
face=Arial><span style='font-size:10.0pt;font-family:Arial'> go away.<span
style='mso-spacerun:yes'> </span>I am not sure this is the correct patch
though:<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=1 color=black face=Tahoma><span style='font-size:
9.0pt;font-family:Tahoma;color:black'>Index: <span class=SpellE>drbd/drbd_actlog.c</span><br>
===================================================================<br>
--- <span class=SpellE>drbd/drbd_actlog.c</span><span class=GramE> (</span>revision
11975)<br>
+++ <span class=SpellE>drbd/drbd_actlog.c</span><span class=GramE> (</span>working
copy)<br>
@@ -960<span class=GramE>,10</span> +960,12 @@<br>
// we need the lock for
<span class=SpellE>drbd_try_clear_on_disk_bm</span><br>
<span class=GramE>if(</span>jiffies
- <span class=SpellE>mdev</span>-><span class=SpellE>rs_mark_time</span>
> HZ*10) {<br>
/* should be <span class=SpellE>roling</span> marks, but we estimate
only anyways. */<br>
- <span
class=GramE>if(</span> <span class=SpellE>mdev</span>-><span class=SpellE>rs_mark_left</span>
!= <span class=SpellE>drbd_bm_total_weight</span>(<span class=SpellE>mdev</span>))
{<br>
-
<span class=SpellE><span class=GramE>mdev</span></span>-><span
class=SpellE>rs_mark_time</span> =jiffies;<br>
-
<span class=SpellE><span class=GramE>mdev</span></span>-><span
class=SpellE>rs_mark_left</span> =<span class=SpellE>drbd_bm_total_weight</span>(<span
class=SpellE>mdev</span>);<br>
- }<br>
+ <span
class=GramE>if(</span> (<span class=SpellE>mdev</span>-><span class=SpellE>rs_mark_left</span>
!= <span class=SpellE>drbd_bm_total_weight</span>(<span class=SpellE>mdev</span>))
&&<br>
+ <span class=SpellE><span
class=GramE>mdev</span></span>-><span class=SpellE>state.conn</span> != <span
class=SpellE>PausedSyncT</span> &&<br>
+ <span class=SpellE>mdev</span>-><span
class=SpellE><span class=GramE>state.conn</span></span><span class=GramE> !</span>=
<span class=SpellE>PausedSyncS</span> ) {<br>
+ <span class=SpellE><span
class=GramE>mdev</span></span>-><span class=SpellE>rs_mark_time</span>
=jiffies;<br>
+ <span class=SpellE><span
class=GramE>mdev</span></span>-><span class=SpellE>rs_mark_left</span> =<span
class=SpellE>drbd_bm_total_weight</span>(<span class=SpellE>mdev</span>);<br>
+ }<br>
}<br>
<span class=GramE>if(</span>
<span class=SpellE>inc_local_if_state</span>(<span class=SpellE>mdev,Attaching</span>)
) {<br>
<span class=SpellE>drbd_try_clear_on_disk_<span class=GramE>bm</span></span><span
class=GramE>(</span><span class=SpellE>mdev,sector,count,TRUE</span>);<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
</div>
</body>
</html>