부팅 커널 옵션에서 iommu=force를 사용하면 어떤 의미가 있습니까?

부팅 커널 옵션에서 iommu=force를 사용하면 어떤 의미가 있습니까?

저는 Linux 운영 체제의 강화 과정을 따라야 했는데, 그 동안 커널 옵션에는 iommu=force.

그것은 무엇을 합니까? iommu에 대해 아무것도 지정하지 않으면 어떤 차이가 있나요? 내 pci 패스스루 설정과 호환됩니까 intel_iommu=on?

답변1

내가 이해하는 바에 따르면 옵션은 보완적이며, 특히 iommu시스템의 기술 사용을 관리하는 것 force입니다. 이 기술의 가치는 intel_iommuAMD의 사양과 마찬가지로 기술 자체인 IOMMU 사양(Intel VT-d)을 보장합니다. (AMD-Vi) amd_iommu.

다음 구성 옵션을 분석해 보세요.

일반 iommu(입/출력 메모리 관리 장치) 옵션:

off
어떤 유형의 IOMMU도 초기화하고 사용하지 마십시오.

noforce
필요하지 않은 경우 하드웨어 IOMMU를 강제로 사용하지 마세요. (기본).

force
실제로 필요하지 않은 경우에도(예: 메모리가 3GB 미만인 경우) 하드웨어 IOMMU를 강제로 사용합니다.

soft
소프트웨어 바운스 버퍼(SWIOTLB) 사용(Intel 시스템의 기본 설정). 이것은 사용될 수 있습니다예방하다사용 가능한 하드웨어 IOMMU 사용.

이제 인텔 IOMMU:

intel_iommu[DMAR] 인텔 IOMMU 드라이버(DMAR) 옵션

DMAR: 직접 메모리 액세스 재매핑

on
Intel IOMMU 드라이버를 활성화합니다.

intel_iommu( off, igfx_off, , ...) 더 많은 옵션이 있지만 forcedac이 질문과 관련이 없습니다.

저는 이 주제에 대한 전문가가 아닙니다. 뭔가 누락된 부분이 있을 수 있으므로 다음은 몇 가지 출처입니다.

답변2

둘 다 주로 SR-IOV 패스스루(pt) 모드에 대한 Lx 매개변수 iommu입니다 .intel_iommugrub

  • iommu=force
    실제로 필요하지 않더라도(예: 메모리가 3GB 미만인 경우) 하드웨어 IOMMU("입력 출력 메모리 관리 장치")를 강제로 사용합니다. 이것이 런타임을 어떻게 향상시키나요?

올바르게 작동하는 드라이버는 DMA를 수행해야 하는 장치에 명령을 보내기 전에 pci_map_*() 호출을 수행합니다. DMA가 완료되고 매핑이 더 이상 필요하지 않으면 장치는 pci_unmap_*() 호출을 수행하여 영역 매핑을 해제합니다. Intel IOMMU 드라이버는 각 도메인에 가상 주소를 할당합니다. 각 PCIE 장치는 자체 도메인을 갖도록 강제되어 보호됩니다.

  • intel_iommu=on
    커널에서 SR-IOV를 활성화하면 됩니다.

최상의 성능을 위해서는 iommu=ptSR-IOV를 사용할 때 파일에 추가(전달)하세요. grub통과 모드에서는 어댑터가 메모리로 변환하기 위해 DMA를 사용할 필요가 없으므로 성능이 향상됩니다. iommu=pt하이퍼바이저 성능이 필요할 때 주로 필요합니다. 바라보다이것그리고저것배경 정보를 얻으세요.

이 예에서 grub파일은 다음과 같습니다.

kernel /vmlinuz-Ub15.10x86_64-5.5.15-42-generic root=/dev/sda1 console=tty0 console=ttyS0,115200n8 rhgb intel_iommu=on iommu=pt

화타이

답변3

죽은 이후는 아니지만, 간결하게 답변을 드리는 것이 좋겠다고 생각했습니다. Cbhihe가 위에서 말했듯이 드라이버는 일부 DMA 메모리를 할당하거나 따로 설정하고 장치에 이를 사용하도록 지시합니다. 하지만 이것은 실제로는 제안일 뿐입니다. 장치는 실제로 (버그나 악의적인 의도로 인해) DMA를 사용하여 원하는 시스템 메모리를 읽고 쓸 수 있습니다. 여기에는 잠재적으로 시스템 메모리를 읽을 수 있는 USB3 및 Thunderbolt 장치도 포함됩니다. 최신 USB3 및 Thunderbolt 컨트롤러는 자체적으로 이 동작을 방지할 수 있습니다. iommu dmar(DMA 재매핑)는 이러한 잘못된 DMA 액세스를 방지하며, iommu=force가 켜져 있는지 확인하세요. 보안 시스템에 대한 신중한 예방 조치.

관련 정보