search for: vhost_net_open

Displaying 20 results from an estimated 117 matches for "vhost_net_open".

2018 Mar 09
0
[PATCH net 1/3] vhost_net: initialize rx_ring in vhost_net_open()
...x6f/0xd0 mm/kmsan/kmsan.c:392 kmalloc_large_node_hook mm/slub.c:1366 [inline] kmalloc_large_node mm/slub.c:3808 [inline] __kmalloc_node+0x100e/0x1290 mm/slub.c:3818 kmalloc_node include/linux/slab.h:554 [inline] kvmalloc_node+0x1a5/0x2e0 mm/util.c:419 kvmalloc include/linux/mm.h:541 [inline] vhost_net_open+0x64/0x5f0 drivers/vhost/net.c:921 misc_open+0x7b5/0x8b0 drivers/char/misc.c:154 chrdev_open+0xc28/0xd90 fs/char_dev.c:417 do_dentry_open+0xccb/0x1430 fs/open.c:752 vfs_open+0x272/0x2e0 fs/open.c:866 do_last fs/namei.c:3378 [inline] path_openat+0x49ad/0x6580 fs/namei.c:3519 do_filp_open+0x26...
2017 Jan 04
0
GFP_REPEAT usage in vhost_net_open resp. vhost_vsock_dev_open
On Wed, Jan 04, 2017 at 04:08:00PM +0100, Michal Hocko wrote: > Hi Michael, > I am currently cleaning up opencoded kmalloc with vmalloc fallback users > [1] and my current kvmalloc_node helper doesn't support GFP_REPEAT > because there are no users which would need it. At least that's what I > thought until I've encountered vhost_vsock_dev_open resp. >
2014 May 13
4
[PATCH v1] vhost: avoid large order allocations
"Michael S. Tsirkin" <mst at redhat.com> writes: > Please dont' do this, extra indirection hurts performance. > Instead, please change vhost_net_open and scsi to allocate the whole > structure with vmalloc if kmalloc fails, along the lines of > 74d332c13b2148ae934ea94dac1745ae92efe8e5 Back in January 2013, you didn't seem to think it was a good idea: https://lkml.org/lkml/2013/1/23/492
2014 May 13
4
[PATCH v1] vhost: avoid large order allocations
"Michael S. Tsirkin" <mst at redhat.com> writes: > Please dont' do this, extra indirection hurts performance. > Instead, please change vhost_net_open and scsi to allocate the whole > structure with vmalloc if kmalloc fails, along the lines of > 74d332c13b2148ae934ea94dac1745ae92efe8e5 Back in January 2013, you didn't seem to think it was a good idea: https://lkml.org/lkml/2013/1/23/492
2017 Jan 04
2
GFP_REPEAT usage in vhost_net_open resp. vhost_vsock_dev_open
Hi Michael, I am currently cleaning up opencoded kmalloc with vmalloc fallback users [1] and my current kvmalloc_node helper doesn't support GFP_REPEAT because there are no users which would need it. At least that's what I thought until I've encountered vhost_vsock_dev_open resp. vhost_vsock_dev_open which are trying to use GFP_REPEAT for kmalloc. 23cc5a991c7a ("vhost-net: extend
2017 Jan 04
2
GFP_REPEAT usage in vhost_net_open resp. vhost_vsock_dev_open
Hi Michael, I am currently cleaning up opencoded kmalloc with vmalloc fallback users [1] and my current kvmalloc_node helper doesn't support GFP_REPEAT because there are no users which would need it. At least that's what I thought until I've encountered vhost_vsock_dev_open resp. vhost_vsock_dev_open which are trying to use GFP_REPEAT for kmalloc. 23cc5a991c7a ("vhost-net: extend
2014 Jun 11
2
[PULL] vhost: infrastructure changes for 3.16
Hi Linus, Please pull the following. Please note this needs to be merged before merging target-pending PULL which Nicholas will be sending out shortly. Thanks! The following changes since commit 1860e379875dfe7271c649058aeddffe5afd9d0d: Linux 3.15 (2014-06-08 11:19:54 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git tags/for_linus
2014 Jun 11
2
[PULL] vhost: infrastructure changes for 3.16
Hi Linus, Please pull the following. Please note this needs to be merged before merging target-pending PULL which Nicholas will be sending out shortly. Thanks! The following changes since commit 1860e379875dfe7271c649058aeddffe5afd9d0d: Linux 3.15 (2014-06-08 11:19:54 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git tags/for_linus
2018 Mar 09
7
[PATCH net 0/3] Several fixes for vhost_net ptr_ring usage
Hi: This small series try to fix several bugs of ptr_ring usage in vhost_net. Please review. Thanks Alexander Potapenko (1): vhost_net: initialize rx_ring in vhost_net_open() Jason Wang (2): vhost_net: keep private_data and rx_ring synced vhost_net: examine pointer types during un-producing drivers/net/tun.c | 3 ++- drivers/vhost/net.c | 8 +++++--- include/linux/if_tun.h | 4 ++++ 3 files changed, 11 insertions(+), 4 deletions(-) -- 2.7.4
2013 Mar 07
3
[PATCH] vhost_net: remove tx polling state
...eak; } @@ -364,7 +333,7 @@ static void handle_tx(struct vhost_net *net) } vhost_discard_vq_desc(vq, 1); if (err == -EAGAIN || err == -ENOBUFS) - tx_poll_start(net, sock); + vhost_poll_start(poll, sock->file); break; } if (err != len) @@ -627,7 +596,6 @@ static int vhost_net_open(struct inode *inode, struct file *f) vhost_poll_init(n->poll + VHOST_NET_VQ_TX, handle_tx_net, POLLOUT, dev); vhost_poll_init(n->poll + VHOST_NET_VQ_RX, handle_rx_net, POLLIN, dev); - n->tx_poll_state = VHOST_NET_POLL_DISABLED; f->private_data = n; @@ -637,32 +605,24 @@ stat...
2013 Mar 07
3
[PATCH] vhost_net: remove tx polling state
...eak; } @@ -364,7 +333,7 @@ static void handle_tx(struct vhost_net *net) } vhost_discard_vq_desc(vq, 1); if (err == -EAGAIN || err == -ENOBUFS) - tx_poll_start(net, sock); + vhost_poll_start(poll, sock->file); break; } if (err != len) @@ -627,7 +596,6 @@ static int vhost_net_open(struct inode *inode, struct file *f) vhost_poll_init(n->poll + VHOST_NET_VQ_TX, handle_tx_net, POLLOUT, dev); vhost_poll_init(n->poll + VHOST_NET_VQ_RX, handle_rx_net, POLLIN, dev); - n->tx_poll_state = VHOST_NET_POLL_DISABLED; f->private_data = n; @@ -637,32 +605,24 @@ stat...
2018 Sep 20
1
[PATCH net-next] vhost_net: add a missing error return
...h submitting XDP buffers to underlayer sockets") Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com> diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c index dd4e0a301635..1bff6bc8161a 100644 --- a/drivers/vhost/net.c +++ b/drivers/vhost/net.c @@ -1244,6 +1244,7 @@ static int vhost_net_open(struct inode *inode, struct file *f) kfree(vqs); kvfree(n); kfree(queue); + return -ENOMEM; } n->vqs[VHOST_NET_VQ_TX].xdp = xdp;
2014 Jun 12
0
[PULL] vhost: infrastructure changes for 3.16
...971a760..8dae2f7 100644 --- a/drivers/vhost/net.c +++ b/drivers/vhost/net.c @@ -700,14 +700,6 @@ static void handle_rx_net(struct vhost_work *work) handle_rx(net); } -static void vhost_net_free(void *addr) -{ - if (is_vmalloc_addr(addr)) - vfree(addr); - else - kfree(addr); -} - static int vhost_net_open(struct inode *inode, struct file *f) { struct vhost_net *n; @@ -723,7 +715,7 @@ static int vhost_net_open(struct inode *inode, struct file *f) } vqs = kmalloc(VHOST_NET_VQ_MAX * sizeof(*vqs), GFP_KERNEL); if (!vqs) { - vhost_net_free(n); + kvfree(n); return -ENOMEM; } @@ -840,7 +8...
2013 Apr 11
1
[PATCH] vhost_net: remove tx polling state
...amp;net->dev, vq); continue; @@ -364,8 +313,6 @@ static void handle_tx(struct vhost_net *net) UIO_MAXIOV; } vhost_discard_vq_desc(vq, 1); - if (err == -EAGAIN || err == -ENOBUFS) - tx_poll_start(net, sock); break; } if (err != len) @@ -628,7 +575,6 @@ static int vhost_net_open(struct inode *inode, struct file *f) vhost_poll_init(n->poll + VHOST_NET_VQ_TX, handle_tx_net, POLLOUT, dev); vhost_poll_init(n->poll + VHOST_NET_VQ_RX, handle_rx_net, POLLIN, dev); - n->tx_poll_state = VHOST_NET_POLL_DISABLED; f->private_data = n; @@ -638,32 +584,24 @@ stat...
2013 Apr 11
1
[PATCH] vhost_net: remove tx polling state
...amp;net->dev, vq); continue; @@ -364,8 +313,6 @@ static void handle_tx(struct vhost_net *net) UIO_MAXIOV; } vhost_discard_vq_desc(vq, 1); - if (err == -EAGAIN || err == -ENOBUFS) - tx_poll_start(net, sock); break; } if (err != len) @@ -628,7 +575,6 @@ static int vhost_net_open(struct inode *inode, struct file *f) vhost_poll_init(n->poll + VHOST_NET_VQ_TX, handle_tx_net, POLLOUT, dev); vhost_poll_init(n->poll + VHOST_NET_VQ_RX, handle_rx_net, POLLIN, dev); - n->tx_poll_state = VHOST_NET_POLL_DISABLED; f->private_data = n; @@ -638,32 +584,24 @@ stat...
2020 Jul 20
0
[PATCH RFC v8 02/11] vhost: use batched get_vq_desc version
...t/net.c +++ b/drivers/vhost/net.c @@ -1279,6 +1279,10 @@ static void handle_rx_net(struct vhost_work *work) handle_rx(net); } +MODULE_PARM_DESC(batch_num, "Number of batched descriptors. (offset from 64)"); +module_param(batch_num, int, 0644); +static int batch_num = 0; + static int vhost_net_open(struct inode *inode, struct file *f) { struct vhost_net *n; @@ -1333,7 +1337,7 @@ static int vhost_net_open(struct inode *inode, struct file *f) vhost_net_buf_init(&n->vqs[i].rxq); } vhost_dev_init(dev, vqs, VHOST_NET_VQ_MAX, - UIO_MAXIOV + VHOST_NET_BATCH, + UIO_MA...
2018 Sep 12
0
[PATCH net-next V2 11/11] vhost_net: batch submitting XDP buffers to underlayer sockets
...(vhost_exceeds_weight(++sent_pkts, total_len)) { vhost_poll_queue(&vq->poll); break; } } - vhost_net_signal_used(nvq); + vhost_tx_batch(net, nvq, sock, &msg); } static void handle_tx_zerocopy(struct vhost_net *net, struct socket *sock) @@ -1081,6 +1218,7 @@ static int vhost_net_open(struct inode *inode, struct file *f) struct vhost_dev *dev; struct vhost_virtqueue **vqs; void **queue; + struct xdp_buff *xdp; int i; n = kvmalloc(sizeof *n, GFP_KERNEL | __GFP_RETRY_MAYFAIL); @@ -1101,6 +1239,14 @@ static int vhost_net_open(struct inode *inode, struct file *f) } n...
2014 May 13
2
[PATCH v1] vhost: avoid large order allocations
From: Dong Dong Chen <ddongch at cn.ibm.com> Under memory pressure we observe load issues with module vhost_net, as the vhost setup code will try to do an order 4 allocation for the device. The likeliness of this issue to occur can be reduced when the statically allocated variable "iov" in "struct vhost_virtqueue" is dynamically allocated with exactly the required size,
2020 Jul 20
0
[PATCH RFC v8 02/11] vhost: use batched get_vq_desc version
...ruct vhost_work *work) > > handle_rx(net); > > } > > > > +MODULE_PARM_DESC(batch_num, "Number of batched descriptors. (offset from 64)"); > > +module_param(batch_num, int, 0644); > > +static int batch_num = 0; > > + > > static int vhost_net_open(struct inode *inode, struct file *f) > > { > > struct vhost_net *n; > > @@ -1333,7 +1337,7 @@ static int vhost_net_open(struct inode *inode, struct file *f) > > vhost_net_buf_init(&n->vqs[i].rxq); > > } > > vhost_de...
2020 Jul 21
0
[PATCH RFC v8 02/11] vhost: use batched get_vq_desc version
...net(struct vhost_work *work) >> handle_rx(net); >> } >> >> +MODULE_PARM_DESC(batch_num, "Number of batched descriptors. (offset from 64)"); >> +module_param(batch_num, int, 0644); >> +static int batch_num = 0; >> + >> static int vhost_net_open(struct inode *inode, struct file *f) >> { >> struct vhost_net *n; >> @@ -1333,7 +1337,7 @@ static int vhost_net_open(struct inode *inode, struct file *f) >> vhost_net_buf_init(&n->vqs[i].rxq); >> } >> vhost_dev...