RE: [PATCH] hv_sock: perf: loop in send() to maximize bandwidth

From: Dexuan Cui
Date: Sun May 19 2019 - 15:32:51 EST


> From: Sunil Muthuswamy <sunilmut@xxxxxxxxxxxxx>
> Sent: Thursday, May 16, 2019 7:05 PM
> Currently, the hv_sock send() iterates once over the buffer, puts data into
> the VMBUS channel and returns. It doesn't maximize on the case when there
> is a simultaneous reader draining data from the channel. In such a case,
> the send() can maximize the bandwidth (and consequently minimize the cpu
> cycles) by iterating until the channel is found to be full.
> ...
> Observation:
> 1. The avg throughput doesn't really change much with this change for this
> scenario. This is most probably because the bottleneck on throughput is
> somewhere else.
> 2. The average system (or kernel) cpu time goes down by 10%+ with this
> change, for the same amount of data transfer.
>
> Signed-off-by: Sunil Muthuswamy <sunilmut@xxxxxxxxxxxxx>

Reviewed-by: Dexuan Cui <decui@xxxxxxxxxxxxx>

The patch looks good. Thanks, Sunil!

Thanks,
-- Dexuan