Drivers: hv: vmbus: Use a round-robin algorithm for picking the outgoing channel

The current algorithm for picking an outgoing channel was not distributing
the load well. Implement a simple round-robin scheme to ensure good
distribution of the outgoing traffic.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Reviewed-by: Long Li <longli@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
K. Y. Srinivasan
2015-02-28 11:39:02 -08:00
committed by Greg Kroah-Hartman
parent 96c1d0581d
commit a13e8bbe85
2 changed files with 18 additions and 15 deletions

View File

@@ -761,6 +761,9 @@ struct vmbus_channel {
* link up channels based on their CPU affinity.
*/
struct list_head percpu_list;
int num_sc;
int next_oc;
};
static inline void set_channel_read_state(struct vmbus_channel *c, bool state)