diff options
author | Lars Ellenberg <lars.ellenberg@linbit.com> | 2014-05-06 01:05:47 +0400 |
---|---|---|
committer | Philipp Reisner <philipp.reisner@linbit.com> | 2014-07-10 20:35:17 +0400 |
commit | f418815f7adad4917e92e9d11fdc1ca21cd616a1 (patch) | |
tree | 44695d61a782ac97b3fcf8021a7248448b6a20cb /drivers/block/drbd/drbd_int.h | |
parent | 4a521cca9b9b2e943efb86645540aecccfeab0fc (diff) | |
download | linux-f418815f7adad4917e92e9d11fdc1ca21cd616a1.tar.xz |
drbd: debugfs: Add in_flight_summary
* Add details about pending meta data operations to in_flight_summary.
* Report number of requests waiting for activity log transactions.
* timing details of peer_requests to in_flight_summary.
* FLUSH details
DRBD devides the incoming request stream into "epochs",
in which peers are allowed to re-order writes independendly.
These epochs are separated by P_BARRIER on the replication link.
Such barrier packets, depending on configuration, may cause
the receiving side to drain the lower level device request queues
and call blkdev_issue_flush().
This is known to be an other major source of latency in DRBD.
Track timing details of calls to blkdev_issue_flush(),
and add them to in_flight_summary.
* data socket stats
To be able to diagnose bottlenecks and root causes of "slow" IO on DRBD,
it is useful to see network buffer stats along with the timing details of
requests, peer requests, and meta data IO.
* pending bitmap IO timing details to in_flight_summary.
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block/drbd/drbd_int.h')
-rw-r--r-- | drivers/block/drbd/drbd_int.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/block/drbd/drbd_int.h b/drivers/block/drbd/drbd_int.h index 20f2b38e97b9..30ed430f57bf 100644 --- a/drivers/block/drbd/drbd_int.h +++ b/drivers/block/drbd/drbd_int.h @@ -522,6 +522,9 @@ enum { DISCARD_MY_DATA, /* discard_my_data flag per volume */ READ_BALANCE_RR, + FLUSH_PENDING, /* if set, device->flush_jif is when we submitted that flush + * from drbd_flush_after_epoch() */ + /* cleared only after backing device related structures have been destroyed. */ GOING_DISKLESS, /* Disk is being detached, because of io-error, or admin request. */ |