• Rusty Russell's avatar
    lguest: Tell Guest net not to notify us on every packet xmit · a161883a
    Rusty Russell authored
    virtio_ring has the ability to suppress notifications.  This prevents
    a guest exit for every packet, but we need to set a timer on packet
    receipt to re-check if there were any remaining packets.
    
    Here are the times for 1G TCP Guest->Host with different timeout
    settings (it matters because the TCP window doesn't grow big enough to
    fill the entire buffer):
    
    Timeout value	Seconds		Xmit/Recv/Timeout
    None (before)	25.3784		xmit 7750233 recv 1
    2500 usec	62.5119		xmit 207020 recv 2 timeout 207020
    1000 usec	34.5379		xmit 207003 recv 2 timeout 207003
    750 usec	29.2305		xmit 207002 recv 1 timeout 207002
    500 usec	19.1887		xmit 561141 recv 1 timeout 559657
    250 usec	20.0465		xmit 214128 recv 2 timeout 214110
    100 usec	19.2583		xmit 561621 recv 1 timeout 560153
    
    (Note that these values are sensitive to the GSO patches which come
     later, and probably other traffic-related variables, so take with a
     large grain of salt).
    Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
    a161883a
lguest.c 64.9 KB