pktdvd: stop using bdi congestion framework.
authorNeilBrown <neilb@suse.de>
Fri, 10 Dec 2021 04:31:56 +0000 (21:31 -0700)
committerJens Axboe <axboe@kernel.dk>
Fri, 10 Dec 2021 04:31:56 +0000 (21:31 -0700)
commitdb67097aa6f2587b44055f2e16db72a11e17faef
treeee0b64573e4628a8eb9a9011812af94fc42d5b14
parent2385ebf38f94d4f7761b1e9a4973d04753da02c2
pktdvd: stop using bdi congestion framework.

The bdi congestion framework isn't widely used and should be
deprecated.

pktdvd makes use of it to track congestion, but this can be done
entirely internally to pktdvd, so it doesn't need to use the framework.

So introduce a "congested" flag.  When waiting for bio_queue_size to
drop, set this flag and a var_waitqueue() to wait for it.  When
bio_queue_size does drop and this flag is set, clear the flag and call
wake_up_var().

We don't use a wait_var_event macro for the waiting as we need to set
the flag and drop the spinlock before calling schedule() and while that
is possible with __wait_var_event(), result is not easy to read.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: NeilBrown <neilb@suse.de>
Link: https://lore.kernel.org/r/163910843527.9928.857338663717630212@noble.neil.brown.name
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/pktcdvd.c
include/linux/pktcdvd.h