Summary: | isp(4) regression after r316398 r316399 | ||
---|---|---|---|
Product: | Base System | Reporter: | aler |
Component: | kern | Assignee: | Alexander Motin <mav> |
Status: | Closed FIXED | ||
Severity: | Affects Some People | CC: | mav |
Priority: | --- | Keywords: | regression |
Version: | 11.2-STABLE | ||
Hardware: | Any | ||
OS: | Any |
Description
aler
2018-11-30 03:48:51 UTC
bump I can't say there can't be a regression, but I haven't heard any other reports about this. It may be specific to 24xx series of adapters, since they are older and I have tested them only basically. Unfortunately there seems to be no way in code to disable new functionality. It would be nice to create a patch for that. Pre-316398 code only uses MSI-X for 2600+ cards. This change in new code seems to fix the problem. May be it will be better to add some sysctl to optionally allow MSI-X on 24xx but anyway it should be disabled by default and might be enabled only by explicit request. --- sys/dev/isp/ispmbox.h.orig 2018-12-18 09:49:17.549288000 +0300 +++ sys/dev/isp/ispmbox.h 2018-12-17 04:12:14.056837000 +0300 @@ -896,7 +896,7 @@ #define ISP_GET_VPIDX(isp, tag) \ (ISP_CAP_MULTI_ID(isp) ? tag : 0) #define ISP_CAP_MSIX(isp) \ - (IS_24XX(isp)? (isp->isp_fwattr & ISP2400_FW_ATTR_MSIX) : 0) + (IS_26XX(isp)? (isp->isp_fwattr & ISP2400_FW_ATTR_MSIX) : 0) #define ISP_CAP_VP0(isp) \ (IS_24XX(isp)? (isp->isp_fwattr & ISP2400_FW_ATTR_VP0) : 0) In r344660 I've just added tunables to control usage of MSI and MSI-X interrupts. I am not sure yet about changing default, since I have seen not so many complains. A commit references this bug: Author: mav Date: Thu Feb 28 15:36:03 UTC 2019 New revision: 344661 URL: https://svnweb.freebsd.org/changeset/base/344661 Log: Limit 24xx adapters to only one MSI-X interrupt by default. These are 4Gb/s and pretty old and slow now, so I see no reason to fight for their performance over stability. PR: 233654 MFC after: 1 week Sponsored by: iXsystems, Inc. Changes: head/sys/dev/isp/isp_pci.c Thinking again I decided to limit MSI-X to one vector for 24xx. Suppose it should help. A commit references this bug: Author: mav Date: Thu Feb 28 21:07:16 UTC 2019 New revision: 344669 URL: https://svnweb.freebsd.org/changeset/base/344669 Log: Limit 24xx adapters to only MSI interrupts by default. This was actually the known good configuration we used before. Single MSI-X configuration doesn't even work there on my tests, just due to lack of documentation not sure whether by design or I am doing something wrong. PR: 233654 MFC after: 1 week Changes: head/sys/dev/isp/isp_pci.c A commit references this bug: Author: mav Date: Fri Mar 8 00:56:42 UTC 2019 New revision: 344911 URL: https://svnweb.freebsd.org/changeset/base/344911 Log: MFC r344661, r344669: Limit 24xx adapters to only MSI interrupts by default. This was actually the known good configuration we used before. Single MSI-X configuration doesn't even work there on my tests, just due to lack of documentation not sure whether by design or I am doing something wrong. PR: 233654 Changes: _U stable/11/ stable/11/sys/dev/isp/isp_pci.c Merged to stable/12 and stable/11. |