From 171ac6b8fbc78b0623d086b254df171edb190cbe Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" Date: Fri, 20 Sep 2019 17:50:54 -0400 Subject: [PATCH 284/325] revert-block Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.115-rt48.tar.xz Revert swork version of: block: blk-mq: move blk_queue_usage_counter_release() into process context In order to switch to upstream, we need to revert the swork code. Signed-off-by: Steven Rostedt (VMware) --- block/blk-core.c | 14 +------------- include/linux/blkdev.h | 2 -- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/block/blk-core.c b/block/blk-core.c index 13bf37156bb0..4860cd26cd5a 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -973,21 +973,12 @@ void blk_queue_exit(struct request_queue *q) percpu_ref_put(&q->q_usage_counter); } -static void blk_queue_usage_counter_release_swork(struct swork_event *sev) -{ - struct request_queue *q = - container_of(sev, struct request_queue, mq_pcpu_wake); - - wake_up_all(&q->mq_freeze_wq); -} - static void blk_queue_usage_counter_release(struct percpu_ref *ref) { struct request_queue *q = container_of(ref, struct request_queue, q_usage_counter); - if (wq_has_sleeper(&q->mq_freeze_wq)) - swork_queue(&q->mq_pcpu_wake); + wake_up_all(&q->mq_freeze_wq); } static void blk_rq_timed_out_timer(struct timer_list *t) @@ -1084,7 +1075,6 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id, queue_flag_set_unlocked(QUEUE_FLAG_BYPASS, q); init_waitqueue_head(&q->mq_freeze_wq); - INIT_SWORK(&q->mq_pcpu_wake, blk_queue_usage_counter_release_swork); /* * Init percpu_ref in atomic mode so that it's faster to shutdown. @@ -3974,8 +3964,6 @@ int __init blk_dev_init(void) if (!kblockd_workqueue) panic("Failed to create kblockd\n"); - BUG_ON(swork_get()); - request_cachep = kmem_cache_create("blkdev_requests", sizeof(struct request), 0, SLAB_PANIC, NULL); diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 2f3b2e5196eb..111ab4209797 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -27,7 +27,6 @@ #include #include #include -#include struct module; struct scsi_ioctl_command; @@ -656,7 +655,6 @@ struct request_queue { #endif struct rcu_head rcu_head; wait_queue_head_t mq_freeze_wq; - struct swork_event mq_pcpu_wake; struct percpu_ref q_usage_counter; struct list_head all_q_node; -- 2.25.1