* |WARNING| pw109569 [PATCH] vhost: support sync copy when data buffer is small
@ 2022-04-11 5:59 dpdklab
0 siblings, 0 replies; only message in thread
From: dpdklab @ 2022-04-11 5:59 UTC (permalink / raw)
To: test-report; +Cc: dpdk-test-reports
[-- Attachment #1: Type: text/plain, Size: 4220 bytes --]
Test-Label: iol-testing
Test-Status: WARNING
http://dpdk.org/patch/109569
_apply patch failure_
Submitter: Wenwu Ma <wenwux.ma@intel.com>
Date: Monday, April 11 2022 13:38:36
Applied on: CommitID:1e230b9be8866939ef7ce9f7f16b8c8369b7bc28
Apply patch set 109569 failed:
Checking patch lib/vhost/vhost.h...
Checking patch lib/vhost/virtio_net.c...
error: while searching for:
static __rte_always_inline int
async_fill_seg(struct virtio_net *dev, struct vhost_virtqueue *vq,
struct rte_mbuf *m, uint32_t mbuf_offset,
uint64_t buf_iova, uint32_t cpy_len, bool to_desc)
{
struct vhost_async *async = vq->async;
uint64_t mapped_len;
uint32_t buf_offset = 0;
void *src, *dst;
void *host_iova;
while (cpy_len) {
error: patch failed: lib/vhost/virtio_net.c:999
error: while searching for:
return -1;
}
if (to_desc) {
src = (void *)(uintptr_t)rte_pktmbuf_iova_offset(m, mbuf_offset);
dst = host_iova;
} else {
src = host_iova;
dst = (void *)(uintptr_t)rte_pktmbuf_iova_offset(m, mbuf_offset);
}
if (unlikely(async_iter_add_iovec(dev, async, src, dst,
(size_t)mapped_len)))
return -1;
cpy_len -= (uint32_t)mapped_len;
error: patch failed: lib/vhost/virtio_net.c:1016
error: while searching for:
if (is_async) {
if (async_fill_seg(dev, vq, m, mbuf_offset,
buf_iova + buf_offset, cpy_len, true) < 0)
goto error;
} else {
error: patch failed: lib/vhost/virtio_net.c:1169
error: while searching for:
if (is_async) {
if (async_fill_seg(dev, vq, m, mbuf_offset,
buf_iova + buf_offset, cpy_len, false) < 0)
goto error;
} else {
error: patch failed: lib/vhost/virtio_net.c:2562
Applied patch lib/vhost/vhost.h cleanly.
Applying patch lib/vhost/virtio_net.c with 4 rejects...
Hunk #1 applied cleanly.
Hunk #2 applied cleanly.
Hunk #3 applied cleanly.
Hunk #4 applied cleanly.
Hunk #5 applied cleanly.
Hunk #6 applied cleanly.
Rejected hunk #7.
Rejected hunk #8.
Rejected hunk #9.
Rejected hunk #10.
diff a/lib/vhost/virtio_net.c b/lib/vhost/virtio_net.c (rejected hunks)
@@ -999,12 +1031,13 @@ async_iter_reset(struct vhost_async *async)
static __rte_always_inline int
async_fill_seg(struct virtio_net *dev, struct vhost_virtqueue *vq,
struct rte_mbuf *m, uint32_t mbuf_offset,
- uint64_t buf_iova, uint32_t cpy_len, bool to_desc)
+ uint64_t buf_addr, uint64_t buf_iova, uint32_t cpy_len, bool to_desc)
{
struct vhost_async *async = vq->async;
uint64_t mapped_len;
uint32_t buf_offset = 0;
- void *src, *dst;
+ void *io_src, *io_dst;
+ void *virt_src, *virt_dst;
void *host_iova;
while (cpy_len) {
@@ -1016,16 +1049,23 @@ async_fill_seg(struct virtio_net *dev, struct vhost_virtqueue *vq,
return -1;
}
+
if (to_desc) {
- src = (void *)(uintptr_t)rte_pktmbuf_iova_offset(m, mbuf_offset);
- dst = host_iova;
+ io_src = (void *)(uintptr_t)rte_pktmbuf_iova_offset(m, mbuf_offset);
+ io_dst = host_iova;
+
+ virt_src = rte_pktmbuf_mtod_offset(m, void *, mbuf_offset);
+ virt_dst = (void *)(buf_addr + buf_offset);
} else {
- src = host_iova;
- dst = (void *)(uintptr_t)rte_pktmbuf_iova_offset(m, mbuf_offset);
+ io_src = host_iova;
+ io_dst = (void *)(uintptr_t)rte_pktmbuf_iova_offset(m, mbuf_offset);
+
+ virt_src = (void *)(buf_addr + buf_offset);
+ virt_dst = rte_pktmbuf_mtod_offset(m, void *, mbuf_offset);
}
- if (unlikely(async_iter_add_iovec(dev, async, src, dst,
- (size_t)mapped_len)))
+ if (unlikely(async_iter_add_iovec(dev, async, io_src, io_dst,
+ virt_src, virt_dst, (size_t)mapped_len)))
return -1;
cpy_len -= (uint32_t)mapped_len;
@@ -1169,6 +1209,7 @@ mbuf_to_desc(struct virtio_net *dev, struct vhost_virtqueue *vq,
if (is_async) {
if (async_fill_seg(dev, vq, m, mbuf_offset,
+ buf_addr + buf_offset,
buf_iova + buf_offset, cpy_len, true) < 0)
goto error;
} else {
@@ -2562,6 +2603,7 @@ desc_to_mbuf(struct virtio_net *dev, struct vhost_virtqueue *vq,
if (is_async) {
if (async_fill_seg(dev, vq, m, mbuf_offset,
+ buf_addr + buf_offset,
buf_iova + buf_offset, cpy_len, false) < 0)
goto error;
} else {
https://lab.dpdk.org/results/dashboard/patchsets/21764/
UNH-IOL DPDK Community Lab
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-04-11 5:59 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-11 5:59 |WARNING| pw109569 [PATCH] vhost: support sync copy when data buffer is small dpdklab
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).