Linux内核3.14和4.9之间的某个地方的PCI设备命名发生变化的原因是因为在Linux内核4.9中引入了一项名为"PCI domain"的新特性。在此之前,PCI设备的命名是基于总线、插槽和功能号的组合,例如"0000:01:00.0"表示总线号为0000,插槽号为01,功能号为00的PCI设备。
然而,随着系统中PCI设备数量的增加,PCI总线号的位数不足以唯一标识所有设备。为了解决这个问题,Linux内核4.9引入了PCI domain的概念。PCI domain是一个用于唯一标识PCI设备的32位数值,它包含了总线、插槽、功能号以及一个新的域号。
在Linux内核4.9之前,域号默认为0,因此在命名PCI设备时并不需要显示指定域号。而在Linux内核4.9及之后的版本中,为了支持更多的PCI设备,域号默认为0,但可以通过/sys/bus/pci/devices/目录下的域目录来指定不同的域号。
这种变化的好处是可以支持更多的PCI设备,并且可以更准确地标识每个设备。然而,由于命名规则的改变,可能会导致一些依赖于旧命名规则的脚本或工具出现兼容性问题。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云