Logo

Linux 核心

6.16.0-rc4

快速搜尋

目錄

  • 開發過程
  • 提交補丁
  • 行為準則
  • 維護者手冊
  • 所有開發過程文件
  • 核心 API
  • 驅動程式 API
  • 子系統
    • 核心子系統
    • 人機介面
    • 網路介面
      • 網路
      • NetLabel
      • InfiniBand
      • ISDN
      • MHI
    • 儲存介面
    • 其他子系統
  • 鎖定
  • 許可規則
  • 編寫文件
  • 開發工具
  • 測試指南
  • 開發指南
  • 跟蹤
  • 故障注入
  • 熱補丁
  • Rust
  • 管理
  • 構建系統
  • 報告問題
  • 使用者空間工具
  • 使用者空間 API
  • 韌體
  • 韌體和裝置樹
  • CPU 架構
  • 未分類文件
  • 翻譯

本頁

  • 顯示原始檔

Devlink 重新載入¶

devlink-reload 提供了一種機制來重新初始化驅動程式實體,應用 devlink-params 和 devlink-resources 的新值。它還提供了一種啟用韌體的機制。

重新載入操作¶

使用者可以選擇一個重新載入操作。預設選擇 driver_reinit 操作。

可能的重新載入操作¶

名稱

描述

driver-reinit

Devlink 驅動程式實體重新初始化,包括將新值應用於驅動程式載入期間使用的 devlink 實體,這些實體包括

  • 配置模式為 driverinit 的 devlink-params

  • devlink-resources

其他 devlink 實體可能在重新初始化後保留

  • devlink-health-reporter

  • devlink-region

其餘的 devlink 實體必須被移除並重新新增。

fw_activate

韌體啟用。如果儲存了新的韌體映象並等待啟用,則啟用它。如果未指定限制,此操作可能涉及韌體重置。如果沒有新的映象等待,此操作將重新載入當前韌體映象。

請注意,即使使用者請求特定操作,驅動程式實現也可能需要同時執行其他操作。例如,某些驅動程式不支援在不啟用韌體的情況下執行驅動程式重新初始化。因此,devlink 重新載入命令返回實際執行的操作列表。

重新載入限制¶

預設情況下,重新載入操作不受限制,驅動程式實現可以根據需要包含重置或停機時間以執行操作。

但是,某些驅動程式支援操作限制,這會將操作實現限制在特定約束內。

可能的重新載入限制¶

名稱

描述

no_reset

不允許重置,不允許停機,不發生鏈路抖動,不丟失配置。

更改名稱空間¶

netns 選項允許使用者在 devlink 重新載入操作期間將 devlink 例項移動到名稱空間中。預設情況下,所有 devlink 例項都在 init_net 中建立並保留在那裡。

使用示例¶

$ devlink dev reload help
$ devlink dev reload DEV [ netns { PID | NAME | ID } ] [ action { driver_reinit | fw_activate } ] [ limit no_reset ]

# Run reload command for devlink driver entities re-initialization:
$ devlink dev reload pci/0000:82:00.0 action driver_reinit
reload_actions_performed:
  driver_reinit

# Run reload command to activate firmware:
# Note that mlx5 driver reloads the driver while activating firmware
$ devlink dev reload pci/0000:82:00.0 action fw_activate
reload_actions_performed:
  driver_reinit fw_activate
©核心開發社群。 | 由 Sphinx 5.3.0 & Alabaster 0.7.16 提供支援 | 頁面原始檔