All of lore.kernel.org
 help / color / mirror / Atom feed
* [Drbd-dev] DRBD8: Resync speed reporting not accurate
@ 2007-03-16 19:24 Montrose, Ernest
  2007-03-20 12:25 ` Philipp Reisner
  0 siblings, 1 reply; 2+ messages in thread
From: Montrose, Ernest @ 2007-03-16 19:24 UTC (permalink / raw)
  To: drbd-dev

[-- Attachment #1: Type: text/plain, Size: 1848 bytes --]

Hi all,
We are seeing a problem where  resyncing multiple drbd volumes
say r0,r1,r2 reports the wrong sync speed stats.  It seems to get worst
and worst.  So r0 would report 30meg/S, r1 19Meg/sec and r2 9Meg/sec.
These rates are not the true rates except for the first one. In reality,
all the volumes took the same time to resync and they have the same
size.
 
The problem I think is that while one volume is Syncing the next volume
in 
PauseSyncX get some activity and ends up calling __drbd_set_in_sync() 
from the asender thread.  When this happens rs_mark_time gets reset as
well
as rs_mark_left.  To illustrate this the change below would force the
problem
to go away.  I am not sure this is the correct patch though:
 
Index: drbd/drbd_actlog.c
===================================================================
--- drbd/drbd_actlog.c  (revision 11975)
+++ drbd/drbd_actlog.c  (working copy)
@@ -960,10 +960,12 @@
                // we need the lock for drbd_try_clear_on_disk_bm
                if(jiffies - mdev->rs_mark_time > HZ*10) {
                        /* should be roling marks, but we estimate only
anyways. */
-                      if( mdev->rs_mark_left !=
drbd_bm_total_weight(mdev)) {
-                              mdev->rs_mark_time =jiffies;
-                              mdev->rs_mark_left
=drbd_bm_total_weight(mdev);
-                      }
+                      if( (mdev->rs_mark_left !=
drbd_bm_total_weight(mdev)) &&
+            mdev->state.conn != PausedSyncT &&
+            mdev->state.conn != PausedSyncS ) {
+            mdev->rs_mark_time =jiffies;
+            mdev->rs_mark_left =drbd_bm_total_weight(mdev);
+        }
                }
                if( inc_local_if_state(mdev,Attaching) ) {
 
drbd_try_clear_on_disk_bm(mdev,sector,count,TRUE);
 
 
 

[-- Attachment #2: Type: text/html, Size: 10965 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-03-20 12:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-03-16 19:24 [Drbd-dev] DRBD8: Resync speed reporting not accurate Montrose, Ernest
2007-03-20 12:25 ` Philipp Reisner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.