]> git.baikalelectronics.ru Git - kernel.git/commit
sunvnet: Avoid sending superfluous LDC messages.
authorSowmini Varadhan <sowmini.varadhan@oracle.com>
Thu, 11 Sep 2014 13:57:22 +0000 (09:57 -0400)
committerDavid S. Miller <davem@davemloft.net>
Fri, 12 Sep 2014 22:19:08 +0000 (18:19 -0400)
commitc7c33e482d7fff160c154c1b0b0f91ab0999ce28
treecbd8c73222b92fbef933b7cb95ff38fcd81d55ab
parent91ad28c63f7789582b4791cd7c54ad9cd3c655a7
sunvnet: Avoid sending superfluous LDC messages.

When sending out a burst of packets across multiple descriptors,
it is sufficient to send one LDC "start" trigger for
the first descriptor, so do not send an LDC "start" for every
pass through vnet_start_xmit. Similarly, it is sufficient to send
one "DRING_STOPPED" trigger for the last dring (and if that
fails, hold off and send the trigger later).

Optimizations to the number of LDC messages helps avoid
filling up the LDC channel with superfluous LDC messages
that risk triggering flow-control on the channel,
and also boosts performance.

Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Acked-by: Raghuram Kothakota <raghuram.kothakota@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/sun/sunvnet.c
drivers/net/ethernet/sun/sunvnet.h