[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freebsd-hackers
Subject:    Re: disadvantages of running 8.3 kernel on freebsd 8.2 system
From:       "Steven Hartland" <killing () multiplay ! co ! uk>
Date:       2013-01-18 1:39:27
Message-ID: B7FE2FB1659646EDB3D4E70A531BB725 () multiplay ! co ! uk
[Download RAW message or body]

----- Original Message ----- 
From: <dteske@freebsd.org>
> But I bet you're not sitting 88 units of Thunderbolt cards that don't work in 8.3.
> 
> 8.3 is also exhibiting major problems with the igb-based NICs on those same 88 \
> units.

Only effects igb init but might want to make sure you have r245334 back ported to
avoid memory leaks when mbuf clusters are exhausted.

8.3 version of the patch attached ;-) 

For reference not only does this prevent the nic initialising properly it can also \
hang the boot process as when routing initialises "route" appears to trigger mbuf \
allocation with wait and as mbufs are exhaused and not freed correctly this hangs \
forever.

This will happen on an untuned kernel if more than 2 igb nics are configured as
each igb requires 8k of mbuf clusters (1k per queue x 8 queues on a machine with
8 or more cores) and the default kern.ipc.nmbclusters is only 25600.

For clarity by "configured" I mean if the nic is initialised either by assigning an \
IP or "ifconfig igbX up" the queues are not allocated if the nic is present but \
unused.

    Regards
    Steve

================================================
This e.mail is private and confidential between Multiplay (UK) Ltd. and the person or \
entity to whom it is addressed. In the event of misdirection, the recipient is \
prohibited from using, copying, printing or otherwise disseminating it or any \
information contained in it. 

In the event of misdirection, illegible or incomplete transmission please telephone \
+44 845 868 1337 or return the E.mail to postmaster@multiplay.co.uk.


["igb-mbuf-free-patch-8.3-REL.txt" (text/plain)]

Fixed mbuf free when receive structures fail to allocate.

This prevents quad igb card on high core machines, without any nmbcluster or
igb queue tuning wedging the boot process if all nics are configured.
--- sys/dev/e1000/if_igb.c.orig	2013-01-10 21:44:03.017805977 +0000
+++ sys/dev/e1000/if_igb.c	2013-01-10 21:44:55.751355018 +0000
@@ -4335,8 +4335,8 @@
 	 * the rings that completed, the failing case will have
 	 * cleaned up for itself. 'i' is the endpoint.
 	 */
-	for (int j = 0; j > i; ++j) {
-		rxr = &adapter->rx_rings[i];
+	for (int j = 0; j < i; ++j) {
+		rxr = &adapter->rx_rings[j];
 		IGB_RX_LOCK(rxr);
 		igb_free_receive_ring(rxr);
 		IGB_RX_UNLOCK(rxr);


_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic