xen/pvcalls: implement sendmsg
authorStefano Stabellini <sstabellini@kernel.org>
Mon, 30 Oct 2017 22:40:59 +0000 (15:40 -0700)
committerBoris Ostrovsky <boris.ostrovsky@oracle.com>
Tue, 31 Oct 2017 13:05:53 +0000 (09:05 -0400)
commit45ddce214a797de65c0418bebf90c1b564c3ee3d
tree0052d1e964d166a212d461ffba2e020d8398a2e5
parent9774c6cca26610d065a75d2ac8c5e3fcf0a209b3
xen/pvcalls: implement sendmsg

Send data to an active socket by copying data to the "out" ring. Take
the active socket out_mutex so that only one function can access the
ring at any given time.

If not enough room is available on the ring, rather than returning
immediately or sleep-waiting, spin for up to 5000 cycles. This small
optimization turns out to improve performance significantly.

Signed-off-by: Stefano Stabellini <stefano@aporeto.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
CC: boris.ostrovsky@oracle.com
CC: jgross@suse.com
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
drivers/xen/pvcalls-front.c
drivers/xen/pvcalls-front.h