Displaying 20 results from an estimated 25 matches for "queue_flag_set".
2013 Nov 21
0
[PATCH v2 RFC 2/3] virtio_blk: add virtblk_notify() as virtio_driver's notify() callback
...ce *vdev)
ida_simple_remove(&vd_index_ida, index);
}
+static int virtblk_notify(struct virtio_device *vdev, int event)
+{
+ struct virtio_blk *vblk = vdev->priv;
+ unsigned long flags;
+
+ if (event == VDEV_GONE) {
+ spin_lock_irqsave(vblk->disk->queue->queue_lock, flags);
+ queue_flag_set(QUEUE_FLAG_DYING, vblk->disk->queue);
+ queue_flag_set(QUEUE_FLAG_NOMERGES, vblk->disk->queue);
+ queue_flag_set(QUEUE_FLAG_NOXMERGES, vblk->disk->queue);
+ spin_unlock_irqrestore(vblk->disk->queue->queue_lock, flags);
+ }
+ return NOTIFY_DONE;
+}
+
#ifdef CONFIG_PM...
2013 Nov 27
0
[PATCH v3 RFC 2/4] virtio_blk: avoid further request queueing on device loss
...handler from accessing the device. */
@@ -882,6 +883,14 @@ static void virtblk_remove(struct virtio_device *vdev)
vblk->config_enable = false;
mutex_unlock(&vblk->config_lock);
+ if (vdev->surprize_removal) {
+ spin_lock_irqsave(vblk->disk->queue->queue_lock, flags);
+ queue_flag_set(QUEUE_FLAG_DYING, vblk->disk->queue);
+ queue_flag_set(QUEUE_FLAG_NOMERGES, vblk->disk->queue);
+ queue_flag_set(QUEUE_FLAG_NOXMERGES, vblk->disk->queue);
+ spin_unlock_irqrestore(vblk->disk->queue->queue_lock, flags);
+ }
+
del_gendisk(vblk->disk);
blk_cleanup_...
2013 Dec 13
0
[PATCH v4 RFC 2/3] virtio: introduce 'device_lost' flag in virtio_device
...from accessing the device. */
mutex_lock(&vblk->config_lock);
vblk->config_enable = false;
mutex_unlock(&vblk->config_lock);
+ device_lost = atomic_read(&vdev->device_lost);
+ if (device_lost) {
+ spin_lock_irqsave(vblk->disk->queue->queue_lock, flags);
+ queue_flag_set(QUEUE_FLAG_DYING, vblk->disk->queue);
+ queue_flag_set(QUEUE_FLAG_NOMERGES, vblk->disk->queue);
+ queue_flag_set(QUEUE_FLAG_NOXMERGES, vblk->disk->queue);
+ spin_unlock_irqrestore(vblk->disk->queue->queue_lock, flags);
+ }
+
del_gendisk(vblk->disk);
- blk_cleanup_...
2013 Dec 13
7
[PATCH v4 RFC 0/3] virtio: add 'device_lost' to virtio_device
...oid hangs in blk_cleanup_queue() due to waits on 'in-flight' requests
- set surprize_removal in virtio_ccw's notify callback when a device is lost
v1->v2 changes:
- add include of linux/notifier.h (I also added it to the 3rd patch)
- get queue lock in order to be able to use safe queue_flag_set() functions
in virtblk_notify() handler
Heinz Graalfs (3):
virtio_ccw: fix vcdev pointer handling issues
virtio: introduce 'device_lost' flag in virtio_device
virtio_ccw: set 'device_lost' on CIO_GONE notification
drivers/block/virtio_blk.c | 14 ++++++++++-
drivers/...
2013 Dec 13
7
[PATCH v4 RFC 0/3] virtio: add 'device_lost' to virtio_device
...oid hangs in blk_cleanup_queue() due to waits on 'in-flight' requests
- set surprize_removal in virtio_ccw's notify callback when a device is lost
v1->v2 changes:
- add include of linux/notifier.h (I also added it to the 3rd patch)
- get queue lock in order to be able to use safe queue_flag_set() functions
in virtblk_notify() handler
Heinz Graalfs (3):
virtio_ccw: fix vcdev pointer handling issues
virtio: introduce 'device_lost' flag in virtio_device
virtio_ccw: set 'device_lost' on CIO_GONE notification
drivers/block/virtio_blk.c | 14 ++++++++++-
drivers/...
2013 Nov 21
5
[PATCH v2 RFC 0/3] virtio: add new notify() callback to virtio_driver
...ystem z's CIO notify handler
callback, and adding a corresponding new virtio_driver notify() handler to
'inform' the block layer, solve this task.
v1->v2 changes:
- add include of linux/notifier.h (I also added it to the 3rd patch)
- get queue lock in order to be able to use safe queue_flag_set() functions
in virtblk_notify() handler
Patch 1 adds an optional notify() callback to virtio_driver.
Patch 2 adds a new notify() callback for the virtio_blk driver. When called
for a lost device settings are made to prevent future request queueing.
Patch 3 modifies the CIO notify handler in...
2013 Nov 21
5
[PATCH v2 RFC 0/3] virtio: add new notify() callback to virtio_driver
...ystem z's CIO notify handler
callback, and adding a corresponding new virtio_driver notify() handler to
'inform' the block layer, solve this task.
v1->v2 changes:
- add include of linux/notifier.h (I also added it to the 3rd patch)
- get queue lock in order to be able to use safe queue_flag_set() functions
in virtblk_notify() handler
Patch 1 adds an optional notify() callback to virtio_driver.
Patch 2 adds a new notify() callback for the virtio_blk driver. When called
for a lost device settings are made to prevent future request queueing.
Patch 3 modifies the CIO notify handler in...
2013 Nov 27
7
[PATCH v3 RFC 0/4] virtio: add 'surprize_removal' to virtio_device
...oid hangs in blk_cleanup_queue() due to waits on 'in-flight' requests
- set surprize_removal in virtio_ccw's notify callback when a device is lost
v1->v2 changes:
- add include of linux/notifier.h (I also added it to the 3rd patch)
- get queue lock in order to be able to use safe queue_flag_set() functions
in virtblk_notify() handler
Heinz Graalfs (4):
virtio: add surprize_removal to virtio_device
virtio_blk: avoid further request queueing on device loss
virtio_blk: avoid calling blk_cleanup_queue() on device loss
virtio_ccw: set surprize_removal in virtio_device if a device...
2013 Nov 27
7
[PATCH v3 RFC 0/4] virtio: add 'surprize_removal' to virtio_device
...oid hangs in blk_cleanup_queue() due to waits on 'in-flight' requests
- set surprize_removal in virtio_ccw's notify callback when a device is lost
v1->v2 changes:
- add include of linux/notifier.h (I also added it to the 3rd patch)
- get queue lock in order to be able to use safe queue_flag_set() functions
in virtblk_notify() handler
Heinz Graalfs (4):
virtio: add surprize_removal to virtio_device
virtio_blk: avoid further request queueing on device loss
virtio_blk: avoid calling blk_cleanup_queue() on device loss
virtio_ccw: set surprize_removal in virtio_device if a device...
2008 Nov 14
2
[PATCH RFC] virtio: use QUEUE_FLAG_CLUSTER in virtio_blk
...0;
return 0;
}
@@ -260,6 +271,9 @@
/* If barriers are supported, tell block layer that queue is ordered */
if (virtio_has_feature(vdev, VIRTIO_BLK_F_BARRIER))
blk_queue_ordered(vblk->disk->queue, QUEUE_ORDERED_TAG, NULL);
+
+ /* Gather adjacent buffers to minimize sg length. */
+ queue_flag_set(QUEUE_FLAG_CLUSTER, vblk->disk->queue);
/* If disk is read-only in the host, the guest should obey */
if (virtio_has_feature(vdev, VIRTIO_BLK_F_RO))
2008 Nov 14
2
[PATCH RFC] virtio: use QUEUE_FLAG_CLUSTER in virtio_blk
...0;
return 0;
}
@@ -260,6 +271,9 @@
/* If barriers are supported, tell block layer that queue is ordered */
if (virtio_has_feature(vdev, VIRTIO_BLK_F_BARRIER))
blk_queue_ordered(vblk->disk->queue, QUEUE_ORDERED_TAG, NULL);
+
+ /* Gather adjacent buffers to minimize sg length. */
+ queue_flag_set(QUEUE_FLAG_CLUSTER, vblk->disk->queue);
/* If disk is read-only in the host, the guest should obey */
if (virtio_has_feature(vdev, VIRTIO_BLK_F_RO))
2013 Dec 17
2
[PATCH v4 RFC 0/3] virtio: add 'device_lost' to virtio_device
...n 'in-flight' requests
>> - set surprize_removal in virtio_ccw's notify callback when a device is lost
>>
>> v1->v2 changes:
>> - add include of linux/notifier.h (I also added it to the 3rd patch)
>> - get queue lock in order to be able to use safe queue_flag_set() functions
>> in virtblk_notify() handler
>>
>>
>> Heinz Graalfs (3):
>> virtio_ccw: fix vcdev pointer handling issues
>> virtio: introduce 'device_lost' flag in virtio_device
>> virtio_ccw: set 'device_lost' on CIO_GONE notifi...
2013 Dec 17
2
[PATCH v4 RFC 0/3] virtio: add 'device_lost' to virtio_device
...n 'in-flight' requests
>> - set surprize_removal in virtio_ccw's notify callback when a device is lost
>>
>> v1->v2 changes:
>> - add include of linux/notifier.h (I also added it to the 3rd patch)
>> - get queue lock in order to be able to use safe queue_flag_set() functions
>> in virtblk_notify() handler
>>
>>
>> Heinz Graalfs (3):
>> virtio_ccw: fix vcdev pointer handling issues
>> virtio: introduce 'device_lost' flag in virtio_device
>> virtio_ccw: set 'device_lost' on CIO_GONE notifi...
2014 Jan 28
2
[PATCH v4 RFC 0/3] virtio: add 'device_lost' to virtio_device
...n 'in-flight' requests
>> - set surprize_removal in virtio_ccw's notify callback when a device is lost
>>
>> v1->v2 changes:
>> - add include of linux/notifier.h (I also added it to the 3rd patch)
>> - get queue lock in order to be able to use safe queue_flag_set() functions
>> in virtblk_notify() handler
>>
>>
>> Heinz Graalfs (3):
>> virtio_ccw: fix vcdev pointer handling issues
>> virtio: introduce 'device_lost' flag in virtio_device
>> virtio_ccw: set 'device_lost' on CIO_GONE notifi...
2014 Jan 28
2
[PATCH v4 RFC 0/3] virtio: add 'device_lost' to virtio_device
...n 'in-flight' requests
>> - set surprize_removal in virtio_ccw's notify callback when a device is lost
>>
>> v1->v2 changes:
>> - add include of linux/notifier.h (I also added it to the 3rd patch)
>> - get queue lock in order to be able to use safe queue_flag_set() functions
>> in virtblk_notify() handler
>>
>>
>> Heinz Graalfs (3):
>> virtio_ccw: fix vcdev pointer handling issues
>> virtio: introduce 'device_lost' flag in virtio_device
>> virtio_ccw: set 'device_lost' on CIO_GONE notifi...
2014 Jan 23
0
[PATCH v4 RFC 0/3] virtio: add 'device_lost' to virtio_device
..._queue() due to waits on 'in-flight' requests
> - set surprize_removal in virtio_ccw's notify callback when a device is lost
>
> v1->v2 changes:
> - add include of linux/notifier.h (I also added it to the 3rd patch)
> - get queue lock in order to be able to use safe queue_flag_set() functions
> in virtblk_notify() handler
>
>
> Heinz Graalfs (3):
> virtio_ccw: fix vcdev pointer handling issues
> virtio: introduce 'device_lost' flag in virtio_device
> virtio_ccw: set 'device_lost' on CIO_GONE notification
>
> drivers/block/...
2013 Dec 17
0
[PATCH v4 RFC 0/3] virtio: add 'device_lost' to virtio_device
..._queue() due to waits on 'in-flight' requests
> - set surprize_removal in virtio_ccw's notify callback when a device is lost
>
> v1->v2 changes:
> - add include of linux/notifier.h (I also added it to the 3rd patch)
> - get queue lock in order to be able to use safe queue_flag_set() functions
> in virtblk_notify() handler
>
>
> Heinz Graalfs (3):
> virtio_ccw: fix vcdev pointer handling issues
> virtio: introduce 'device_lost' flag in virtio_device
> virtio_ccw: set 'device_lost' on CIO_GONE notification
>
> drivers/block/...
2013 Dec 23
2
[PATCH v4 RFC 0/3] virtio: add 'device_lost' to virtio_device
...> - set surprize_removal in virtio_ccw's notify callback when a device is lost
>>>>
>>>> v1->v2 changes:
>>>> - add include of linux/notifier.h (I also added it to the 3rd patch)
>>>> - get queue lock in order to be able to use safe queue_flag_set() functions
>>>> in virtblk_notify() handler
>>>>
>>>>
>>>> Heinz Graalfs (3):
>>>> virtio_ccw: fix vcdev pointer handling issues
>>>> virtio: introduce 'device_lost' flag in virtio_device
>>>>...
2013 Dec 23
2
[PATCH v4 RFC 0/3] virtio: add 'device_lost' to virtio_device
...> - set surprize_removal in virtio_ccw's notify callback when a device is lost
>>>>
>>>> v1->v2 changes:
>>>> - add include of linux/notifier.h (I also added it to the 3rd patch)
>>>> - get queue lock in order to be able to use safe queue_flag_set() functions
>>>> in virtblk_notify() handler
>>>>
>>>>
>>>> Heinz Graalfs (3):
>>>> virtio_ccw: fix vcdev pointer handling issues
>>>> virtio: introduce 'device_lost' flag in virtio_device
>>>>...
2013 Dec 19
0
[PATCH v4 RFC 0/3] virtio: add 'device_lost' to virtio_device
...; requests
>>> - set surprize_removal in virtio_ccw's notify callback when a device is lost
>>>
>>> v1->v2 changes:
>>> - add include of linux/notifier.h (I also added it to the 3rd patch)
>>> - get queue lock in order to be able to use safe queue_flag_set() functions
>>> in virtblk_notify() handler
>>>
>>>
>>> Heinz Graalfs (3):
>>> virtio_ccw: fix vcdev pointer handling issues
>>> virtio: introduce 'device_lost' flag in virtio_device
>>> virtio_ccw: set 'device_...