Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
On Wed, Nov 18, 2015 at 01:02:52PM -0500, David A. J. Ripley wrote: > > I have a question about i/o schedulers and drdb - I've googled around this but I've not been able to find an unambiguous answer. Any thoughts are welcome. > > Generally, deadline is the recommended scheduler for block devices backing drdb volumes; however, this precludes the use of ionice to set i/o priorities. > > My question is this: Would ionice make any difference anyways? It's not possible to set the scheduler on the drdb device itself; but will the ionice level get "passed through" to the underlying block device? > > I've done some preliminary testing, but results are somewhat ambiguous, so before I dig down more I thought I'd see if anyone knew the real answer. On a DRBD "Secondary", all requests are submitted from on drbd "receiver" kernel thread. We do not communicate any "io-context" information, and I doubt that this would be useful. On a DRBD "Primary", most requests will be submitted to the backend by the original submitter directly (thus still within the same IO context), but some (WRITE to some not-yet "active" activity-log extent) will be queued on some list, and submitted only once the corresponding activity-log transaction has completed, by some "submitter" work-queue, so in some completely different IO context. A well tuned CFQ may be beneficial. Tuning IO schedulers can be a challenge, especially if you are already maxing out your IO backend or other system resources.. -- : Lars Ellenberg : http://www.LINBIT.com | Your Way to High Availability : DRBD, Linux-HA and Pacemaker support and consulting DRBD® and LINBIT® are registered trademarks of LINBIT, Austria. __ please don't Cc me, but send to list -- I'm subscribed