summary refs log tree commit diff stats
path: root/results/classifier/zero-shot/105/socket/1253563
blob: 206fe07d71c33e455bdab34419b7ac0ff621f677 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
socket: 0.666
device: 0.645
graphic: 0.634
semantic: 0.564
instruction: 0.552
network: 0.504
other: 0.446
mistranslation: 0.439
assembly: 0.425
vnc: 0.246
KVM: 0.197
boot: 0.190

bad performance with rng-egd backend


1. create listen socket
# cat /dev/random | nc -l localhost 1024

2. start vm with rng-egd backend

./x86_64-softmmu/qemu-system-x86_64 --enable-kvm -mon chardev=qmp,mode=control,pretty=on -chardev socket,id=qmp,host=localhost,port=1234,server,nowait -m 2000 -device virtio-net-pci,netdev=h1,id=vnet0 -netdev tap,id=h1 -vnc :0 -drive file=/images/RHEL-64-virtio.qcow2 \
-chardev socket,host=localhost,port=1024,id=chr0 \
-object rng-egd,chardev=chr0,id=rng0 \
-device virtio-rng-pci,rng=rng0,max-bytes=1024000,period=1000

(guest) # dd if=/dev/hwrng of=/dev/null

note: cancelling dd process by Ctrl+c, it will return the read speed.

Problem:   the speed is around 1k/s

===================

If I use rng-random backend (filename=/dev/random), the speed is about 350k/s).

It seems that when the request entry is added to the list, we don't read the data from queue list immediately.
The chr_read() is delayed, the virtio_notify() is delayed.  the next request will also be delayed. It effects the speed.

I tried to change rng_egd_chr_can_read() always returns 1,  the speed is improved to (about 400k/s)

Problem: we can't poll the content in time currently


Any thoughts?

Thanks, Amos

Looking through old bug tickets... is this still an issue with the latest version of QEMU? Or could we close this ticket nowadays?


Let's close this bug, it's passed 6 years.

[Expired for QEMU because there has been no activity for 60 days.]