Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Nov 2010 16:11:48 -0600
From:      "Kenneth D. Merry" <ken@freebsd.org>
To:        Yuriy Kohut <ykohut@onapp.com>
Cc:        "freebsd-xen@FreeBSD.org" <freebsd-xen@freebsd.org>
Subject:   Re: FreeBSD 8.1-RELEASE-p1 i386 xennet_get_responses messages in console
Message-ID:  <20101103221148.GA17412@nargothrond.kdm.org>
In-Reply-To: <88955623-5D2F-453A-B7EF-9E1058370B14@onapp.com>
References:  <88955623-5D2F-453A-B7EF-9E1058370B14@onapp.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--azLHFNyN32YCQGCU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Thu, Oct 28, 2010 at 15:02:41 +0300, Yuriy Kohut wrote:
> Hi,
> 
> Does somebody know haw to deal with the following massages in the console:
> 
> xennet_get_responses: too many frags 6 > max 5

What are you using for your Domain 0?

I haven't run into that before, so it would be nice to have a setup that
would trigger this problem.

It looks like there is a limit on the number of segments for LRO.  I think
the limit is arbitrary, but I need to look at it a bit more.

Try the attached patch and let me know whether it works for you.  It
disables the limit on the number of receive segments.

Thanks,

Ken
-- 
Kenneth Merry
ken@FreeBSD.ORG

--azLHFNyN32YCQGCU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment;
	filename="netfront.c.rx_max.stable.20101103.txt"

==== //depot/SpectraBSD/stable/8/sys/dev/xen/netfront/netfront.c#2 - /usr/home/kenm/perforce4/SpectraBSD/stable/8/sys/dev/xen/netfront/netfront.c ====
*** /tmp/tmp.3226.94	Wed Nov  3 16:09:10 2010
--- /usr/home/kenm/perforce4/SpectraBSD/stable/8/sys/dev/xen/netfront/netfront.c	Wed Nov  3 16:08:35 2010
***************
*** 1272,1278 ****
--- 1272,1280 ----
  	struct mbuf *m, *m0, *m_prev;
  	grant_ref_t ref = xennet_get_rx_ref(np, *cons);
  	RING_IDX ref_cons = *cons;
+ #if 0
  	int max = 5 /* MAX_TX_REQ_FRAGS + (rx->status <= RX_COPY_THRESHOLD) */;
+ #endif
  	int frags = 1;
  	int err = 0;
  	u_long ret;
***************
*** 1416,1421 ****
--- 1418,1424 ----
  	}
  	*list = m0;
  
+ #if 0
  	if (unlikely(frags > max)) {
  		if (net_ratelimit())
  			WPRINTK("Too many frags\n");
***************
*** 1423,1428 ****
--- 1426,1432 ----
  		       max);
  		err = E2BIG;
  	}
+ #endif
  
  	*cons += frags;
  

--azLHFNyN32YCQGCU--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101103221148.GA17412>