search for: virtqueue_add_outbuf

Displaying 20 results from an estimated 405 matches for "virtqueue_add_outbuf".

2014 Aug 28
3
[PATCH v2 0/4] virtio: Clean up scatterlists and use the DMA API
....644039] Modules linked in: virtio_net virtio_blk dm_multipath sunrpc > [ 8.644046] CPU: 0 PID: 1291 Comm: iperf Not tainted 3.16.0+ #130 > [ 8.644048] task: 00000000018ee4c0 ti: 0000000022098000 task.ti: 0000000022098000 > [ 8.644051] Krnl PSW : 0704d00180000000 0000000000421618 (virtqueue_add_outbuf+0x2e4/0x340) > [ 8.644066] R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:1 PM:0 EA:3 > Krnl GPRS: 00000000299f8a80 0000000000000000 0000000000000001 000003d100000000 > [ 8.644070] 00000000004214de 0000000000000e2c 0000000000000001 0000000000000002 > [ 8.6440...
2014 Aug 28
3
[PATCH v2 0/4] virtio: Clean up scatterlists and use the DMA API
....644039] Modules linked in: virtio_net virtio_blk dm_multipath sunrpc > [ 8.644046] CPU: 0 PID: 1291 Comm: iperf Not tainted 3.16.0+ #130 > [ 8.644048] task: 00000000018ee4c0 ti: 0000000022098000 task.ti: 0000000022098000 > [ 8.644051] Krnl PSW : 0704d00180000000 0000000000421618 (virtqueue_add_outbuf+0x2e4/0x340) > [ 8.644066] R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:1 PM:0 EA:3 > Krnl GPRS: 00000000299f8a80 0000000000000000 0000000000000001 000003d100000000 > [ 8.644070] 00000000004214de 0000000000000e2c 0000000000000001 0000000000000002 > [ 8.6440...
2017 Sep 11
6
mm, virtio: possible OOM lockup at virtballoon_oom_notify()
...loon_oom_notify() via blocking_notifier_call_chain() callback when vb->balloon_lock mutex is already held by fill_balloon(). As a result, despite __GFP_NORETRY is specified, fill_balloon() can indirectly get stuck waiting for vb->balloon_lock mutex at leak_balloon(). Also, in leak_balloon(), virtqueue_add_outbuf(GFP_KERNEL) is called via tell_host(). Reaching __alloc_pages_may_oom() from this virtqueue_add_outbuf() request from leak_balloon() from virtballoon_oom_notify() from blocking_notifier_call_chain() from out_of_memory() leads to OOM lockup because oom_lock mutex is already held before calling out_o...
2017 Sep 11
6
mm, virtio: possible OOM lockup at virtballoon_oom_notify()
...loon_oom_notify() via blocking_notifier_call_chain() callback when vb->balloon_lock mutex is already held by fill_balloon(). As a result, despite __GFP_NORETRY is specified, fill_balloon() can indirectly get stuck waiting for vb->balloon_lock mutex at leak_balloon(). Also, in leak_balloon(), virtqueue_add_outbuf(GFP_KERNEL) is called via tell_host(). Reaching __alloc_pages_may_oom() from this virtqueue_add_outbuf() request from leak_balloon() from virtballoon_oom_notify() from blocking_notifier_call_chain() from out_of_memory() leads to OOM lockup because oom_lock mutex is already held before calling out_o...
2023 May 17
2
[PATCH vhost v9 04/12] virtio_ring: virtqueue_add() support premapped
...ue *vq = to_vvq(_vq); @@ -2176,7 +2177,7 @@ int virtqueue_add_sgs(struct virtqueue *_vq, total_sg++; } return virtqueue_add(_vq, sgs, total_sg, out_sgs, in_sgs, - data, NULL, gfp); + data, NULL, false, gfp); } EXPORT_SYMBOL_GPL(virtqueue_add_sgs); @@ -2198,7 +2199,7 @@ int virtqueue_add_outbuf(struct virtqueue *vq, void *data, gfp_t gfp) { - return virtqueue_add(vq, &sg, num, 1, 0, data, NULL, gfp); + return virtqueue_add(vq, &sg, num, 1, 0, data, NULL, false, gfp); } EXPORT_SYMBOL_GPL(virtqueue_add_outbuf); @@ -2220,7 +2221,7 @@ int virtqueue_add_inbuf(struct virt...
2013 Mar 18
28
[PATCH 00/22] virtqueue_add_sgs, virtqueue_add_outbuf, virtqueue_add_inbuf
Add virtqueue_add_sgs which is more general than virtqueue_add_buf, which makes virtio-scsi and virtio-blk nicer, then add virtqueue_add_inbuf and virtqueue_add_outbuf which handle the more general case, and finally delete virtqueue_add_buf(). I'm hoping this will be the final post of the whole series, and it can move from my pending-rebases tree into virtio-next. Thanks! Rusty. Paolo Bonzini (4): scatterlist: introduce sg_unmark_end virtio-blk: reorga...
2013 Mar 18
28
[PATCH 00/22] virtqueue_add_sgs, virtqueue_add_outbuf, virtqueue_add_inbuf
Add virtqueue_add_sgs which is more general than virtqueue_add_buf, which makes virtio-scsi and virtio-blk nicer, then add virtqueue_add_inbuf and virtqueue_add_outbuf which handle the more general case, and finally delete virtqueue_add_buf(). I'm hoping this will be the final post of the whole series, and it can move from my pending-rebases tree into virtio-next. Thanks! Rusty. Paolo Bonzini (4): scatterlist: introduce sg_unmark_end virtio-blk: reorga...
2023 Mar 07
2
[PATCH vhost v1 03/12] virtio_ring: split: introduce virtqueue_add_split_premapped()
...gfp_t gfp) > +{ > + struct vring_virtqueue *vq = to_vvq(_vq); > + > + return virtqueue_add_split(_vq, sgs, total_sg, out_sgs, in_sgs, data, > + ctx, false, gfp); > } > > /** > @@ -2264,6 +2293,31 @@ int virtqueue_add_outbuf(struct virtqueue *vq, > } > EXPORT_SYMBOL_GPL(virtqueue_add_outbuf); > > +/** > + * virtqueue_add_outbuf_premapped - expose output buffers with dma address to other end > + * @vq: the struct virtqueue we're talking about. > + * @sg: scatterlist (must be well-formed and te...
2015 May 01
5
[RFC 0/4] rpmsg: Fix init of DMA:able virtqueues
From: "Edgar E. Iglesias" <edgar.iglesias at xilinx.com> I'm trying to run rpmsg and remoteproc on the ZynqMP (arm64) but I'm hitting a DMA/mm error. The issue was discussed here: http://lists.infradead.org/pipermail/linux-arm-kernel/2015-March/333050.html Russel King pointed out that the arm64 is not doing anything wrong by returning vmapped memory (which is incompatible
2015 May 01
5
[RFC 0/4] rpmsg: Fix init of DMA:able virtqueues
From: "Edgar E. Iglesias" <edgar.iglesias at xilinx.com> I'm trying to run rpmsg and remoteproc on the ZynqMP (arm64) but I'm hitting a DMA/mm error. The issue was discussed here: http://lists.infradead.org/pipermail/linux-arm-kernel/2015-March/333050.html Russel King pointed out that the arm64 is not doing anything wrong by returning vmapped memory (which is incompatible
2020 Jul 10
2
[PATCH] virtio_balloon: fix sparse warning
...on *vb) while (virtqueue_get_buf(vq, &unused)) ; - vb->cmd_id_active = virtio32_to_cpu(vb->vdev, + vb->cmd_id_active = cpu_to_virtio32(vb->vdev, virtio_balloon_cmd_id_received(vb)); sg_init_one(&sg, &vb->cmd_id_active, sizeof(vb->cmd_id_active)); err = virtqueue_add_outbuf(vq, &sg, 1, &vb->cmd_id_active, GFP_KERNEL); -- MST
2014 Aug 28
0
[PATCH v2 0/4] virtio: Clean up scatterlists and use the DMA API
...ules linked in: virtio_net virtio_blk dm_multipath sunrpc >> [ 8.644046] CPU: 0 PID: 1291 Comm: iperf Not tainted 3.16.0+ #130 >> [ 8.644048] task: 00000000018ee4c0 ti: 0000000022098000 task.ti: 0000000022098000 >> [ 8.644051] Krnl PSW : 0704d00180000000 0000000000421618 (virtqueue_add_outbuf+0x2e4/0x340) >> [ 8.644066] R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:1 PM:0 EA:3 >> Krnl GPRS: 00000000299f8a80 0000000000000000 0000000000000001 000003d100000000 >> [ 8.644070] 00000000004214de 0000000000000e2c 0000000000000001 0000000000000002 >...
2013 Oct 02
2
Kmemleak: false-positive in vring_add_indirect ?
...=............ 02 dc 51 3c 00 00 00 00 56 00 00 00 00 00 00 00 ..Q<....V....... backtrace: [<ffffffff8152db19>] kmemleak_alloc+0x59/0xc0 [<ffffffff81102e93>] __kmalloc+0xf3/0x180 [<ffffffff812db5d6>] vring_add_indirect+0x36/0x280 [<ffffffff812dc59f>] virtqueue_add_outbuf+0xbf/0x4e0 [<ffffffff813a8b30>] start_xmit+0x1a0/0x3b0 [<ffffffff81445861>] dev_hard_start_xmit+0x2d1/0x4d0 [<ffffffff81460052>] sch_direct_xmit+0xf2/0x1c0 [<ffffffff81445c28>] dev_queue_xmit+0x1c8/0x460 [<ffffffff814e3187>] ip6_finish_output2+0x1d7...
2013 Oct 02
2
Kmemleak: false-positive in vring_add_indirect ?
...=............ 02 dc 51 3c 00 00 00 00 56 00 00 00 00 00 00 00 ..Q<....V....... backtrace: [<ffffffff8152db19>] kmemleak_alloc+0x59/0xc0 [<ffffffff81102e93>] __kmalloc+0xf3/0x180 [<ffffffff812db5d6>] vring_add_indirect+0x36/0x280 [<ffffffff812dc59f>] virtqueue_add_outbuf+0xbf/0x4e0 [<ffffffff813a8b30>] start_xmit+0x1a0/0x3b0 [<ffffffff81445861>] dev_hard_start_xmit+0x2d1/0x4d0 [<ffffffff81460052>] sch_direct_xmit+0xf2/0x1c0 [<ffffffff81445c28>] dev_queue_xmit+0x1c8/0x460 [<ffffffff814e3187>] ip6_finish_output2+0x1d7...
2014 Aug 28
0
[PATCH v2 0/4] virtio: Clean up scatterlists and use the DMA API
...#1] SMP [ 8.644039] Modules linked in: virtio_net virtio_blk dm_multipath sunrpc [ 8.644046] CPU: 0 PID: 1291 Comm: iperf Not tainted 3.16.0+ #130 [ 8.644048] task: 00000000018ee4c0 ti: 0000000022098000 task.ti: 0000000022098000 [ 8.644051] Krnl PSW : 0704d00180000000 0000000000421618 (virtqueue_add_outbuf+0x2e4/0x340) [ 8.644066] R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:1 PM:0 EA:3 Krnl GPRS: 00000000299f8a80 0000000000000000 0000000000000001 000003d100000000 [ 8.644070] 00000000004214de 0000000000000e2c 0000000000000001 0000000000000002 [ 8.644072] 00000...
2023 Mar 07
1
[PATCH vhost v1 03/12] virtio_ring: split: introduce virtqueue_add_split_premapped()
...{ > > + struct vring_virtqueue *vq = to_vvq(_vq); > > + > > + return virtqueue_add_split(_vq, sgs, total_sg, out_sgs, in_sgs, data, > > + ctx, false, gfp); > > } > > > > /** > > @@ -2264,6 +2293,31 @@ int virtqueue_add_outbuf(struct virtqueue *vq, > > } > > EXPORT_SYMBOL_GPL(virtqueue_add_outbuf); > > > > +/** > > + * virtqueue_add_outbuf_premapped - expose output buffers with dma address to other end > > + * @vq: the struct virtqueue we're talking about. > > + * @sg: scat...
2023 Feb 20
1
[PATCH vhost 04/10] virtio_ring: split: introduce virtqueue_add_split_premapped()
...l_sg, out_sgs, > > + in_sgs, data, ctx, gfp); > > +} > > + > > /** > > * virtqueue_add_sgs - expose buffers to other end > > * @_vq: the struct virtqueue we're talking about. > > @@ -2261,6 +2326,31 @@ int virtqueue_add_outbuf(struct virtqueue *vq, > > } > > EXPORT_SYMBOL_GPL(virtqueue_add_outbuf); > > > > +/** > > + * virtqueue_add_outbuf_premapped - expose output buffers to other end > > + * @vq: the struct virtqueue we're talking about. > > + * @sg: scatterlist (must be...
2014 Sep 03
0
[PATCH 2/3] virtio_ring: assume sgs are always well-formed.
...sgs[i]; sg; sg = sg_next(sg)) - total_in++; + total_sg++; } - return virtqueue_add(_vq, sgs, sg_next_chained, - total_out, total_in, out_sgs, in_sgs, data, gfp); + return virtqueue_add(_vq, sgs, total_sg, out_sgs, in_sgs, data, gfp); } EXPORT_SYMBOL_GPL(virtqueue_add_sgs); /** * virtqueue_add_outbuf - expose output buffers to other end * @vq: the struct virtqueue we're talking about. - * @sgs: array of scatterlists (need not be terminated!) - * @num: the number of scatterlists readable by other side + * @sg: scatterlist (must be well-formed and terminated!) + * @num: the number of entrie...
2016 May 20
6
[PATCH RFC kernel] balloon: speed up inflating/deflating process
..., sizeof(flags)); + sg_set_buf(&sg[1], &start_pfn, sizeof(start_pfn)); + sg_set_buf(&sg[2], &page_shift, sizeof(page_shift)); + sg_set_buf(&sg[3], &bmap_len, sizeof(bmap_len)); + sg_set_buf(&sg[4], vb->page_bitmap + + (start_pfn / BITS_PER_LONG), bmap_len); + virtqueue_add_outbuf(vq, sg, 5, vb, GFP_KERNEL); + + } else { + struct scatterlist sg; + + sg_init_one(&sg, vb->pfns, sizeof(vb->pfns[0]) * vb->num_pfns); + /* We should always be able to add one buffer to an + * empty queue. + */ + virtqueue_add_outbuf(vq, &sg, 1, vb, GFP_KERNEL); + } - /* We...
2016 May 20
6
[PATCH RFC kernel] balloon: speed up inflating/deflating process
..., sizeof(flags)); + sg_set_buf(&sg[1], &start_pfn, sizeof(start_pfn)); + sg_set_buf(&sg[2], &page_shift, sizeof(page_shift)); + sg_set_buf(&sg[3], &bmap_len, sizeof(bmap_len)); + sg_set_buf(&sg[4], vb->page_bitmap + + (start_pfn / BITS_PER_LONG), bmap_len); + virtqueue_add_outbuf(vq, sg, 5, vb, GFP_KERNEL); + + } else { + struct scatterlist sg; + + sg_init_one(&sg, vb->pfns, sizeof(vb->pfns[0]) * vb->num_pfns); + /* We should always be able to add one buffer to an + * empty queue. + */ + virtqueue_add_outbuf(vq, &sg, 1, vb, GFP_KERNEL); + } - /* We...