/* PCIe MPS/MRRS strategy; can be overridden by kernel command-line param */#ifdef CONFIG_PCIE_BUS_TUNE_OFFenumpcie_bus_config_typespcie_bus_config=PCIE_BUS_TUNE_OFF;#elif defined CONFIG_PCIE_BUS_SAFEenumpcie_bus_config_typespcie_bus_config=PCIE_BUS_SAFE;#elif defined CONFIG_PCIE_BUS_PER...
在linux内核中,MPS/MRRS这两个参数,同样会受到内核pcie_bus_config_types的影响。以linux 5.19内核源码为例,pcie_bus_config_types定义有5种: PCIE_BUS_TUNE_OFF:不对MPS做任何操作 PCIE_BUS_DEFAULT:保证pcie设备可以满足upstream的要求。 PCIE_BUS_SAFE:将MPS设置为设备最大支持的值,这里也要参考水桶原理,最终...
2. pcie_bus_safe 如果希望将所有PCIe层级中的设备的最大数据负载(MPS)调整到最大,请配置pci=pcie_...
pcie_bus_safe Set every device's MPS to the largest value supported by all devices below the root complex. pcie_bus_perf Set device MPS to the largest allowable MPS based on its parent bus. Also set MRRS (Max Read Request Size) to the largest supported value (no larger than the MPS t...
在linux内核中,MPS/MRRS这两个参数,同样会受到内核pcie_bus_config_types的影响。以linux 5.19内核源码为例,pcie_bus_config_types定义有5种: PCIE_BUS_TUNE_OFF:不对MPS做任何操作 PCIE_BUS_DEFAULT:保证pcie设备可以满足upstream的要求。 PCIE_BUS_SAFE:将MPS设置为设备最大支持的值,这里也要参考水桶原理,最终...
[ 0.340000] PCI: bus0: Fast back to back transfers disabled [ 0.340000] pci 0000:01:00.0: [10ec:8176] type 0 class 0x000280 [ 0.340000] pci 0000:01:00.0: reg 10: [io 0x0000-0x00ff] [ 0.340000] pci 0000:01:00.0: reg 18: [mem 0x00000000-0x00003fff 64bit] ...
CONFIG_PCIE_BUS_DEFAULT=y # CONFIG_PCIE_BUS_SAFE is not set # CONFIG_PCIE_BUS_PERFORMANCE is not set # CONFIG_PCIE_BUS_PEER2PEER is not set # CONFIG_HOTPLUG_PCI is not set CONFIG_HOTPLUG_PCI=y CONFIG_HOTPLUG_PCI_ACPI=y CONFIG_HOTPLUG_PCI_ACPI_IBM=m CONFIG_HOTPLUG_PCI_CPCI=y # CO...
看到bus_type 显然这是个设备总线驱动模型里的“总线”,与前边提到的 pci_bus ,完全是两码事,那么pci_driver 和 pci_dev 就是注册到 pci_bus_type 的驱动和设备。分析总线设备驱动模型的时候,总要分析一下它的 match 函数(匹配规则)。 static int pci_bus_match(struct device *dev, struct device_driver *...
-->pci_create_root_bus //创建代表pcie控制器的pci_host_bridge和第一条pci总线,driver/pci/probe.c -->pci_scan_child_bus //枚举pci总线上的所有设备 -->pci_scan_slot //扫描PCI 多功能设备,如果发现是单功能设备,不再继续扫描,如果发现是多功能设备,则进行8次扫描 ...
每个PCI总线都有一个pci_bus结构与之对应。 系统中所有的根总线的pci_bus结构通过node连接起来; parent指向该总线的父总线即上一级总线; children描述这条PCI总线的子总线链表的表头; devices描述了这条PCI总线的逻辑设备链表的表头; self指向引出这条PCI总线的桥设备的pci_dev结构; ...