Lorsque le domaine root ou principal est réinitialisé, le domaine d'E/S est informé qu'il doit suspendre les fonctions virtuelles affectées à partir du domaine réinitialisé et les reprendre une fois la réinitialisation terminée. Toutefois, dans certains cas, la notification de reprise peut être envoyée prématurément, empêchant ainsi le domaine d'E/S de reprendre une ou plusieurs des fonctions virtuelles qui lui ont été affectées. Ce problème ne se produit que sur les plates-formes M7/T7, lorsque la stratégie de panne des domaines logiques sur le domaine d'E/S n'est pas définie ou qu'elle est définie sur ignore.
Deux symptômes indiquent cette panne :
Un avertissement sur la console dans le domaine d'E/S (également consigné dans /var/adm/messages)
Une panne FMA dans le domaine root ou principal auquel la fonction physique est affectée
L'avertissement provenant de la console du domaine d'E/S se présente comme suit :
WARNING: pxsoft_msi_resume: retry limit exceeded.
La panne FMA dans le domaine root ou principal est fault.io.pciex.device-invreq (PCIEX-8000-8R). Elle inclut un rapport d'erreur ereport.io.pciex.rc.epkt contenant la chaîne suivante :
event_name = Virtual_TTE_invalid
Pour afficher la liste des rapports d'erreur FMA consignés, saisissez :
# fmdump -e
Pour obtenir une liste détaillée pouvant inclure la chaîne event_name = Virtual_TTE_invalid, saisissez :
# fmdump -eV
L'avertissement provenant de la console du domaine d'E/S se présente comme suit :
WARNING: pxsoft_msi_resume: retry limit exceeded.
Si ce problème se produit, une ou plusieurs fonctions virtuelles affectées ne fonctionneront plus correctement dans le domaine d'E/S après la réinitialisation d'un domaine root ou principal. Les pilotes de périphérique associés aux fonctions virtuelles affectées ne peuvent pas traiter les signaux d'interruption provenant des périphériques matériels sous-jacents.
Récupération :
Pour effectuer une récupération après cet incident et relancer les fonctions virtuelles impactées, réinitialisez le domaine d'E/S concerné.
Pour que le domaine d'E/S devienne plus résistant à cette panne, configurez le paramètre suivant dans son fichier /etc/system :
set pxsoft:pxsoft_resume_max_retries=1024
Ce paramètre affecte uniquement les opérations de reprise des fonctions virtuelles dans le domaine d'E/S. Vous devez réinitialiser le domaine d'E/S pour que le nouveau paramètre entre en vigueur.
Réduction
Ce problème survient si plusieurs fonctions virtuelles provenant de plusieurs fonctions physiques dans le même bus PCIe sont affectées à un domaine d'E/S. Pour éviter cela, affectez des fonctions virtuelles dans le domaine d'E/S à partir d'une seule fonction physique de ce bus PCIe.