mbox series

[0/4] bfq: Improve waker detection

Message ID 20220519104621.15456-1-jack@suse.cz (mailing list archive)
Headers show
Series bfq: Improve waker detection | expand

Message

Jan Kara May 19, 2022, 10:52 a.m. UTC
Hello,

this patch series restores regression in dbench for large number of processes
that was introduced by c65e6fd460b4 ("bfq: Do not let waker requests skip
proper accounting"). The detailed explanation is in the first patch but the
culprit in the end was that with large number of dbench clients it often
happened that flush worker bfqq replaced jbd2 bfqq as a waker of the bfqq
shared by dbench clients and that resulted in lot of idling and reduced
throughput.

The first two patches in this series improve the waker detection, the other
two are just cleanups I've spotted when working on the code.

I've tested the patches and they don't seem to cause regression for other
workloads.

								Honza

Comments

Jens Axboe May 19, 2022, 12:52 p.m. UTC | #1
On Thu, 19 May 2022 12:52:28 +0200, Jan Kara wrote:
> this patch series restores regression in dbench for large number of processes
> that was introduced by c65e6fd460b4 ("bfq: Do not let waker requests skip
> proper accounting"). The detailed explanation is in the first patch but the
> culprit in the end was that with large number of dbench clients it often
> happened that flush worker bfqq replaced jbd2 bfqq as a waker of the bfqq
> shared by dbench clients and that resulted in lot of idling and reduced
> throughput.
> 
> [...]

Applied, thanks!

[1/4] bfq: Relax waker detection for shared queues
      commit: f950667356ce90a41b446b726d4595a10cb65415
[2/4] bfq: Allow current waker to defend against a tentative one
      commit: c5ac56bb6110e42e79d3106866658376b2e48ab9
[3/4] bfq: Remove superfluous conversion from RQ_BIC()
      commit: e79cf8892e332b9dafc99aef02189a2897eced24
[4/4] bfq: Remove bfq_requeue_request_body()
      commit: a249ca7dfbce1eb82bcd3a5a6bb21daeade20469

Best regards,