Date: Wed, 1 Oct 2008 15:16:46 -0700 From: "Jack Vogel" <jfvogel@gmail.com> To: "George V. Neville-Neil" <gnn@neville-neil.com>, "John Baldwin" <jhb@yahoo-inc.com>, "Scott Long" <scottl@samsco.org>, "Kip Macy" <kmacy@freebsd.org>, "Jeff Roberson" <jroberson@jroberson.net>, "freebsd-net@freebsd.org" <freebsd-net@freebsd.org> Subject: potential nasty bug in igb and ixgbe Message-ID: <2a41acea0810011516u77ca05b1k2df527e453dfe392@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Jeff Roberson uncovered an issue that might be behind any number of possible problems. Our newer hardware (meaning those supported by the igb and ixgbe drivers) overwrites the buffer address in the RX descriptor with a variety of data in support of advanced features (see the relevant header files for details). However, in the rxeof code, if you fail to get a new mbuf, and hence, will discard, the descriptor is being left in the wb form, meaning that the address is jibberish for the next time the engine uses that descriptor. I am modifying get_buf so that it fixes the address in the descriptor when this happens. I know when my test group has had the igb driver under heavy load they have had some panics, right now I'm not sure if this has been at the root of those or not. If you want to see how I'm changing the code just speak up :) And thanks for finding this Jeff. Jack
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2a41acea0810011516u77ca05b1k2df527e453dfe392>