Logo

Linux 内核

6.13.0-rc6

快速搜索

目录

  • 开发流程
  • 提交补丁
  • 行为准则
  • 维护者手册
  • 所有开发流程文档
  • 核心 API
  • 驱动程序 API
  • 子系统
    • 核心子系统
    • 人机接口
    • 网络接口
      • 网络
      • NetLabel
      • InfiniBand
      • ISDN
      • MHI
    • 存储接口
    • 其他子系统
  • 锁机制
  • 许可规则
  • 编写文档
  • 开发工具
  • 测试指南
  • Hacking 指南
  • 跟踪
  • 故障注入
  • 热补丁
  • Rust
  • 管理
  • 构建系统
  • 报告问题
  • 用户空间工具
  • 用户空间 API
  • 固件
  • 固件和设备树
  • CPU 架构
  • 未分类文档
  • 翻译

本页

  • 显示源码

Devlink 资源¶

devlink 允许驱动程序注册资源,这可以让管理员查看给定资源的设备限制,以及当前正在使用的资源量。此外,这些资源可以选择具有可配置的大小。这可以使管理员能够限制所使用的资源数量。

例如,netdevsim 驱动程序启用 /IPv4/fib 和 /IPv4/fib-rules 作为资源,以限制给定设备的 IPv4 FIB 条目和规则的数量。

资源 ID¶

每个资源都由一个 ID 表示,并包含有关其当前大小和相关子资源的信息。要访问子资源,您需要指定资源的路径。例如,/IPv4/fib 是 IPv4 资源下的 fib 子资源的 ID。

通用资源¶

通用资源用于描述可以由多个设备驱动程序共享的资源,并且它们的描述必须添加到下表中

通用资源列表¶

名称

描述

physical_ports

交换机 ASIC 可以支持的有限的物理端口容量

使用示例¶

例如,可以观察到驱动程序公开的资源

$devlink resource show pci/0000:03:00.0
pci/0000:03:00.0:
  name kvd size 245760 unit entry
    resources:
      name linear size 98304 occ 0 unit entry size_min 0 size_max 147456 size_gran 128
      name hash_double size 60416 unit entry size_min 32768 size_max 180224 size_gran 128
      name hash_single size 87040 unit entry size_min 65536 size_max 212992 size_gran 128

一些资源的大小可以更改。示例

$devlink resource set pci/0000:03:00.0 path /kvd/hash_single size 73088
$devlink resource set pci/0000:03:00.0 path /kvd/hash_double size 74368

更改不会立即生效,这可以通过“size_new”属性进行验证,该属性表示大小的待处理更改。例如

$devlink resource show pci/0000:03:00.0
pci/0000:03:00.0:
  name kvd size 245760 unit entry size_valid false
  resources:
    name linear size 98304 size_new 147456 occ 0 unit entry size_min 0 size_max 147456 size_gran 128
    name hash_double size 60416 unit entry size_min 32768 size_max 180224 size_gran 128
    name hash_single size 87040 unit entry size_min 65536 size_max 212992 size_gran 128

请注意,更改资源大小可能需要重新加载设备才能正确生效。

©内核开发社区。 | 由 Sphinx 5.3.0 & Alabaster 0.7.16 驱动 | 页面源码