S/390 通用 I/O 層¶
命令列引數、procfs 和 debugfs 條目¶
命令列引數¶
ccw_timeout_log
啟用在 ccw 裝置超時的情況下記錄除錯資訊。
cio_ignore = device[,device[,..]]
device := {all | [!]ipldev | [!]condev | [!]<devno> | [!]<devno>-<devno>}
通用 I/O 層將忽略給定的裝置;在這些裝置上不會進行檢測和裝置感知。 連線到相關裝置的子通道將被視為未連線任何裝置。
稍後可以取消忽略已忽略的裝置; 有關詳細資訊,請參見“/proc 條目”部分。
這些裝置必須作為匯流排 ID (0.x.abcd) 或作為十六進位制裝置號 (0xabcd 或 abcd,為了與 2.4 向後相容) 提供。 如果您給定的裝置號為 0xabcd,它將被解釋為 0.0.abcd。
您可以使用 ‘all’ 關鍵字來忽略所有裝置。 ‘ipldev’ 和 ‘condev’ 關鍵字可用於分別引用基於 CCW 的啟動裝置和 CCW 控制檯裝置 (這些可能只有與 ‘!’ 運算子組合使用時才有用)。 ‘!’ 運算子將導致 I/O 層 _不_ 忽略裝置。 命令列從左到右解析。
例如
cio_ignore=0.0.0023-0.0.0042,0.0.4711
如果檢測到,將忽略範圍從 0.0.0023 到 0.0.0042 的所有裝置以及裝置 0.0.4711。
作為另一個例子
cio_ignore=all,!0.0.4711,!0.0.fd00-0.0.fd02
將忽略除 0.0.4711、0.0.fd00、0.0.fd01、0.0.fd02 之外的所有裝置。
預設情況下,不忽略任何裝置。
/proc 條目¶
/proc/cio_ignore
列出通用 I/O 忽略的裝置範圍(按匯流排 ID)。
您可以透過管道傳遞到 /proc/cio_ignore 來取消忽略某些或所有裝置。 “free all” 將取消忽略所有忽略的裝置,“free <裝置範圍>, <裝置範圍>, ...” 將取消忽略指定的裝置。
例如,如果裝置 0.0.0023 到 0.0.0042 和 0.0.4711 被忽略,
echo free 0.0.0030-0.0.0032 > /proc/cio_ignore 將取消忽略裝置 0.0.0030 到 0.0.0032,並將裝置 0.0.0023 到 0.0.002f、0.0.0033 到 0.0.0042 和 0.0.4711 保留為忽略狀態;
echo free 0.0.0041 > /proc/cio_ignore 將進一步取消忽略裝置 0.0.0041;
echo free all > /proc/cio_ignore 將取消忽略所有剩餘的被忽略裝置。
當裝置被取消忽略時,將執行裝置識別和感知,並且如果可能,將通知裝置驅動程式,因此該裝置將可供系統使用。 請注意,取消忽略是非同步執行的。
您還可以透過管道傳遞到 /proc/cio_ignore 來新增要忽略的裝置範圍; “add <裝置範圍>, <裝置範圍>, ...” 將忽略指定的裝置。
- 注意:雖然可以將已知的裝置新增到要忽略的裝置列表中,
忽略,但不會對其產生任何影響。 但是,如果此類裝置消失然後重新出現,則它將被忽略。 要使已知裝置消失,您需要 “purge” 命令 (參見下文)。
例如
"echo add 0.0.a000-0.0.accc, 0.0.af00-0.0.afff > /proc/cio_ignore"
將新增 0.0.a000-0.0.accc 和 0.0.af00-0.0.afff 到忽略的裝置列表。
您可以透過以下方式刪除已知的但現在被忽略的裝置:
"echo purge > /proc/cio_ignore"
所有被忽略但仍已註冊且未線上(=未使用)的裝置將被登出,從而從系統中刪除。
可以透過匯流排 ID (0.x.abcd) 或十六進位制的裝置號 (0xabcd 或 abcd) 來指定裝置,以便與 2.4 向後相容。 給定的裝置號 0xabcd 將被解釋為 0.0.abcd。
/proc/cio_settle
對此檔案的寫入請求將被阻塞,直到處理完所有排隊的 cio 操作。 這將允許使用者空間在更改 cio_ignore 或硬體配置後等待影響裝置可用性的未決工作。
對於 2.4 中 /proc 檔案系統中存在的一些資訊(即 /proc/subchannels 和 /proc/chpids),請參見 S/390 驅動模型介面。 原來在 /proc/irq_count 中的資訊現在位於 /proc/interrupts 中。
debugfs 條目¶
/sys/kernel/debug/s390dbf/cio_*/ (S/390 除錯功能)
除錯功能生成的一些檢視,用於儲存各種除錯輸出。
/sys/kernel/debug/s390dbf/cio_crw/sprintf 來自處理掛起的通道報告字(機器檢查處理)的訊息。
/sys/kernel/debug/s390dbf/cio_msg/sprintf 來自通用 I/O 層的各種除錯訊息。
/sys/kernel/debug/s390dbf/cio_trace/hex_ascii 記錄通用 I/O 層中函式的呼叫,以及(如果適用)它們被呼叫的子通道,以及一些資料結構的轉儲(例如錯誤情況下的 irb)。
可以透過管道傳遞到 /sys/kernel/debug/s390dbf/cio_*/level 一個介於 0 和 6 之間的數字來更改日誌記錄級別,使其或多或少詳細; 有關詳細資訊,請參見 S/390 除錯功能 (S390 除錯功能) 的文件。