Date: Thu, 22 Sep 2011 10:31:05 -0700 From: "Vogel, Jack" <jack.vogel@intel.com> To: Jeremy Chadwick <freebsd@jdc.parodius.com>, David G Lawrence <dg@dglawrence.com> Cc: "freebsd-stable@freebsd.org" <freebsd-stable@freebsd.org>, John Baldwin <jhb@freebsd.org>, Craig Leres <leres@ee.lbl.gov> Subject: RE: Panic during kernel booting on HP Proliant DL180G6 and latest STABLE Message-ID: <1DB50624F8348F48840F2E2CF6040A9D01986290C5@orsmsx508.amr.corp.intel.com> In-Reply-To: <20110922102732.GA60730@icarus.home.lan> References: <4E7AAAF6.7050004@ee.lbl.gov> <20110922101156.GA11465@black.dglawrence.com> <20110922102732.GA60730@icarus.home.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
--_002_1DB50624F8348F48840F2E2CF6040A9D01986290C5orsmsx508amrc_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable -----Original Message----- From: Jeremy Chadwick [mailto:freebsd@jdc.parodius.com]=20 Sent: Thursday, September 22, 2011 3:28 AM To: David G Lawrence Cc: Craig Leres; freebsd-stable@freebsd.org; John Baldwin; Vogel, Jack Subject: Re: Panic during kernel booting on HP Proliant DL180G6 and latest = STABLE On Thu, Sep 22, 2011 at 03:11:56AM -0700, David G Lawrence wrote: > > I have a lot of supermicro motherboards and the newest ones have igb > > chipsets; they've been quite a headache with respect to FreeBSD 8. I'm > > running 8.2-RELEASE but have upgraded parts of my kernel to 8-RELENG (a= s > > of a few months ago). Some of them work ok while others panic on bootup= . > > Upgrading to newer versions of the intel igb code fixes some but breaks > > others. It's been frustrating. > >=20 > > While working on this today, I saw two different kernel panics: > >=20 > > Could not setup receive structures > > m_getzone: m_getjcl: invalid cluster type >=20 > I fixed this awhile back in my local sources. A 12 core Supermicro > MB system I'm building here was hitting the bug 100% of the time during > startup. Patch attached. >=20 > -DG >=20 > Dr. David G. Lawrence > President > Download Technologies, Inc. - http://www.downloadtech.com - (866) 399 850= 0 > Pave the road of life with opportunities. >=20 > Index: if_igb.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > RCS file: /home/ncvs/src/sys/dev/e1000/if_igb.c,v > retrieving revision 1.21.2.20 > diff -c -r1.21.2.20 if_igb.c > *** if_igb.c 29 Jun 2011 16:16:59 -0000 1.21.2.20 > --- if_igb.c 22 Sep 2011 10:04:31 -0000 > *************** > *** 1278,1286 **** > /* Don't lose promiscuous settings */ > igb_set_promisc(adapter); > =20 > - ifp->if_drv_flags |=3D IFF_DRV_RUNNING; > - ifp->if_drv_flags &=3D ~IFF_DRV_OACTIVE; > -=20 > callout_reset(&adapter->timer, hz, igb_local_timer, adapter); > e1000_clear_hw_cntrs_base_generic(&adapter->hw); > =20 > --- 1278,1283 ---- > *************** > *** 1308,1313 **** > --- 1305,1313 ---- > =20 > /* Don't reset the phy next time init gets called */ > adapter->hw.phy.reset_disable =3D TRUE; > +=20 > + ifp->if_drv_flags |=3D IFF_DRV_RUNNING; > + ifp->if_drv_flags &=3D ~IFF_DRV_OACTIVE; > } > =20 > static void > *************** > *** 1490,1501 **** > E1000_WRITE_REG(&adapter->hw, E1000_EIMC, que->eims); > ++que->irqs; > =20 > IGB_TX_LOCK(txr); > more_tx =3D igb_txeof(txr); > IGB_TX_UNLOCK(txr); > =20 > - more_rx =3D igb_rxeof(que, adapter->rx_process_limit, NULL); > -=20 > if (igb_enable_aim =3D=3D FALSE) > goto no_calc; > /* > --- 1490,1505 ---- > E1000_WRITE_REG(&adapter->hw, E1000_EIMC, que->eims); > ++que->irqs; > =20 > + if (!(adapter->ifp->if_drv_flags & IFF_DRV_RUNNING)) { > + return; > + } > +=20 > + more_rx =3D igb_rxeof(que, adapter->rx_process_limit, NULL); > +=20 > IGB_TX_LOCK(txr); > more_tx =3D igb_txeof(txr); > IGB_TX_UNLOCK(txr); > =20 > if (igb_enable_aim =3D=3D FALSE) > goto no_calc; > /* CC'ing Jack Vogel. Jack, any insights with regards to this patch? This also touches on what Adrian was mentioning as well, at least to some degree. I have a slight modification to John's earlier changes, namely, it masks th= e full EIMC register when setup to use MSIX, I'm thinking this might be why= the earlier patch failed? The code in this latest email is something that= I would not want to use if possible, it's just trying to avoid the problem= . Please test with this change instead. Regards, Jack --_002_1DB50624F8348F48840F2E2CF6040A9D01986290C5orsmsx508amrc_ Content-Type: application/octet-stream; name="igb-irq.patch" Content-Description: igb-irq.patch Content-Disposition: attachment; filename="igb-irq.patch"; size=1791; creation-date="Thu, 22 Sep 2011 10:22:56 GMT"; modification-date="Thu, 22 Sep 2011 10:22:56 GMT" Content-Transfer-Encoding: base64 LS0tIGlmX2lnYi5jCTIwMTEtMDQtMjggMDg6Mjg6NTkuMDAwMDAwMDAwIC0wNzAwCisrKyBpZl9p Z2IuamZ2LmMJMjAxMS0wOS0yMiAwMTo1ODo0OS4wMDAwMDAwMDAgLTA3MDAKQEAgLTk5LDcgKzk5 LDcgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioKICAqICBEcml2ZXIgdmVyc2lvbjoKICAqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiov Ci1jaGFyIGlnYl9kcml2ZXJfdmVyc2lvbltdID0gInZlcnNpb24gLSAyLjIuMyI7CitjaGFyIGln Yl9kcml2ZXJfdmVyc2lvbltdID0gInZlcnNpb24gLSAyLjIuMyAtIHRlc3QiOwogCiAKIC8qKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioKQEAgLTU5OCwxNiArNTk4LDYgQEAKIAkJZ290byBlcnJfbGF0ZTsKIAl9CiAKLQkv KiAKLQkqKiBDb25maWd1cmUgSW50ZXJydXB0cwotCSovCi0JaWYgKChhZGFwdGVyLT5tc2l4ID4g MSkgJiYgKGlnYl9lbmFibGVfbXNpeCkpCi0JCWVycm9yID0gaWdiX2FsbG9jYXRlX21zaXgoYWRh cHRlcik7Ci0JZWxzZSAvKiBNU0kgb3IgTGVnYWN5ICovCi0JCWVycm9yID0gaWdiX2FsbG9jYXRl X2xlZ2FjeShhZGFwdGVyKTsKLQlpZiAoZXJyb3IpCi0JCWdvdG8gZXJyX2xhdGU7Ci0KIAkvKiBT ZXR1cCBPUyBzcGVjaWZpYyBuZXR3b3JrIGludGVyZmFjZSAqLwogCWlmIChpZ2Jfc2V0dXBfaW50 ZXJmYWNlKGRldiwgYWRhcHRlcikgIT0gMCkKIAkJZ290byBlcnJfbGF0ZTsKQEAgLTY1MSw2ICs2 NDEsMTYgQEAKIAlhZGFwdGVyLT5sZWRfZGV2ID0gbGVkX2NyZWF0ZShpZ2JfbGVkX2Z1bmMsIGFk YXB0ZXIsCiAJICAgIGRldmljZV9nZXRfbmFtZXVuaXQoZGV2KSk7CiAKKwkvKiAKKwkqKiBDb25m aWd1cmUgSW50ZXJydXB0cworCSovCisJaWYgKChhZGFwdGVyLT5tc2l4ID4gMSkgJiYgKGlnYl9l bmFibGVfbXNpeCkpCisJCWVycm9yID0gaWdiX2FsbG9jYXRlX21zaXgoYWRhcHRlcik7CisJZWxz ZSAvKiBNU0kgb3IgTGVnYWN5ICovCisJCWVycm9yID0gaWdiX2FsbG9jYXRlX2xlZ2FjeShhZGFw dGVyKTsKKwlpZiAoZXJyb3IpCisJCWdvdG8gZXJyX2xhdGU7CisKIAlJTklUX0RFQlVHT1VUKCJp Z2JfYXR0YWNoOiBlbmQiKTsKIAogCXJldHVybiAoMCk7CkBAIC02NTksMTAgKzY1OSwxMCBAQAog CWlnYl9mcmVlX3RyYW5zbWl0X3N0cnVjdHVyZXMoYWRhcHRlcik7CiAJaWdiX2ZyZWVfcmVjZWl2 ZV9zdHJ1Y3R1cmVzKGFkYXB0ZXIpOwogCWlnYl9yZWxlYXNlX2h3X2NvbnRyb2woYWRhcHRlcik7 Ci0JaWYgKGFkYXB0ZXItPmlmcCAhPSBOVUxMKQotCQlpZl9mcmVlKGFkYXB0ZXItPmlmcCk7CiBl cnJfcGNpOgogCWlnYl9mcmVlX3BjaV9yZXNvdXJjZXMoYWRhcHRlcik7CisJaWYgKGFkYXB0ZXIt PmlmcCAhPSBOVUxMKQorCQlpZl9mcmVlKGFkYXB0ZXItPmlmcCk7CiAJZnJlZShhZGFwdGVyLT5t dGEsIE1fREVWQlVGKTsKIAlJR0JfQ09SRV9MT0NLX0RFU1RST1koYWRhcHRlcik7CiAKQEAgLTIx NjcsNiArMjE2Nyw5IEBACiAJYWRhcHRlci0+bXNpeCA9IGlnYl9zZXR1cF9tc2l4KGFkYXB0ZXIp OwogCWFkYXB0ZXItPmh3LmJhY2sgPSAmYWRhcHRlci0+b3NkZXA7CiAKKwkvKiBNYWtlIHN1cmUg bm8gaW50ZXJydXB0cyBjb21lIGluIGVhcmx5ICovCisJaWdiX2Rpc2FibGVfaW50cihhZGFwdGVy KTsKKwogCXJldHVybiAoMCk7CiB9CiAK --_002_1DB50624F8348F48840F2E2CF6040A9D01986290C5orsmsx508amrc_--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1DB50624F8348F48840F2E2CF6040A9D01986290C5>