Displaying 19 results from an estimated 19 matches for "vhost_blk_req".
2012 Oct 09
2
[PATCH] vhost-blk: Add vhost-blk support v2
...>
+
+#include "vhost.c"
+#include "vhost.h"
+#include "blk.h"
+
+#define BLK_HDR 0
+
+static DEFINE_IDA(vhost_blk_index_ida);
+
+enum {
+ VHOST_BLK_VQ_REQ = 0,
+ VHOST_BLK_VQ_MAX = 1,
+};
+
+struct req_page_list {
+ struct page **pages;
+ int pages_nr;
+};
+
+struct vhost_blk_req {
+ struct llist_node llnode;
+ struct req_page_list *pl;
+ struct vhost_blk *blk;
+
+ struct iovec *iov;
+ int iov_nr;
+
+ struct bio **bio;
+ atomic_t bio_nr;
+
+ sector_t sector;
+ int write;
+ u16 head;
+ long len;
+
+ u8 *status;
+};
+
+struct vhost_blk {
+ struct task_struct *host_kick;
+ str...
2012 Oct 09
2
[PATCH] vhost-blk: Add vhost-blk support v2
...>
+
+#include "vhost.c"
+#include "vhost.h"
+#include "blk.h"
+
+#define BLK_HDR 0
+
+static DEFINE_IDA(vhost_blk_index_ida);
+
+enum {
+ VHOST_BLK_VQ_REQ = 0,
+ VHOST_BLK_VQ_MAX = 1,
+};
+
+struct req_page_list {
+ struct page **pages;
+ int pages_nr;
+};
+
+struct vhost_blk_req {
+ struct llist_node llnode;
+ struct req_page_list *pl;
+ struct vhost_blk *blk;
+
+ struct iovec *iov;
+ int iov_nr;
+
+ struct bio **bio;
+ atomic_t bio_nr;
+
+ sector_t sector;
+ int write;
+ u16 head;
+ long len;
+
+ u8 *status;
+};
+
+struct vhost_blk {
+ struct task_struct *host_kick;
+ str...
2012 Nov 19
1
[PATCH] vhost-blk: Add vhost-blk support v5
...ude <linux/llist.h>
+
+#include "vhost.c"
+#include "vhost.h"
+#include "blk.h"
+
+static DEFINE_IDA(vhost_blk_index_ida);
+
+enum {
+ VHOST_BLK_VQ_REQ = 0,
+ VHOST_BLK_VQ_MAX = 1,
+};
+
+struct req_page_list {
+ struct page **pages;
+ int pages_nr;
+};
+
+struct vhost_blk_req {
+ struct llist_node llnode;
+ struct req_page_list *pl;
+ struct vhost_blk *blk;
+
+ struct iovec *iov;
+ int iov_nr;
+
+ struct bio **bio;
+ atomic_t bio_nr;
+
+ struct iovec status[1];
+
+ sector_t sector;
+ int write;
+ u16 head;
+ long len;
+};
+
+struct vhost_blk {
+ struct task_struct *host...
2012 Nov 19
1
[PATCH] vhost-blk: Add vhost-blk support v5
...ude <linux/llist.h>
+
+#include "vhost.c"
+#include "vhost.h"
+#include "blk.h"
+
+static DEFINE_IDA(vhost_blk_index_ida);
+
+enum {
+ VHOST_BLK_VQ_REQ = 0,
+ VHOST_BLK_VQ_MAX = 1,
+};
+
+struct req_page_list {
+ struct page **pages;
+ int pages_nr;
+};
+
+struct vhost_blk_req {
+ struct llist_node llnode;
+ struct req_page_list *pl;
+ struct vhost_blk *blk;
+
+ struct iovec *iov;
+ int iov_nr;
+
+ struct bio **bio;
+ atomic_t bio_nr;
+
+ struct iovec status[1];
+
+ sector_t sector;
+ int write;
+ u16 head;
+ long len;
+};
+
+struct vhost_blk {
+ struct task_struct *host...
2012 Oct 15
2
[PATCH 1/1] vhost-blk: Add vhost-blk support v4
...quot;
+#include "blk.h"
+
+/* The block header is in the first and separate buffer. */
+#define BLK_HDR 0
+
+static DEFINE_IDA(vhost_blk_index_ida);
+
+enum {
+ VHOST_BLK_VQ_REQ = 0,
+ VHOST_BLK_VQ_MAX = 1,
+};
+
+struct req_page_list {
+ struct page **pages;
+ int pages_nr;
+};
+
+struct vhost_blk_req {
+ struct llist_node llnode;
+ struct req_page_list *pl;
+ struct vhost_blk *blk;
+
+ struct iovec *iov;
+ int iov_nr;
+
+ struct bio **bio;
+ atomic_t bio_nr;
+
+ sector_t sector;
+ int write;
+ u16 head;
+ long len;
+
+ u8 __user *status;
+};
+
+struct vhost_blk {
+ struct task_struct *host_kick...
2012 Oct 15
2
[PATCH 1/1] vhost-blk: Add vhost-blk support v4
...quot;
+#include "blk.h"
+
+/* The block header is in the first and separate buffer. */
+#define BLK_HDR 0
+
+static DEFINE_IDA(vhost_blk_index_ida);
+
+enum {
+ VHOST_BLK_VQ_REQ = 0,
+ VHOST_BLK_VQ_MAX = 1,
+};
+
+struct req_page_list {
+ struct page **pages;
+ int pages_nr;
+};
+
+struct vhost_blk_req {
+ struct llist_node llnode;
+ struct req_page_list *pl;
+ struct vhost_blk *blk;
+
+ struct iovec *iov;
+ int iov_nr;
+
+ struct bio **bio;
+ atomic_t bio_nr;
+
+ sector_t sector;
+ int write;
+ u16 head;
+ long len;
+
+ u8 __user *status;
+};
+
+struct vhost_blk {
+ struct task_struct *host_kick...
2012 Oct 10
0
[PATCH] vhost-blk: Add vhost-blk support v3
...>
+
+#include "vhost.c"
+#include "vhost.h"
+#include "blk.h"
+
+#define BLK_HDR 0
+
+static DEFINE_IDA(vhost_blk_index_ida);
+
+enum {
+ VHOST_BLK_VQ_REQ = 0,
+ VHOST_BLK_VQ_MAX = 1,
+};
+
+struct req_page_list {
+ struct page **pages;
+ int pages_nr;
+};
+
+struct vhost_blk_req {
+ struct llist_node llnode;
+ struct req_page_list *pl;
+ struct vhost_blk *blk;
+
+ struct iovec *iov;
+ int iov_nr;
+
+ struct bio **bio;
+ atomic_t bio_nr;
+
+ sector_t sector;
+ int write;
+ u16 head;
+ long len;
+
+ u8 *status;
+};
+
+struct vhost_blk {
+ struct task_struct *host_kick;
+ str...
2012 Oct 10
0
[PATCH] vhost-blk: Add vhost-blk support v3
...>
+
+#include "vhost.c"
+#include "vhost.h"
+#include "blk.h"
+
+#define BLK_HDR 0
+
+static DEFINE_IDA(vhost_blk_index_ida);
+
+enum {
+ VHOST_BLK_VQ_REQ = 0,
+ VHOST_BLK_VQ_MAX = 1,
+};
+
+struct req_page_list {
+ struct page **pages;
+ int pages_nr;
+};
+
+struct vhost_blk_req {
+ struct llist_node llnode;
+ struct req_page_list *pl;
+ struct vhost_blk *blk;
+
+ struct iovec *iov;
+ int iov_nr;
+
+ struct bio **bio;
+ atomic_t bio_nr;
+
+ sector_t sector;
+ int write;
+ u16 head;
+ long len;
+
+ u8 *status;
+};
+
+struct vhost_blk {
+ struct task_struct *host_kick;
+ str...
2018 Nov 02
0
[PATCH 1/1] Add vhost_blk driver
...DIRECT_DESC) |
> + (1ULL << VIRTIO_RING_F_EVENT_IDX) |
> + (1ULL << VIRTIO_BLK_F_MQ)
> +};
> +
> +#define VHOST_BLK_SET_BACKEND _IOW(VHOST_VIRTIO, 0x50, int)
> +
> +enum {
> + VHOST_BLK_VQ_MAX = 16,
> + VHOST_BLK_VQ_MAX_REQS = 128,
> +};
> +
> +struct vhost_blk_req {
> + struct llist_node list;
> + int index;
> + struct vhost_blk_queue *q;
> + struct virtio_blk_outhdr hdr;
> + struct iovec *out_iov;
> + struct iovec *in_iov;
> + u8 out_num;
> + u8 in_num;
> + long len;
> + struct kiocb iocb;
> + struct iov_iter i;
> + int r...
2012 Dec 02
3
[PATCH] vhost-blk: Add vhost-blk support v6
...;
+
+#include "vhost.c"
+#include "vhost.h"
+#include "blk.h"
+
+static DEFINE_IDA(vhost_blk_index_ida);
+
+enum {
+ VHOST_BLK_VQ_REQ = 0,
+ VHOST_BLK_VQ_MAX = 1,
+};
+
+struct req_page_list {
+ struct page **pages;
+ int pages_nr;
+};
+
+#define NR_INLINE 16
+
+struct vhost_blk_req {
+ struct req_page_list inline_pl[NR_INLINE];
+ struct page *inline_page[NR_INLINE];
+ struct bio *inline_bio[NR_INLINE];
+ struct req_page_list *pl;
+ int during_flush;
+ bool use_inline;
+
+ struct llist_node llnode;
+
+ struct vhost_blk *blk;
+
+ struct iovec *iov;
+ int iov_nr;
+
+ struct bio...
2012 Dec 02
3
[PATCH] vhost-blk: Add vhost-blk support v6
...;
+
+#include "vhost.c"
+#include "vhost.h"
+#include "blk.h"
+
+static DEFINE_IDA(vhost_blk_index_ida);
+
+enum {
+ VHOST_BLK_VQ_REQ = 0,
+ VHOST_BLK_VQ_MAX = 1,
+};
+
+struct req_page_list {
+ struct page **pages;
+ int pages_nr;
+};
+
+#define NR_INLINE 16
+
+struct vhost_blk_req {
+ struct req_page_list inline_pl[NR_INLINE];
+ struct page *inline_page[NR_INLINE];
+ struct bio *inline_bio[NR_INLINE];
+ struct req_page_list *pl;
+ int during_flush;
+ bool use_inline;
+
+ struct llist_node llnode;
+
+ struct vhost_blk *blk;
+
+ struct iovec *iov;
+ int iov_nr;
+
+ struct bio...
2018 Nov 03
0
[PATCH 1/1] Add vhost_blk driver
...->w);
^~~~~~~~~~~~~~~~~~~
vhost_work_queue
In file included from include/linux/kernel.h:14:0,
from include/linux/list.h:9,
from include/linux/module.h:9,
from drivers/vhost/blk.c:11:
drivers/vhost/blk.c: In function 'vhost_blk_req_handle':
>> drivers/vhost/blk.c:153:12: warning: format '%ld' expects argument of type 'long int', but argument 8 has type 'ssize_t {aka int}' [-Wformat=]
pr_debug("%s: [pid:%d %s] %s sector %lld, len %ld\n",
^
include/linux/printk...
2013 Mar 11
1
[PATCH -next] vhost-blk: remove unused variable
...d9b245b 100644
--- a/drivers/vhost/blk.c
+++ b/drivers/vhost/blk.c
@@ -419,8 +419,6 @@ static void vhost_blk_handle_guest_kick(struct vhost_work *work)
/* Host kick us for I/O completion */
static void vhost_blk_handle_host_kick(struct vhost_work *work)
{
-
- struct vhost_virtqueue *vq;
struct vhost_blk_req *req;
struct llist_node *llnode;
struct vhost_blk *blk;
@@ -429,7 +427,6 @@ static void vhost_blk_handle_host_kick(struct vhost_work *work)
int ret;
blk = container_of(work, struct vhost_blk, work);
- vq = &blk->vq;
llnode = llist_del_all(&blk->llhead);
added = false;
2013 Mar 11
1
[PATCH -next] vhost-blk: remove unused variable
...d9b245b 100644
--- a/drivers/vhost/blk.c
+++ b/drivers/vhost/blk.c
@@ -419,8 +419,6 @@ static void vhost_blk_handle_guest_kick(struct vhost_work *work)
/* Host kick us for I/O completion */
static void vhost_blk_handle_host_kick(struct vhost_work *work)
{
-
- struct vhost_virtqueue *vq;
struct vhost_blk_req *req;
struct llist_node *llnode;
struct vhost_blk *blk;
@@ -429,7 +427,6 @@ static void vhost_blk_handle_host_kick(struct vhost_work *work)
int ret;
blk = container_of(work, struct vhost_blk, work);
- vq = &blk->vq;
llnode = llist_del_all(&blk->llhead);
added = false;
2018 Nov 06
0
[PATCH 1/1] Add vhost_blk driver
...operly.
> +#define VHOST_BLK_SET_BACKEND _IOW(VHOST_VIRTIO, 0x50, int)
Needs to be in the uapi header so userspace can use it.
> +
> +enum {
> + VHOST_BLK_VQ_MAX = 16,
> + VHOST_BLK_VQ_MAX_REQS = 128,
> +};
These limits seem arbitrary and probably too low.
> +
> +struct vhost_blk_req {
> + struct llist_node list;
> + int index;
> + struct vhost_blk_queue *q;
> + struct virtio_blk_outhdr hdr;
> + struct iovec *out_iov;
> + struct iovec *in_iov;
> + u8 out_num;
> + u8 in_num;
> + long len;
> + struct kiocb iocb;
> + struct iov_iter i;
> + int r...
2012 Jul 12
2
[PATCH 3/5] vhost: Make vhost a separate module
Currently, vhost-net is the only consumer of vhost infrastructure. So
vhost infrastructure and vhost-net driver are in a single module.
Separating this as a vhost.ko module and a vhost-net.ko module makes it
is easier to share code with other vhost drivers, e.g. vhost-blk.ko,
tcm-vhost.ko.
Signed-off-by: Asias He <asias at redhat.com>
---
drivers/vhost/Kconfig | 10 +++++++++-
2012 Jul 12
2
[PATCH 3/5] vhost: Make vhost a separate module
Currently, vhost-net is the only consumer of vhost infrastructure. So
vhost infrastructure and vhost-net driver are in a single module.
Separating this as a vhost.ko module and a vhost-net.ko module makes it
is easier to share code with other vhost drivers, e.g. vhost-blk.ko,
tcm-vhost.ko.
Signed-off-by: Asias He <asias at redhat.com>
---
drivers/vhost/Kconfig | 10 +++++++++-
2012 Jul 13
9
[PATCH RESEND 0/5] Add vhost-blk support
Hi folks,
[I am resending to fix the broken thread in the previous one.]
This patchset adds vhost-blk support. vhost-blk is a in kernel virito-blk
device accelerator. Compared to userspace virtio-blk implementation, vhost-blk
gives about 5% to 15% performance improvement.
Asias He (5):
aio: Export symbols and struct kiocb_batch for in kernel aio usage
eventfd: Export symbol
2012 Jul 13
9
[PATCH RESEND 0/5] Add vhost-blk support
Hi folks,
[I am resending to fix the broken thread in the previous one.]
This patchset adds vhost-blk support. vhost-blk is a in kernel virito-blk
device accelerator. Compared to userspace virtio-blk implementation, vhost-blk
gives about 5% to 15% performance improvement.
Asias He (5):
aio: Export symbols and struct kiocb_batch for in kernel aio usage
eventfd: Export symbol