summaryrefslogtreecommitdiff
path: root/drivers/amba
diff options
context:
space:
mode:
authorLars Ellenberg <lars@linbit.com>2014-04-28 18:43:29 +0200
committerJens Axboe <axboe@fb.com>2014-04-30 13:46:55 -0600
commitf9c78128f833ae3057884ca219259c8ae5db8898 (patch)
tree8b8daca4fb5153211289b98b012dc648aacff2d3 /drivers/amba
parente4d7d6f4d36daff6aad84f96e48debde8e6ed09e (diff)
drbd: always implicitly close last epoch when idle
Once our sender thread needs to wait_for_work(), and actually needs to schedule(), just before we do that, we already check if it is useful to implicitly close the last epoch. The condition was too strict: only implicitly close the epoch, if there have been no new (write) requests at all. The assumption was that if there were new requests, they would always be communicated one way or another, and would send necessary epoch separating barriers explicitly. This is not always true, e.g. when becoming diskless, or while explicitly starting a full resync. The last communicated epoch could stay open for a long time, locking down corresponding activity log extents. It is safe to always implicitly send that last barrier, as soon as we determin that there cannot be more requests in the last communicated epoch, even if there have been (uncommunicated) new requests in new epochs meanwhile. Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'drivers/amba')
0 files changed, 0 insertions, 0 deletions