IB/hfi1: Add transmit fault injection feature
Add ability to fault packets on transmit by opcode. Dropping by packet can be achieved by setting the mask to 0. In order to drop non-verbs traffic we set PbcInsertHrc to NONE (0x2). The packet will still be delivered to the receiving node but a KHdrHCRCErr (KDETH packet with a bad HCRC) will be triggered and the packet will not be delivered to the correct context. In order to drop regular verbs traffic we set the PbcTestEbp flag. The packet will still be delivered to the receiving node but a 'late ebp error' will be triggered and will be dropped. A global toggle (/sys/kernel/debug/hfi1/hfi1_X/fault_suppress_err) has been added to suppress the error messages on the receive node when a packet was faulted on the sending node. Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Signed-off-by: Don Hiatt <don.hiatt@intel.com> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:

gecommit door
Doug Ledford

bovenliggende
0181ce31b2
commit
243d9f436f
@@ -64,6 +64,7 @@
|
||||
#include "platform.h"
|
||||
#include "aspm.h"
|
||||
#include "affinity.h"
|
||||
#include "debugfs.h"
|
||||
|
||||
#define NUM_IB_PORTS 1
|
||||
|
||||
@@ -7898,6 +7899,9 @@ static void handle_dcc_err(struct hfi1_devdata *dd, u32 unused, u64 reg)
|
||||
reg &= ~DCC_ERR_FLG_EN_CSR_ACCESS_BLOCKED_HOST_SMASK;
|
||||
}
|
||||
|
||||
if (unlikely(hfi1_dbg_fault_suppress_err(&dd->verbs_dev)))
|
||||
reg &= ~DCC_ERR_FLG_LATE_EBP_ERR_SMASK;
|
||||
|
||||
/* report any remaining errors */
|
||||
if (reg)
|
||||
dd_dev_info_ratelimited(dd, "DCC Error: %s\n",
|
||||
|
Verwijs in nieuw issue
Block a user