Skip to content

Commit 020efda

Browse files
committed
Merge tag 'block-5.14-2021-08-13' of git://git.kernel.dk/linux-block
Pull block fixes from Jens Axboe: "A few fixes for block that should go into 5.14: - Revert the mq-deadline cgroup addition. More work is needed on this front, let's revert it for now and get it right before having it in a released kernel (Tejun) - blk-iocost lockdep fix (Ming) - nbd double completion fix (Xie) - Fix for non-idling when clearing the shared tag flag (Yu)" * tag 'block-5.14-2021-08-13' of git://git.kernel.dk/linux-block: nbd: Aovid double completion of a request blk-mq: clear active_queues before clearing BLK_MQ_F_TAG_QUEUE_SHARED Revert "block/mq-deadline: Add cgroup support" blk-iocost: fix lockdep warning on blkcg->lock
2 parents 42995ce + cddce01 commit 020efda

File tree

8 files changed

+33
-316
lines changed

8 files changed

+33
-316
lines changed

block/Kconfig.iosched

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,6 @@ config MQ_IOSCHED_DEADLINE
99
help
1010
MQ version of the deadline IO scheduler.
1111

12-
config MQ_IOSCHED_DEADLINE_CGROUP
13-
tristate
14-
default y
15-
depends on MQ_IOSCHED_DEADLINE
16-
depends on BLK_CGROUP
17-
1812
config MQ_IOSCHED_KYBER
1913
tristate "Kyber I/O scheduler"
2014
default y

block/Makefile

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ obj-$(CONFIG_BLK_CGROUP_IOPRIO) += blk-ioprio.o
2222
obj-$(CONFIG_BLK_CGROUP_IOLATENCY) += blk-iolatency.o
2323
obj-$(CONFIG_BLK_CGROUP_IOCOST) += blk-iocost.o
2424
obj-$(CONFIG_MQ_IOSCHED_DEADLINE) += mq-deadline.o
25-
mq-deadline-y += mq-deadline-main.o
26-
mq-deadline-$(CONFIG_MQ_IOSCHED_DEADLINE_CGROUP)+= mq-deadline-cgroup.o
2725
obj-$(CONFIG_MQ_IOSCHED_KYBER) += kyber-iosched.o
2826
bfq-y := bfq-iosched.o bfq-wf2q.o bfq-cgroup.o
2927
obj-$(CONFIG_IOSCHED_BFQ) += bfq.o

block/blk-iocost.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3061,19 +3061,19 @@ static ssize_t ioc_weight_write(struct kernfs_open_file *of, char *buf,
30613061
if (v < CGROUP_WEIGHT_MIN || v > CGROUP_WEIGHT_MAX)
30623062
return -EINVAL;
30633063

3064-
spin_lock(&blkcg->lock);
3064+
spin_lock_irq(&blkcg->lock);
30653065
iocc->dfl_weight = v * WEIGHT_ONE;
30663066
hlist_for_each_entry(blkg, &blkcg->blkg_list, blkcg_node) {
30673067
struct ioc_gq *iocg = blkg_to_iocg(blkg);
30683068

30693069
if (iocg) {
3070-
spin_lock_irq(&iocg->ioc->lock);
3070+
spin_lock(&iocg->ioc->lock);
30713071
ioc_now(iocg->ioc, &now);
30723072
weight_updated(iocg, &now);
3073-
spin_unlock_irq(&iocg->ioc->lock);
3073+
spin_unlock(&iocg->ioc->lock);
30743074
}
30753075
}
3076-
spin_unlock(&blkcg->lock);
3076+
spin_unlock_irq(&blkcg->lock);
30773077

30783078
return nbytes;
30793079
}

block/blk-mq.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2994,10 +2994,12 @@ static void queue_set_hctx_shared(struct request_queue *q, bool shared)
29942994
int i;
29952995

29962996
queue_for_each_hw_ctx(q, hctx, i) {
2997-
if (shared)
2997+
if (shared) {
29982998
hctx->flags |= BLK_MQ_F_TAG_QUEUE_SHARED;
2999-
else
2999+
} else {
3000+
blk_mq_tag_idle(hctx);
30003001
hctx->flags &= ~BLK_MQ_F_TAG_QUEUE_SHARED;
3002+
}
30013003
}
30023004
}
30033005

block/mq-deadline-cgroup.c

Lines changed: 0 additions & 126 deletions
This file was deleted.

block/mq-deadline-cgroup.h

Lines changed: 0 additions & 114 deletions
This file was deleted.

0 commit comments

Comments
 (0)