qemu/net
Rao Lei 6113829680 net/filter: Optimize filter_send to coroutine
This patch is to improve the logic of QEMU main thread sleep code in
qemu_chr_write_buffer() where it can be blocked and can't run other
coroutines during COLO IO stress test.

Our approach is to put filter_send() in a coroutine. In this way,
filter_send() will call qemu_coroutine_yield() in qemu_co_sleep_ns(),
so that it can be scheduled out and QEMU main thread has opportunity to
run other tasks.

Signed-off-by: Lei Rao <lei.rao@intel.com>
Signed-off-by: Zhang Chen <chen.zhang@intel.com>
Reviewed-by: Li Zhijian <lizhijian@fujitsu.com>
Reviewed-by: Zhang Chen <chen.zhang@intel.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
2022-02-14 11:50:44 +08:00
..
can can_host: Use class properties 2020-12-15 10:02:07 -05:00
announce.c Remove superfluous timer_del() calls 2021-01-08 15:13:38 +00:00
checksum.c net/checksum: Remove unused variable in net_checksum_add_iov 2021-07-26 07:06:58 -10:00
clients.h vhost-vdpa: introduce vhost-vdpa net client 2020-07-07 07:59:51 -04:00
colo-compare.c net/colo-compare.c: Update the default value comments 2022-02-14 11:50:44 +08:00
colo-compare.h Add the function of colo_compare_cleanup 2021-06-11 10:30:13 +08:00
colo.c Optimized the function of fill_connection_key. 2021-11-03 09:39:48 +01:00
colo.h Optimized the function of fill_connection_key. 2021-11-03 09:39:48 +01:00
dump.c rtc: Move RTC function prototypes to their own header 2022-01-28 14:29:46 +00:00
eth.c net/eth: Add an assert() and invert if() statement to simplify code 2021-03-22 17:34:31 +08:00
filter-buffer.c netfilter: Use class properties 2020-12-15 10:02:07 -05:00
filter-mirror.c net/filter: Optimize filter_send to coroutine 2022-02-14 11:50:44 +08:00
filter-replay.c hw: Do not include qemu/log.h if it is not necessary 2021-05-02 17:24:50 +02:00
filter-rewriter.c Optimized the function of fill_connection_key. 2021-11-03 09:39:48 +01:00
filter.c netfilter: Use class properties 2020-12-15 10:02:07 -05:00
hub.c hw/net: Make NetCanReceive() return a boolean 2020-03-31 21:14:35 +08:00
hub.h net: Remove deprecated [hub_id name] tuple of 'hostfwd_add' / 'hostfwd_remove' 2020-03-09 18:44:04 +00:00
l2tpv3.c Revert "qapi: net: Add query-netdev command" 2021-04-08 17:33:59 +08:00
meson.build Move the l2tpv3 test from configure to meson.build 2021-11-02 15:57:28 +01:00
net.c net: introduce control client 2021-10-20 04:44:05 -04:00
netmap.c Do not include sysemu/sysemu.h if it's not really necessary 2021-05-02 17:24:50 +02:00
queue.c net: introduce qemu_receive_packet() 2021-03-15 16:41:22 +08:00
slirp.c slirp: add configure option to disable smbd 2021-05-04 14:15:35 +02:00
socket.c Revert "qapi: net: Add query-netdev command" 2021-04-08 17:33:59 +08:00
tap_int.h net: Added SetSteeringEBPF method for NetClientState. 2021-06-04 15:25:46 +08:00
tap-bsd.c -----BEGIN PGP SIGNATURE----- 2021-06-04 13:38:49 +01:00
tap-linux.c net: Fix uninitialized data usage 2022-02-14 11:50:44 +08:00
tap-linux.h net/tap: Added TUNSETSTEERINGEBPF code. 2021-06-04 15:25:46 +08:00
tap-solaris.c net: Added SetSteeringEBPF method for NetClientState. 2021-06-04 15:25:46 +08:00
tap-stub.c net: Added SetSteeringEBPF method for NetClientState. 2021-06-04 15:25:46 +08:00
tap-win32.c net: check the existence of peer before trying to pad 2021-04-23 11:11:28 +01:00
tap.c net/tap: Set return code on failure 2022-02-14 11:50:44 +08:00
trace-events docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
util.c net: Clean up includes 2016-02-04 17:41:30 +00:00
util.h net: do not depend on slirp internals 2019-01-14 00:44:29 +01:00
vde.c Revert "qapi: net: Add query-netdev command" 2021-04-08 17:33:59 +08:00
vhost-user-stub.c vhost-net-user: add stubs for when no virtio-net device is present 2019-02-21 12:28:01 -05:00
vhost-user.c net/vhost-user: Fix device compatibility check 2021-10-15 16:05:46 +02:00
vhost-vdpa.c vdpa: Add dummy receive callback 2021-11-28 17:03:52 -05:00