Devlink 重新載入¶
devlink-reload 提供了一種機制來重新初始化驅動程式實體,應用 devlink-params 和 devlink-resources 的新值。它還提供了一種啟用韌體的機制。
重新載入操作¶
使用者可以選擇一個重新載入操作。預設選擇 driver_reinit 操作。
名稱 |
描述 |
|
Devlink 驅動程式實體重新初始化,包括將新值應用於驅動程式載入期間使用的 devlink 實體,這些實體包括
其他 devlink 實體可能在重新初始化後保留
其餘的 devlink 實體必須被移除並重新新增。 |
|
韌體啟用。如果儲存了新的韌體映象並等待啟用,則啟用它。如果未指定限制,此操作可能涉及韌體重置。如果沒有新的映象等待,此操作將重新載入當前韌體映象。 |
請注意,即使使用者請求特定操作,驅動程式實現也可能需要同時執行其他操作。例如,某些驅動程式不支援在不啟用韌體的情況下執行驅動程式重新初始化。因此,devlink 重新載入命令返回實際執行的操作列表。
重新載入限制¶
預設情況下,重新載入操作不受限制,驅動程式實現可以根據需要包含重置或停機時間以執行操作。
但是,某些驅動程式支援操作限制,這會將操作實現限制在特定約束內。
名稱 |
描述 |
|
不允許重置,不允許停機,不發生鏈路抖動,不丟失配置。 |
更改名稱空間¶
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