天天看點

linux核心分析--異步io(二)

該分析sys_io_submit函數了,這個函數有點複雜,但是條理很清晰,先說一句就是送出異步io,具體怎麼送出呢?我們知道,對于異步io,一次性可以送出多個請求,那麼可以想象的就是在sys_io_submit中會把我們使用者程式的多個請求分解成一個一個的請求,依次送出,這是很合理的假設,核心實際上也是這麼做的,剛才的建立異步io的階段隻是建立了一個可以讓異步io表演的大的環境,現在的送出請求和将來的讀取資料便是大戲了,準備好了嗎?馬上開演!

long ret = 0; 

… 

break; 

if (ret) 

}

/* enforce forwards compatibility on users */ 

/* prevent overflows */ 

)) { 

goto out_put_req; 

/* drain the run list */ 

return 0; 

/* Quit retrying if the i/o has been cancelled */ 

<a>…</a>

 本文轉自 dog250 51CTO部落格,原文連結:http://blog.51cto.com/dog250/1274055

繼續閱讀