33 ms·
As a counterpoint, I found the journey interesting and learned a lot about various tools on the way. Only caveat is that they didn't end up pinpointing the erro
by MauranKilom 5y ago
As a counterpoint, I found the journey interesting and learned a lot about various tools on the way. Only caveat is that they didn't end up pinpointing the error - understandable, given that they are not paid to fix bugs in Intel code, and Intel having fixed the bug already in a newer version anyway.
- cesarb 5y agoBut it seems Intel did end up pinpointing the error. The last link in the article ("Since then, Intel has removed the faulty driver from their website.") points to https://downloadmirror.intel.com/30190/eng/635390-TA-256.pdf https://downloadmirror.intel.com/30190/eng/635390-TA-256.pdf which says "The driver instability was caused by an incomplete backport to i40e from the upstream kernel." Frustratingly, it doesn't give any more detail than that.
- nik_0_0 5y agoIt looks like the Intel out-of-tree driver is carrying around some legacy HAVE_PAGE_COUNT_BULK_UPDATE option that is making their porting efforts difficult. This commit in upstream ends up getting split in half: https://github.com/torvalds/linux/commit/8ce29c679a6ecefb88dc794260f4e91a284eed9a https://github.com/torvalds/linux/commit/8ce29c679a6ecefb88d... With only 3 lines of it getting pulled into i40e-2.13.10: https://github.com/dmarion/i40e/blob/master/src/i40e_txrx.c#L1836 https://github.com/dmarion/i40e/blob/master/src/i40e_txrx.c#... https://github.com/dmarion/i40e/blob/master/src/i40e_txrx.c#L2355 https://github.com/dmarion/i40e/blob/master/src/i40e_txrx.c#... (Can't link git diff line for 2.13.10->2.14.13 because diff is too big, annoying!) And the final line getting pulled into i40e-2.14.13: https://github.com/dmarion/i40e/commit/135d6d885aa4704180e10e6d157405e3e65165d9#diff-9c8458f2e0e8996a46dc78440383f0ed85e512826231730d79fcfdca318fd065R2354 https://github.com/dmarion/i40e/commit/135d6d885aa4704180e10... --- if (unlikely(!pagecnt_bias)) { +++ if (unlikely(pagecnt_bias == 1)) { Best thing I can find in i40e_txrx.c where a single patch in Linux upstream got split across 2.13.10 and 2.14.13. Not a smoking gun exactly, still some exercise left for the reader.