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(...