AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 952565
Accepted
Stonecraft
Stonecraft
Asked: 2019-02-07 02:56:31 +0800 CST2019-02-07 02:56:31 +0800 CST 2019-02-07 02:56:31 +0800 CST

PCI 设备的 ID 指的是什么,哪些与设置直通相关?

  • 772

在使用 virsh 设置域时,我一直认为 PCI 卡的“插槽”是指它所在的主板上的哪个插槽。但是,情况似乎并非如此,而是分配了两个不同物理插槽中的卡virsh 到同一个“槽”。前两个设备是 GTX 1070 的一部分,第三个是 Sonnet PCI USB 卡。

另外,这两个不同的总线 ID 是什么?第一个的bus ID是67还是43?

~$ virsh nodedev-dumpxml pci_0000_43_00_0
<device>
  <name>pci_0000_43_00_0</name>
  <path>/sys/devices/pci0000:40/0000:40:01.3/0000:43:00.0</path>
  <parent>pci_0000_40_01_3</parent>
  <driver>
    <name>nouveau</name>
  </driver>
  <capability type='pci'>
    <domain>0</domain>
    <bus>67</bus>
    <slot>0</slot>
    <function>0</function>
    <product id='0x1b81'>GP104 [GeForce GTX 1070]</product>
    <vendor id='0x10de'>NVIDIA Corporation</vendor>
    <iommuGroup number='39'>
      <address domain='0x0000' bus='0x43' slot='0x00' function='0x0'/>
      <address domain='0x0000' bus='0x43' slot='0x00' function='0x1'/>
    </iommuGroup>
    <pci-express>
      <link validity='cap' port='0' speed='8' width='16'/>
      <link validity='sta' speed='2.5' width='8'/>
    </pci-express>
  </capability>
</device>

~$ virsh nodedev-dumpxml pci_0000_43_00_1
<device>
  <name>pci_0000_43_00_1</name>
  <path>/sys/devices/pci0000:40/0000:40:01.3/0000:43:00.1</path>
  <parent>pci_0000_40_01_3</parent>
  <driver>
    <name>snd_hda_intel</name>
  </driver>
  <capability type='pci'>
    <domain>0</domain>
    <bus>67</bus>
    <slot>0</slot>
    <function>1</function>
    <product id='0x10f0'>GP104 High Definition Audio Controller</product>
    <vendor id='0x10de'>NVIDIA Corporation</vendor>
    <iommuGroup number='39'>
      <address domain='0x0000' bus='0x43' slot='0x00' function='0x0'/>
      <address domain='0x0000' bus='0x43' slot='0x00' function='0x1'/>
    </iommuGroup>
    <pci-express>
      <link validity='cap' port='0' speed='8' width='16'/>
      <link validity='sta' speed='2.5' width='8'/>
    </pci-express>
  </capability>
</device>

~$ virsh nodedev-dumpxml pci_0000_0a_00_0
<device>
  <name>pci_0000_0a_00_0</name>
  <path>/sys/devices/pci0000:00/0000:00:03.1/0000:0a:00.0</path>
  <parent>pci_0000_00_03_1</parent>
  <driver>
    <name>xhci_hcd</name>
  </driver>
  <capability type='pci'>
    <domain>0</domain>
    <bus>10</bus>
    <slot>0</slot>
    <function>0</function>
    <product id='0x1242'>ASM1142 USB 3.1 Host Controller</product>
    <vendor id='0x1b21'>ASMedia Technology Inc.</vendor>
    <iommuGroup number='18'>
      <address domain='0x0000' bus='0x0a' slot='0x00' function='0x0'/>
    </iommuGroup>
    <numa node='0'/>
    <pci-express>
      <link validity='cap' port='1' speed='5' width='2'/>
      <link validity='sta' speed='5' width='2'/>
    </pci-express>
  </capability>
</device>
kvm-virtualization
  • 1 1 个回答
  • 1140 Views

1 个回答

  • Voted
  1. Best Answer
    Michael Hampton
    2019-02-07T06:05:47+08:002019-02-07T06:05:47+08:00

    “总线”是指来自主板芯片组的 PCI/PCI-X/PCI express 总线,设备连接到该总线。这可能是也可能不是通过板上的实际插槽;例如,板载以太网端口与接受视频卡的扩展槽位于单独的总线上。

    “插槽”是指 PCI 总线上连接单个物理设备的空间,它在电气上与该总线上的其他“插槽”不同。例如,两个不同的 USB 控制器占用两个不同的插槽。或者您的显卡占用了与 RAID HBA 不同的插槽。

    请注意,虽然您询问了使用同一插槽的两个不同的物理设备,但您在问题中发布的任何内容都没有证明这种情况正在发生。确实,它不会发生。插槽在物理上是总线的一部分,一条总线上的插槽 0 与另一条总线上的插槽 0 不同。

    “功能”是指提供不同功能的物理设备的子集。例如,板载以太网设备对每个物理以太网端口都有单独的功能。您的视频卡具有独立的视频控制器和音频设备功能。

    关于直通,单个总线/插槽/功能标识设备或其一部分,可以单独地直通到 VM。

    最后,67 和 43 是同一个数字。前者是十进制,正如它显示为 0x43 所暗示的那样,后者是十六进制。

    • 2

相关问题

  • Xen 与 KVM 的性能对比

  • 什么是bridge_fd?

  • 如何在 kvm-linux 中登录除 ssh、vnc 之外的控制台

  • Linux 内核虚拟机

  • Vista 上的 VNC

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve