Re: [PATCH v6 0/7] reference implementation of RSS and hash report

2020-03-26 Thread Jason Wang



On 2020/3/26 下午9:32, Michael S. Tsirkin wrote:

On Fri, Mar 20, 2020 at 01:57:44PM +0200, Yuri Benditovich wrote:

Support for VIRTIO_NET_F_RSS and VIRTIO_NET_F_HASH_REPORT
features in QEMU for reference purpose.
Implements Toeplitz hash calculation for incoming
packets according to configuration provided by driver.
Uses calculated hash for decision on receive virtqueue
and/or reports the hash in the virtio header

Series:

Reviewed-by: Michael S. Tsirkin 



Queued for 5.1.

Thanks





Changes from v5:
RSS migration state moved to subsection and migrated
only if enabled (patch 7)
Updated sign off (patch 6)

Yuri Benditovich (7):
   virtio-net: introduce RSS and hash report features
   virtio-net: implement RSS configuration command
   virtio-net: implement RX RSS processing
   tap: allow extended virtio header with hash info
   virtio-net: reference implementation of hash report
   vmstate.h: provide VMSTATE_VARRAY_UINT16_ALLOC macro
   virtio-net: add migration support for RSS and hash report

  hw/net/trace-events|   3 +
  hw/net/virtio-net.c| 448 +++--
  include/hw/virtio/virtio-net.h |  16 ++
  include/migration/vmstate.h|  10 +
  net/tap.c  |  11 +-
  5 files changed, 460 insertions(+), 28 deletions(-)

--
2.17.1





Re: [PATCH v6 0/7] reference implementation of RSS and hash report

2020-03-26 Thread Michael S. Tsirkin
On Fri, Mar 20, 2020 at 01:57:44PM +0200, Yuri Benditovich wrote:
> Support for VIRTIO_NET_F_RSS and VIRTIO_NET_F_HASH_REPORT
> features in QEMU for reference purpose.
> Implements Toeplitz hash calculation for incoming
> packets according to configuration provided by driver.
> Uses calculated hash for decision on receive virtqueue
> and/or reports the hash in the virtio header

Series:

Reviewed-by: Michael S. Tsirkin 

> Changes from v5:
> RSS migration state moved to subsection and migrated
> only if enabled (patch 7)
> Updated sign off (patch 6)
> 
> Yuri Benditovich (7):
>   virtio-net: introduce RSS and hash report features
>   virtio-net: implement RSS configuration command
>   virtio-net: implement RX RSS processing
>   tap: allow extended virtio header with hash info
>   virtio-net: reference implementation of hash report
>   vmstate.h: provide VMSTATE_VARRAY_UINT16_ALLOC macro
>   virtio-net: add migration support for RSS and hash report
> 
>  hw/net/trace-events|   3 +
>  hw/net/virtio-net.c| 448 +++--
>  include/hw/virtio/virtio-net.h |  16 ++
>  include/migration/vmstate.h|  10 +
>  net/tap.c  |  11 +-
>  5 files changed, 460 insertions(+), 28 deletions(-)
> 
> -- 
> 2.17.1




Re: [PATCH v6 0/7] reference implementation of RSS and hash report

2020-03-26 Thread Michael S. Tsirkin
On Fri, Mar 20, 2020 at 06:38:51AM -0700, no-re...@patchew.org wrote:
> qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or 
> directory
> qemu-system-x86_64: falling back to tcg
> =
> ==8831==ERROR: AddressSanitizer: stack-buffer-overflow on address 
> 0x7ffc0dacbe80 at pc 0x55ee01d9e92a bp 0x7ffc0dac7080 sp 0x7ffc0dac6830
> READ of size 1518 at 0x7ffc0dacbe80 thread T0
> #0 0x55ee01d9e929 in __asan_memcpy 
> (/tmp/qemu-test/build/x86_64-softmmu/qemu-system-x86_64+0x1acb929)
> #1 0x55ee04694dad in iov_from_buf_full /tmp/qemu-test/src/util/iov.c:33:13

Hmm this seems to be iov related so could be triggered by the new
patches. Could you investigate pls?

-- 
MST




Re: [PATCH v6 0/7] reference implementation of RSS and hash report

2020-03-20 Thread no-reply
Patchew URL: 
https://patchew.org/QEMU/20200320115751.19446-1-yuri.benditov...@daynix.com/



Hi,

This series failed the asan build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
export ARCH=x86_64
make docker-image-fedora V=1 NETWORK=1
time make docker-test-debug@fedora TARGET_LIST=x86_64-softmmu J=14 NETWORK=1
=== TEST SCRIPT END ===

PASS 1 fdc-test /x86_64/fdc/cmos
PASS 2 fdc-test /x86_64/fdc/no_media_on_start
PASS 3 fdc-test /x86_64/fdc/read_without_media
==7068==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
==7082==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 1 test-coroutine /basic/no-dangling-access
PASS 2 test-coroutine /basic/lifecycle
PASS 3 test-coroutine /basic/yield
==7082==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 
0x7ffe5820d000; bottom 0x7f659db2; size: 0x0098ba6ed000 (655962853376)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 4 fdc-test /x86_64/fdc/media_change
---
PASS 11 test-aio /aio/event/wait
PASS 12 test-aio /aio/event/flush
PASS 13 test-aio /aio/event/wait/no-flush-cb
==7098==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 14 test-aio /aio/timer/schedule
PASS 15 test-aio /aio/coroutine/queue-chaining
PASS 16 test-aio /aio-gsource/flush
---
PASS 11 fdc-test /x86_64/fdc/read_no_dma_18
PASS 28 test-aio /aio-gsource/timer/schedule
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  
tests/test-aio-multithread -m=quick -k --tap < /dev/null | 
./scripts/tap-driver.pl --test-name="test-aio-multithread" 
==7103==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 1 test-aio-multithread /aio/multi/lifecycle
PASS 2 test-aio-multithread /aio/multi/schedule
PASS 3 test-aio-multithread /aio/multi/mutex/contended
PASS 12 fdc-test /x86_64/fdc/read_no_dma_19
PASS 13 fdc-test /x86_64/fdc/fuzz-registers
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  
QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img 
tests/qtest/ide-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl 
--test-name="ide-test" 
==7130==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 1 ide-test /x86_64/ide/identify
==7136==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 4 test-aio-multithread /aio/multi/mutex/handoff
PASS 2 ide-test /x86_64/ide/flush
PASS 5 test-aio-multithread /aio/multi/mutex/mcs
==7147==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 3 ide-test /x86_64/ide/bmdma/simple_rw
PASS 6 test-aio-multithread /aio/multi/mutex/pthread
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  
tests/test-throttle -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl 
--test-name="test-throttle" 
==7158==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
==7164==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 1 test-throttle /throttle/leak_bucket
PASS 2 test-throttle /throttle/compute_wait
PASS 3 test-throttle /throttle/init
---
PASS 15 test-throttle /throttle/config/iops_size
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  
tests/test-thread-pool -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl 
--test-name="test-thread-pool" 
PASS 4 ide-test /x86_64/ide/bmdma/trim
==7169==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 1 test-thread-pool /thread-pool/submit
PASS 2 test-thread-pool /thread-pool/submit-aio
PASS 3 test-thread-pool /thread-pool/submit-co
PASS 4 test-thread-pool /thread-pool/submit-many
==7171==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 5 test-thread-pool /thread-pool/cancel
PASS 6 test-thread-pool /thread-pool/cancel-async
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  
tests/test-hbitmap -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl 
--test-name="test-hbitmap" 
---
PASS 15 test-hbitmap /hbitmap/set/overlap
PASS 16 test-hbitmap /hbitmap/reset/empty
PASS 17 test-hbitmap /hbitmap/reset/general
==7246==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 18 test-hbitmap /hbitmap/reset/all
PASS 19 te

[PATCH v6 0/7] reference implementation of RSS and hash report

2020-03-20 Thread Yuri Benditovich
Support for VIRTIO_NET_F_RSS and VIRTIO_NET_F_HASH_REPORT
features in QEMU for reference purpose.
Implements Toeplitz hash calculation for incoming
packets according to configuration provided by driver.
Uses calculated hash for decision on receive virtqueue
and/or reports the hash in the virtio header

Changes from v5:
RSS migration state moved to subsection and migrated
only if enabled (patch 7)
Updated sign off (patch 6)

Yuri Benditovich (7):
  virtio-net: introduce RSS and hash report features
  virtio-net: implement RSS configuration command
  virtio-net: implement RX RSS processing
  tap: allow extended virtio header with hash info
  virtio-net: reference implementation of hash report
  vmstate.h: provide VMSTATE_VARRAY_UINT16_ALLOC macro
  virtio-net: add migration support for RSS and hash report

 hw/net/trace-events|   3 +
 hw/net/virtio-net.c| 448 +++--
 include/hw/virtio/virtio-net.h |  16 ++
 include/migration/vmstate.h|  10 +
 net/tap.c  |  11 +-
 5 files changed, 460 insertions(+), 28 deletions(-)

-- 
2.17.1