• Home
  • Raw
  • Download

Lines Matching full:fault

55 #include "fault.h"
111 if (!ibd->fault->n_rxfaults[i] && !ibd->fault->n_txfaults[i]) in _fault_stats_seq_show()
116 (unsigned long long)ibd->fault->n_rxfaults[i], in _fault_stats_seq_show()
117 (unsigned long long)ibd->fault->n_txfaults[i]); in _fault_stats_seq_show()
138 struct fault *fault = file->private_data; in fault_opcodes_write() local
180 bitmap_zero(fault->opcodes, sizeof(fault->opcodes) * in fault_opcodes_write()
190 clear_bit(i, fault->opcodes); in fault_opcodes_write()
192 set_bit(i, fault->opcodes); in fault_opcodes_write()
212 struct fault *fault = file->private_data; in fault_opcodes_read() local
213 size_t bitsize = sizeof(fault->opcodes) * BITS_PER_BYTE; in fault_opcodes_read()
221 bit = find_first_bit(fault->opcodes, bitsize); in fault_opcodes_read()
223 zero = find_next_zero_bit(fault->opcodes, bitsize, bit); in fault_opcodes_read()
232 bit = find_next_bit(fault->opcodes, bitsize, zero); in fault_opcodes_read()
253 if (ibd->fault) in hfi1_fault_exit_debugfs()
254 debugfs_remove_recursive(ibd->fault->dir); in hfi1_fault_exit_debugfs()
255 kfree(ibd->fault); in hfi1_fault_exit_debugfs()
256 ibd->fault = NULL; in hfi1_fault_exit_debugfs()
263 ibd->fault = kzalloc(sizeof(*ibd->fault), GFP_KERNEL); in hfi1_fault_init_debugfs()
264 if (!ibd->fault) in hfi1_fault_init_debugfs()
267 ibd->fault->attr.interval = 1; in hfi1_fault_init_debugfs()
268 ibd->fault->attr.require_end = ULONG_MAX; in hfi1_fault_init_debugfs()
269 ibd->fault->attr.stacktrace_depth = 32; in hfi1_fault_init_debugfs()
270 ibd->fault->attr.dname = NULL; in hfi1_fault_init_debugfs()
271 ibd->fault->attr.verbose = 0; in hfi1_fault_init_debugfs()
272 ibd->fault->enable = false; in hfi1_fault_init_debugfs()
273 ibd->fault->opcode = false; in hfi1_fault_init_debugfs()
274 ibd->fault->fault_skip = 0; in hfi1_fault_init_debugfs()
275 ibd->fault->skip = 0; in hfi1_fault_init_debugfs()
276 ibd->fault->direction = HFI1_FAULT_DIR_TXRX; in hfi1_fault_init_debugfs()
277 ibd->fault->suppress_err = false; in hfi1_fault_init_debugfs()
278 bitmap_zero(ibd->fault->opcodes, in hfi1_fault_init_debugfs()
279 sizeof(ibd->fault->opcodes) * BITS_PER_BYTE); in hfi1_fault_init_debugfs()
281 ibd->fault->dir = in hfi1_fault_init_debugfs()
282 fault_create_debugfs_attr("fault", parent, in hfi1_fault_init_debugfs()
283 &ibd->fault->attr); in hfi1_fault_init_debugfs()
284 if (IS_ERR(ibd->fault->dir)) { in hfi1_fault_init_debugfs()
285 kfree(ibd->fault); in hfi1_fault_init_debugfs()
286 ibd->fault = NULL; in hfi1_fault_init_debugfs()
290 DEBUGFS_SEQ_FILE_CREATE(fault_stats, ibd->fault->dir, ibd); in hfi1_fault_init_debugfs()
291 if (!debugfs_create_bool("enable", 0600, ibd->fault->dir, in hfi1_fault_init_debugfs()
292 &ibd->fault->enable)) in hfi1_fault_init_debugfs()
295 ibd->fault->dir, in hfi1_fault_init_debugfs()
296 &ibd->fault->suppress_err)) in hfi1_fault_init_debugfs()
298 if (!debugfs_create_bool("opcode_mode", 0600, ibd->fault->dir, in hfi1_fault_init_debugfs()
299 &ibd->fault->opcode)) in hfi1_fault_init_debugfs()
301 if (!debugfs_create_file("opcodes", 0600, ibd->fault->dir, in hfi1_fault_init_debugfs()
302 ibd->fault, &__fault_opcodes_fops)) in hfi1_fault_init_debugfs()
305 ibd->fault->dir, in hfi1_fault_init_debugfs()
306 &ibd->fault->fault_skip)) in hfi1_fault_init_debugfs()
309 ibd->fault->dir, in hfi1_fault_init_debugfs()
310 &ibd->fault->fault_skip_usec)) in hfi1_fault_init_debugfs()
312 if (!debugfs_create_u8("direction", 0600, ibd->fault->dir, in hfi1_fault_init_debugfs()
313 &ibd->fault->direction)) in hfi1_fault_init_debugfs()
324 if (ibd->fault) in hfi1_dbg_fault_suppress_err()
325 return ibd->fault->suppress_err; in hfi1_dbg_fault_suppress_err()
334 if (!ibd->fault || !ibd->fault->enable) in __hfi1_should_fault()
336 if (!(ibd->fault->direction & direction)) in __hfi1_should_fault()
338 if (ibd->fault->opcode) { in __hfi1_should_fault()
339 if (bitmap_empty(ibd->fault->opcodes, in __hfi1_should_fault()
340 (sizeof(ibd->fault->opcodes) * in __hfi1_should_fault()
343 if (!(test_bit(opcode, ibd->fault->opcodes))) in __hfi1_should_fault()
346 if (ibd->fault->fault_skip_usec && in __hfi1_should_fault()
347 time_before(jiffies, ibd->fault->skip_usec)) in __hfi1_should_fault()
349 if (ibd->fault->fault_skip && ibd->fault->skip) { in __hfi1_should_fault()
350 ibd->fault->skip--; in __hfi1_should_fault()
353 ret = should_fail(&ibd->fault->attr, 1); in __hfi1_should_fault()
355 ibd->fault->skip = ibd->fault->fault_skip; in __hfi1_should_fault()
356 ibd->fault->skip_usec = jiffies + in __hfi1_should_fault()
357 usecs_to_jiffies(ibd->fault->fault_skip_usec); in __hfi1_should_fault()
368 ibd->fault->n_txfaults[opcode]++; in hfi1_dbg_should_fault_tx()
380 ibd->fault->n_rxfaults[packet->opcode]++; in hfi1_dbg_should_fault_rx()