search for: __blk_run_queue

Displaying 20 results from an estimated 25 matches for "__blk_run_queue".

2012 May 25
9
[PATCH 0/3] Fix hot-unplug race in virtio-blk
This patch set fixes the race when hot-unplug stressed disk. Asias He (3): virtio-blk: Call del_gendisk() before disable guest kick virtio-blk: Reset device after blk_cleanup_queue() virtio-blk: Use block layer provided spinlock drivers/block/virtio_blk.c | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) -- 1.7.10.2
2012 May 25
9
[PATCH 0/3] Fix hot-unplug race in virtio-blk
This patch set fixes the race when hot-unplug stressed disk. Asias He (3): virtio-blk: Call del_gendisk() before disable guest kick virtio-blk: Reset device after blk_cleanup_queue() virtio-blk: Use block layer provided spinlock drivers/block/virtio_blk.c | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) -- 1.7.10.2
2012 Jun 01
4
[PATCH v3] virtio_blk: unlock vblk->lock during kick
Holding the vblk->lock across kick causes poor scalability in SMP guests. If one CPU is doing virtqueue kick and another CPU touches the vblk->lock it will have to spin until virtqueue kick completes. This patch reduces system% CPU utilization in SMP guests that are running multithreaded I/O-bound workloads. The improvements are small but show as iops and SMP are increased. Khoa Huynh
2012 Jun 01
4
[PATCH v3] virtio_blk: unlock vblk->lock during kick
Holding the vblk->lock across kick causes poor scalability in SMP guests. If one CPU is doing virtqueue kick and another CPU touches the vblk->lock it will have to spin until virtqueue kick completes. This patch reduces system% CPU utilization in SMP guests that are running multithreaded I/O-bound workloads. The improvements are small but show as iops and SMP are increased. Khoa Huynh
2013 Dec 17
2
[PATCH v4 RFC 0/3] virtio: add 'device_lost' to virtio_device
..., as broken doesn't solve the problems. In that case virtblk_request()s still succeed - like this one... ([<0000000000112b28>] show_trace+0xf8/0x154) [<0000000000112bde>] show_stack+0x5a/0xdc [<000000000045eb56>] virtblk_request+0x25a/0x2b8 [<00000000003e749c>] __blk_run_queue+0x50/0x64 [<00000000003edb54>] blk_queue_bio+0x358/0x3f0 [<00000000003eb446>] generic_make_request+0xea/0x130 [<00000000003eb536>] submit_bio+0xaa/0x1a8 [<00000000002c95e8>] _submit_bh+0x1c4/0x2f4 [<00000000003a25e4>] journal_write_superblock+0xa0/0x1fc [&l...
2013 Dec 17
2
[PATCH v4 RFC 0/3] virtio: add 'device_lost' to virtio_device
..., as broken doesn't solve the problems. In that case virtblk_request()s still succeed - like this one... ([<0000000000112b28>] show_trace+0xf8/0x154) [<0000000000112bde>] show_stack+0x5a/0xdc [<000000000045eb56>] virtblk_request+0x25a/0x2b8 [<00000000003e749c>] __blk_run_queue+0x50/0x64 [<00000000003edb54>] blk_queue_bio+0x358/0x3f0 [<00000000003eb446>] generic_make_request+0xea/0x130 [<00000000003eb536>] submit_bio+0xaa/0x1a8 [<00000000002c95e8>] _submit_bh+0x1c4/0x2f4 [<00000000003a25e4>] journal_write_superblock+0xa0/0x1fc [&l...
2017 May 21
2
Crash in CentOS 7 kernel-3.10.0-514.16.1.el7.x86_64 in Xen PV mode
...ies+0x100/0x2e0 [ 32.304923] [<ffffffff813d56d5>] gnttab_alloc_grant_references+0x15/0x30 [ 32.304933] [<ffffffffa000bd4f>] do_blkif_request+0x6bf/0x8a0 [xen_blkfront] [ 32.304945] [<ffffffff812eb0e2>] ? __freed_request+0x92/0xa0 [ 32.304951] [<ffffffff812eb6e3>] __blk_run_queue+0x33/0x40 [ 32.304957] [<ffffffff812eb719>] blk_start_queue+0x29/0x40 [ 32.304964] [<ffffffffa000bf51>] kick_pending_request_queues+0x21/0x30 [xen_blkfront] [ 32.304975] [<ffffffffa000c6ce>] blkif_interrupt+0x76e/0x820 [xen_blkfront] [ 32.304986] [<ffffffff811dcc8b&...
2014 Jun 10
0
[PATCH 3.4 46/88] virtio-blk: Reset device after blk_cleanup_queue()
...rking. If we reset the device before blk_cleanup_queue() the drain would fail. 1) if the queue is stopped in do_virtblk_request() because device is full, the q->request_fn() will not be called. blk_drain_queue() { while(true) { ... if (!list_empty(&q->queue_head)) __blk_run_queue(q) { if (queue is not stoped) q->request_fn() } ... } } Do no reset the device before blk_cleanup_queue() gives the chance to start the queue in interrupt handler blk_done(). 2) In commit b79d866c8b7014a51f611a64c40546109beaf24a, We abort requests dispatched to driver before b...
2014 Jun 10
0
[PATCH 3.4 46/88] virtio-blk: Reset device after blk_cleanup_queue()
...rking. If we reset the device before blk_cleanup_queue() the drain would fail. 1) if the queue is stopped in do_virtblk_request() because device is full, the q->request_fn() will not be called. blk_drain_queue() { while(true) { ... if (!list_empty(&q->queue_head)) __blk_run_queue(q) { if (queue is not stoped) q->request_fn() } ... } } Do no reset the device before blk_cleanup_queue() gives the chance to start the queue in interrupt handler blk_done(). 2) In commit b79d866c8b7014a51f611a64c40546109beaf24a, We abort requests dispatched to driver before b...
2018 Jan 06
2
Centos 7 Kernel 3.10.0-693.11.6.el7.x86_64 does not boot PV
On 01/06/2018 03:16 AM, Dmitry Melekhov wrote: > The same problem with latest centos 6 kernel,i.e. with meltdown fix. > > I can't see console output, because I have it on "cloud" provider > hosting :-) > > > > 06.01.2018 05:13, Shaun Reitan ?????: >> Broken! >> >> For those of you looking for a PV enabled client Kernel for CentOS Linux
2018 Jan 09
1
Centos 7 Kernel 3.10.0-693.11.6.el7.x86_64 does not boot PV
...7.145018]? [<ffffffff81362740>] get_free_entries+0x100/0x2e0 > [? 587.145018]? [<ffffffff813629e5>] gnttab_alloc_grant_references+0x15/0x30 > [? 587.145018]? [<ffffffffa0000cc3>] do_blkif_request+0x683/0x850 > [xen_blkfront] > [? 587.145018]? [<ffffffff812906c3>] __blk_run_queue+0x33/0x40 > [? 587.145018]? [<ffffffff812906f9>] blk_start_queue+0x29/0x40 > [? 587.145018]? [<ffffffffa0000eb1>] > kick_pending_request_queues+0x21/0x30 [xen_blkfront] > [? 587.145018]? [<ffffffffa0001487>] blkif_interrupt+0x5c7/0x670 > [xen_blkfront] > [? 587.1...
2013 Dec 23
2
[PATCH v4 RFC 0/3] virtio: add 'device_lost' to virtio_device
...tqueue. What do you mean by all "*all* virtqueues ? Heinz >> >> ([<0000000000112b28>] show_trace+0xf8/0x154) >> [<0000000000112bde>] show_stack+0x5a/0xdc >> [<000000000045eb56>] virtblk_request+0x25a/0x2b8 >> [<00000000003e749c>] __blk_run_queue+0x50/0x64 >> [<00000000003edb54>] blk_queue_bio+0x358/0x3f0 >> [<00000000003eb446>] generic_make_request+0xea/0x130 >> [<00000000003eb536>] submit_bio+0xaa/0x1a8 >> [<00000000002c95e8>] _submit_bh+0x1c4/0x2f4 >> [<00000000003a2...
2013 Dec 23
2
[PATCH v4 RFC 0/3] virtio: add 'device_lost' to virtio_device
...tqueue. What do you mean by all "*all* virtqueues ? Heinz >> >> ([<0000000000112b28>] show_trace+0xf8/0x154) >> [<0000000000112bde>] show_stack+0x5a/0xdc >> [<000000000045eb56>] virtblk_request+0x25a/0x2b8 >> [<00000000003e749c>] __blk_run_queue+0x50/0x64 >> [<00000000003edb54>] blk_queue_bio+0x358/0x3f0 >> [<00000000003eb446>] generic_make_request+0xea/0x130 >> [<00000000003eb536>] submit_bio+0xaa/0x1a8 >> [<00000000002c95e8>] _submit_bh+0x1c4/0x2f4 >> [<00000000003a2...
2012 May 21
6
[RFC PATCH 1/5] block: Introduce q->abort_queue_fn()
When user hot-unplug a disk which is busy serving I/O, __blk_run_queue might be unable to drain all the requests. As a result, the blk_drain_queue() would loop forever and blk_cleanup_queue would not return. So hot-unplug will fail. This patch adds a callback in blk_drain_queue() for low lever driver to abort requests. Currently, this is useful for virtio-blk to do...
2012 May 21
6
[RFC PATCH 1/5] block: Introduce q->abort_queue_fn()
When user hot-unplug a disk which is busy serving I/O, __blk_run_queue might be unable to drain all the requests. As a result, the blk_drain_queue() would loop forever and blk_cleanup_queue would not return. So hot-unplug will fail. This patch adds a callback in blk_drain_queue() for low lever driver to abort requests. Currently, this is useful for virtio-blk to do...
2018 Jan 08
0
Centos 7 Kernel 3.10.0-693.11.6.el7.x86_64 does not boot PV
...p+0xa1/0x140 [ 587.145018] [<ffffffff81362740>] get_free_entries+0x100/0x2e0 [ 587.145018] [<ffffffff813629e5>] gnttab_alloc_grant_references+0x15/0x30 [ 587.145018] [<ffffffffa0000cc3>] do_blkif_request+0x683/0x850 [xen_blkfront] [ 587.145018] [<ffffffff812906c3>] __blk_run_queue+0x33/0x40 [ 587.145018] [<ffffffff812906f9>] blk_start_queue+0x29/0x40 [ 587.145018] [<ffffffffa0000eb1>] kick_pending_request_queues+0x21/0x30 [xen_blkfront] [ 587.145018] [<ffffffffa0001487>] blkif_interrupt+0x5c7/0x670 [xen_blkfront] [ 587.145018] [<ffffffff810f735...
2013 Dec 19
0
[PATCH v4 RFC 0/3] virtio: add 'device_lost' to virtio_device
...ne... No, you set *all* virtqueues broken. Which is accurate, right? Cheers, Rusty. > > ([<0000000000112b28>] show_trace+0xf8/0x154) > [<0000000000112bde>] show_stack+0x5a/0xdc > [<000000000045eb56>] virtblk_request+0x25a/0x2b8 > [<00000000003e749c>] __blk_run_queue+0x50/0x64 > [<00000000003edb54>] blk_queue_bio+0x358/0x3f0 > [<00000000003eb446>] generic_make_request+0xea/0x130 > [<00000000003eb536>] submit_bio+0xaa/0x1a8 > [<00000000002c95e8>] _submit_bh+0x1c4/0x2f4 > [<00000000003a25e4>] journal_write_su...
2017 Oct 23
0
Crash in CentOS 7 kernel-3.10.0-514.16.1.el7.x86_64 in Xen PV mode
...923] [<ffffffff813d56d5>] gnttab_alloc_grant_references+ > 0x15/0x30 > [ 32.304933] [<ffffffffa000bd4f>] do_blkif_request+0x6bf/0x8a0 > [xen_blkfront] > [ 32.304945] [<ffffffff812eb0e2>] ? __freed_request+0x92/0xa0 > [ 32.304951] [<ffffffff812eb6e3>] __blk_run_queue+0x33/0x40 > [ 32.304957] [<ffffffff812eb719>] blk_start_queue+0x29/0x40 > [ 32.304964] [<ffffffffa000bf51>] kick_pending_request_queues+0x21/0x30 > [xen_blkfront] > [ 32.304975] [<ffffffffa000c6ce>] blkif_interrupt+0x76e/0x820 > [xen_blkfront] > [ 32.3...
2012 Apr 20
1
[PATCH] multiqueue: a hodge podge of things
..._t) -1; INIT_HLIST_NODE(&rq->hash); RB_CLEAR_NODE(&rq->rb_node); rq->cmd = rq->__cmd; rq->cmd_len = BLK_MAX_CDB; rq->tag = -1; rq->ref_count = 1; rq->start_time = jiffies; set_start_time_ns(rq); @@ -294,18 +294,20 @@ EXPORT_SYMBOL(blk_sync_queue); * __blk_run_queue - run a single device queue * @q: The queue to run * * Description: * See @blk_run_queue. This variant must be called with the queue lock * held and interrupts disabled. */ void __blk_run_queue(struct request_queue *q) { + lockdep_assert_held(q->queue_lock); + if (unlikely(...
2012 Apr 20
1
[PATCH] multiqueue: a hodge podge of things
..._t) -1; INIT_HLIST_NODE(&rq->hash); RB_CLEAR_NODE(&rq->rb_node); rq->cmd = rq->__cmd; rq->cmd_len = BLK_MAX_CDB; rq->tag = -1; rq->ref_count = 1; rq->start_time = jiffies; set_start_time_ns(rq); @@ -294,18 +294,20 @@ EXPORT_SYMBOL(blk_sync_queue); * __blk_run_queue - run a single device queue * @q: The queue to run * * Description: * See @blk_run_queue. This variant must be called with the queue lock * held and interrupts disabled. */ void __blk_run_queue(struct request_queue *q) { + lockdep_assert_held(q->queue_lock); + if (unlikely(...