Revision 6e474083f3daf3a3546737f5d7d502ad12eb257c authored by Wei Xu on 01 December 2017, 10:10:36 UTC, committed by David S. Miller on 03 December 2017, 02:31:03 UTC
Matthew found a roughly 40% tcp throughput regression with commit
c67df11f(vhost_net: try batch dequing from skb array) as discussed
in the following thread:
https://www.mail-archive.com/netdev@vger.kernel.org/msg187936.html

Eventually we figured out that it was a skb leak in handle_rx()
when sending packets to the VM. This usually happens when a guest
can not drain out vq as fast as vhost fills in, afterwards it sets
off the traffic jam and leaks skb(s) which occurs as no headcount
to send on the vq from vhost side.

This can be avoided by making sure we have got enough headcount
before actually consuming a skb from the batched rx array while
transmitting, which is simply done by moving checking the zero
headcount a bit ahead.

Signed-off-by: Wei Xu <wexu@redhat.com>
Reported-by: Matthew Rosato <mjrosato@linux.vnet.ibm.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent fa935ca
Raw File
Kconfig
config INTEL_MEI
	tristate "Intel Management Engine Interface"
	depends on X86 && PCI
	help
	  The Intel Management Engine (Intel ME) provides Manageability,
	  Security and Media services for system containing Intel chipsets.
	  if selected /dev/mei misc device will be created.

	  For more information see
	  <http://software.intel.com/en-us/manageability/>

config INTEL_MEI_ME
	tristate "ME Enabled Intel Chipsets"
	select INTEL_MEI
	depends on X86 && PCI
	help
	  MEI support for ME Enabled Intel chipsets.

	  Supported Chipsets are:
	  7 Series Chipset Family
	  6 Series Chipset Family
	  5 Series Chipset Family
	  4 Series Chipset Family
	  Mobile 4 Series Chipset Family
	  ICH9
	  82946GZ/GL
	  82G35 Express
	  82Q963/Q965
	  82P965/G965
	  Mobile PM965/GM965
	  Mobile GME965/GLE960
	  82Q35 Express
	  82G33/G31/P35/P31 Express
	  82Q33 Express
	  82X38/X48 Express

config INTEL_MEI_TXE
	tristate "Intel Trusted Execution Environment with ME Interface"
	select INTEL_MEI
	depends on X86 && PCI
	help
	  MEI Support for Trusted Execution Environment device on Intel SoCs

	  Supported SoCs:
	  Intel Bay Trail
back to top