該分析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