* [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
* Re: [Drbd-dev] DRBD8: Resync speed reporting not accurate
2007-03-16 19:24 [Drbd-dev] DRBD8: Resync speed reporting not accurate Montrose, Ernest
@ 2007-03-20 12:25 ` Philipp Reisner
0 siblings, 0 replies; 2+ messages in thread
From: Philipp Reisner @ 2007-03-20 12:25 UTC (permalink / raw)
To: drbd-dev
Am Freitag, 16. März 2007 20:24 schrieb Montrose, Ernest:
> 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:
>
Hi Ernest,
Right, I have comited the patch.
-Phil
--
: Dipl-Ing Philipp Reisner Tel +43-1-8178292-50 :
: LINBIT Information Technologies GmbH Fax +43-1-8178292-82 :
: Vivenotgasse 48, 1120 Vienna, Austria http://www.linbit.com :
^ 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.