mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 16:23:55 -06:00
tap: vhost busy polling support
This patch add the capability of basic vhost net busy polling which is supported by recent kernel. User could configure the maximum number of us that could be spent on busy polling through a new property of tap "poll-us". Cc: Greg Kurz <groug@kaod.org> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
parent
91d3550990
commit
69e87b3268
11 changed files with 70 additions and 6 deletions
|
@ -663,6 +663,11 @@ static void net_init_tap_one(const NetdevTapOptions *tap, NetClientState *peer,
|
|||
|
||||
options.backend_type = VHOST_BACKEND_TYPE_KERNEL;
|
||||
options.net_backend = &s->nc;
|
||||
if (tap->has_poll_us) {
|
||||
options.busyloop_timeout = tap->poll_us;
|
||||
} else {
|
||||
options.busyloop_timeout = 0;
|
||||
}
|
||||
|
||||
if (vhostfdname) {
|
||||
vhostfd = monitor_fd_param(cur_mon, vhostfdname, &err);
|
||||
|
@ -687,7 +692,7 @@ static void net_init_tap_one(const NetdevTapOptions *tap, NetClientState *peer,
|
|||
return;
|
||||
}
|
||||
} else if (vhostfdname) {
|
||||
error_setg(errp, "vhostfd= is not valid without vhost");
|
||||
error_setg(errp, "vhostfd(s)= is not valid without vhost");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue