|
Description
|
When Neptune driver detects an error, it may generate 3 ereport (invalid_state, service_lost and service_restored). Where invalid_state is posted by ddi_fm_ereport_post(), service_lost and service_restored are posted by ddi_fm_service_impact(). After receiveing certain number of ereports, the FMA diagnostics engine generates a new entry in the fault log. However, the fault entry does not always contains the DETAILED information carried ONLY by the inval_state ereport. Instead, often times the "fmdump -eVu uuid" command shows the information from service-lost or service-restored ereports which do not contain the detailed informative about failure). We want the FMA diagnostics engine always record the information from the ddi_fm_ereport_post and never record the infomation from ddi_fm_service_impact. This will make the FMA fault log more useful.
Two "fmdump -eVu uuid" results are shown below, the first one is the one we want (inval_state), the second one is the useless service-restored/service_lost fault report
# fmdump -eVu c72e884e-dd28-e1cf-bdb8-ac4909208d74
TIME CLASS
May 21 2007 09:37:12.630231530 ereport.io.device.inval_state
nvlist version: 0
class = ereport.io.device.inval_state
ena = 0xd927d032f1a02401
detector = (embedded nvlist)
nvlist version: 0
version = 0x0
scheme = dev
device-path = /pci@7c0/pci@0/pci@8/network@0
(end detector)
detailed error type = tx_reorder_err <<=== THIS IS THE IFNO WE NEED
port number = 0x0
txc reorder FIFO error state0(duplicate TID) = 0x0
txc reorder FIFO error state1(uninitialized TID) = 0x0
txc reorder FIFO error state2(timed out TIDs) = 0x0
txc reorder FIFO error state3 = 0x1ff800
txc reorder FIFO error control = 0x80000000
txc reorder tids = 0x0
__ttl = 0x1
__tod = 0x4651cab8 0x259091ea
---------------------------------------------------
THIS IS A USELESS ONE
# fmdump -eVu 09c48c72-d7b4-e469-dfed-a6a5db75d5d5
TIME CLASS
May 21 2007 09:35:22.631332728 ereport.io.service.restored
nvlist version: 0
class = ereport.io.service.restored
ena = 0xd78e091327501001
detector = (embedded nvlist)
nvlist version: 0
version = 0x0
scheme = dev
device-path = /pci@7c0/pci@0/pci@8/network@0
(end detector)
__ttl = 0x1
__tod = 0x4651ca4a 0x25a15f78
May 21 2007 09:35:22.630405403 ereport.io.service.lost
nvlist version: 0
class = ereport.io.service.lost
ena = 0xd78e0830b1c01401
detector = (embedded nvlist)
nvlist version: 0
version = 0x0
scheme = dev
device-path = /pci@7c0/pci@0/pci@8/network@0
(end detector)
__ttl = 0x1
__tod = 0x4651ca4a 0x2593391b
#
|