簡體   English   中英

man kaio:沒有手動輸入kaio

[英]man kaio: No manual entry for kaio

我捆綁了一個過程,它們如下所示。 我想知道kaio的定義,但是沒有kaio的手動輸入,那么我是否可以獲得定義?

/1:     kaio(AIOWRITE, 259, 0x3805B2A00, 8704, 0x099C9E000755D3C0) = 0
/1:     kaio(AIOWRITE, 259, 0x380CF9200, 14336, 0x099CC0000755D5B8) = 0
/1:     kaio(AIOWRITE, 259, 0x381573600, 8704, 0x099CF8000755D7B0) = 0
/1:     kaio(AIOWRITE, 259, 0x381ACA600, 8192, 0x099D1A000755D9A8) = 0
/1:     kaio(AIOWAIT, 0xFFFFFFFF7FFFD620)               = 4418032576
/1:             timeout: 600.000000 sec
/1:     kaio(AIOWAIT, 0xFFFFFFFF7FFFD620)               = 4418033080
/1:             timeout: 600.000000 sec
/1:     kaio(AIOWAIT, 0xFFFFFFFF7FFFD620)               = 4418033584
/1:             timeout: 600.000000 sec

一篇有關它的文章中

顧名思義,kaio所做的是在內核內部而不是通過用戶線程在用戶域中實現異步I / O。 I / O隊列是在操作系統中創建和管理的。 事件的基本順序如下:當應用程序調用aioread(3)或aiowrite(3)時,將輸入相應的庫例程。 輸入后,庫首先嘗試通過kaio處理請求。 執行一個kaio初始化例程,該例程創建一個“清理”線程,該線程旨在確保在異步I / O進程中沒有剩余的已分配但沒有釋放的內存段。 完成后,將調用kaio,然后進行測試以確定請求的I / O是否支持kaio。

Kaio被實現為可加載的內核模塊/ kernel / sys / kaio,並在首次調用異步I / O時加載。 您可以使用modinfo(1M)確定模塊是否已加載:

fawlty> modinfo | grep kaio 
105 608c4000   2efd 178   1  kaio (kernel Async I/O) 
fawlty> 

我得到答案:

它在文件/usr/include/sys/syscall.h中定義

#define SYS_kaio                178
        /*
         * subcodes:
         *      aioread(...)    :: kaio(AIOREAD, ...)
         *      aiowrite(...)   :: kaio(AIOWRITE, ...)
         *      aiowait(...)    :: kaio(AIOWAIT, ...)
         *      aiocancel(...)  :: kaio(AIOCANCEL, ...)
         *      aionotify()     :: kaio(AIONOTIFY)
         *      aioinit()       :: kaio(AIOINIT)
         *      aiostart()      :: kaio(AIOSTART)
         *      see 
         */

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM