Re: VMWare if_em breakage (was: Re: svn commit: r194865 - in head/sys: dev/e1000 modules/igb)

From: Robert Watson <rwatson_at_FreeBSD.org>
Date: Sun, 28 Jun 2009 14:04:04 +0100 (BST)
On Sun, 28 Jun 2009, Thomas Backman wrote:

> On Jun 25, 2009, at 04:27 PM, Dimitry Andric wrote:
>
>> On 2009-06-25 16:08, Robert Watson wrote:
>>> Since this change (and the two followups), I'm no longer able to use if_em 
>>> reliable in VMWare Fusion.
>> 
>> Same here, for VMware Workstation.  The interface just stops working after 
>> a bit of traffic.
>
> Not sure it's needed, but here's another "me too", also using Fusion. At 
> first I thought it had frozen, but locally, in the VM window, everything 
> worked fine. (I always interact with VMs via SSH to get copy/paste, better 
> fonts etc). Also worth mentioning is that vmware-vmx ate 100% real CPU the 
> entire time, despite the VM CPU (top in FreeBSD) showed 100% *idle*.

Jack suggested this patch for me to test, and it seems to work here, so 
hopefully he doesn't mind my sharing it until it before it gets into SVN.  It 
seems to entirely prevent the problem from occuring here.

Robert N M Watson
Computer Laboratory
University of Cambridge

Index: if_em.c
===================================================================
--- if_em.c	(revision 195108)
+++ if_em.c	(working copy)
_at__at_ -4446,7 +4446,7 _at__at_
  	struct mbuf	*mp;
  	u8		status, accept_frame = 0, eop = 0;
  	u16 		len, desc_len, prev_len_adj;
-	u32		i, rx_sent = 0;
+	int		i, rx_sent = 0;
  	struct e1000_rx_desc   *current_desc;

  	EM_RX_LOCK(adapter);
Received on Sun Jun 28 2009 - 11:04:05 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:50 UTC