megaraid_sas Fails to Enumerate VDs When mem_encrypt=on in DELL EMC AMD Based Servers
This document (7024182) is provided subject to the disclaimer at the end of this document.
Environment
SUSE Linux Enterprise Server 15 Service Pack 1 (SLES 15 SP1)
Situation
This issue affects DELL EMC AMD based Servers with a H330 (or any
PERC9) storage controller with VDs created underneath it. When
booting to SLES 15 SP1 GM installer iso with mem_encrypt=on kernel
boot parameter, no VDs are listed by the installer. OS logs
indicate that the megaraid_sas driver has failed to allocate DMA
buffers hence no VDs are exposed.
Resolution
- Workaround: Set kernel boot parameters "iommu=nopt
iommu.passthrough=0" to disable iommu passthrough. These parameters
are required as a work around for the old kernel.
- Permanent fix: Update kernel to
kernel-default-4.12.14-197.18.1 or later. The kernel fix is
accepted upstream and details can be found at
https://lkml.org/lkml/2019/8/19/459.
Cause
SME with passthrough mode is fragile with devices requiring
SWIOTLB, mainly because SWIOTLB has a maximum allocation size of
256kb and a limit overall size of the bounce buffer.
Therefore having IOMMU in translation mode by default is
better when SME is active on a system.
Hence now as a resolution it disables IOMMU Passthrough
mode when SME is active even when
CONFIG_IOMMU_DEFAULT_PASSTHROUGH=y is set.
Disclaimer
This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.
- Document ID:7024182
- Creation Date:
15-Oct-2019
- Modified Date:03-Mar-2020
-
- SUSE Linux Enterprise Server
< Back to Support Search
For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com