Проблема с PCIe - почему pciehp дает противоречивые данные журнала - PullRequest
0 голосов
/ 30 октября 2018

Я запускаю задания fio на моем твердотельном накопителе NVMe и затем подключаю его к сети. Платформа поддерживает горячее подключение, а система имеет Centos 7.0. Через несколько секунд после моего подключения система сталкивается с сбоем и выдает следующую информацию для печати:

================

[1026.468414] {1} [Аппаратная ошибка]: аппаратная ошибка от общей аппаратной ошибки APEI Источник: 1

[1026.468422] pciehp 0000: 5d: 02.0: pcie04: карта присутствует в слоте (6-1)

[1026.468432] pciehp 0000: 5d: 02.0: pcie04: слот (6-1): событие Link Down

[1026.468451] pciehp 0000: 5d: 02.0: pcie04: событие Link Down в очереди в слоте (6-1): в данный момент включается

[1026.468457] pciehp 0000: 5d: 02.0: pcie04: уже включен в слоте (7-1)

[1026.468705] {1} [Аппаратная ошибка]: серьезность события: неустранимо

[1026.468744] {1} [Аппаратная ошибка]: ошибка 0, тип: fatal

[1026.468782] {1} [Аппаратная ошибка]: section_type: ошибка PCIe

[1026.468825] {1} [Аппаратная ошибка]: тип_порта: 0, конечная точка PCIe

[1026.468867] {1} [Аппаратная ошибка]: версия: 3.0

[1026.468915] {1} [Аппаратная ошибка]: команда: 0x0102, статус: 0x4010

[1026.468961] {1} [Аппаратная ошибка]: идентификатор_устройства: 0000: 00: 00.0

[1026.469901] {1} [Аппаратная ошибка]: слот: 0

[1026.469032] {1} [Аппаратная ошибка]: Secondary_bus: 0x00

[1026.469070] {1} [Аппаратная ошибка]: vendor_id: 0x1ded, device_id: 0x3010

[1026.469117] {1} [Аппаратная ошибка]: код_класса: 008001

[1026.469155] Паника ядра - не синхронизируется: фатальная аппаратная ошибка!

================

Возможная основная причина сбоя системы заключается в том, что противоречивая пара событий "карта присутствует" и "связь вниз" испортила системную логику. Что меня смущает, так это то, что pciehp сообщает об «наличии карты» и «соединении» одновременно. Как показывает мой опыт, «карта присутствует» часто идет с «ссылка вверх», а «ссылка вниз» обычно идет как «карта отсутствует».

Может ли кто-нибудь подсказать мне, как происходит эта странная ситуация? Или какой бит в регистре PCIe запускает событие «карта присутствует» и «соединение»?

...