Merge pull request #197 from lukego/optimize-loadgen

Optimize intel10g for loadgen benchmark
Merge pull request #198 from lukego/optimize-loadgen

Regulate breathing interval + optimize
Merge pull request #199 from lukego/optimize-loadgen

intel10g: Fix transmit descriptor ring wrap-around bug.
[vhost_user] fix push()

It is worngly placed inside connect()

Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
[vhost_user] use timer for QEMU message processing

Instead of using counter, use a 500ms timer for calling the QEMU message
processing function.

Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
[virtio] in memory mapping functions use break instead of return

Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
[virtio] suppress event usage

Notify upper layers only if VRING_F_NO_INTERRUPT is not set in the avail ring's flags.

Setting VRING_F_NO_NOTIFY in the used ring's flags (both tx/rx), should suppress the driver
from genereting interrupts. We polling anyway, so we don't need them.

This is a simple interrupt suppression mechanism, but still we have to implements it.
The more advanced options is to implement EVENT_IDX.

Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
[bench] do not wait for processes

Instead of waiting for pids - just sleep and later kill them.
Otherwise it just hangs on the wait.

Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
Merge pull request #200 from virtualopensystems/fixes

Vhost/Virtio Fixes
memory.lua: Optimize caching in virtual_to_physical().

The cache is now indexed by huge pages (~ 2MB covered per cache entry) rather
than base pages (4KB covered per cache entry).

This significantly reduces the profiler-reported time spent in address
translation, but it's unclear whether this translates into an actual
performance boost yet. To determine this requires an improved
benchmarking setup.