Re: [問題] 請教有關block IO讀寫的問題??
※ 引述《albertliao (~咖啡癮君子~)》之銘言:
: ※ 引述《albertliao (~咖啡癮君子~)》之銘言:
: : 大家好:
: : 小弟現在遇到的狀況是 , 當我在讀寫sd card的時候sc card拔出的時候
: : AP會被設為uninterrupt並且在vfs_write(file->f_op->write..)無法返回
: : 而且AP也不會到mmc_request至mmc/sd driver這一段 , 資料的傳輸是由一個
: : mmc_queue_thread做掉 , 所以不知道AP到底是被甚麼原因給block住 , 不曉得是否有
: : 大大了解vfs_write到mmc_request這一段AP到底去了哪裡 , 或是能給我一點意見
: : 感激不盡
: : PS:當我拔除sd card有出現end_request:I/O error
: : 但照理說應該會返回錯誤而且也不應該連ctrl+C也殺不掉
: 大家好,task被卡住的地方找到了, 是在page cache機制裡頭的__grab_cache_page中
: 的find_lock_page的__lock_page , task被卡在這且被設為uninterrupt , 請教有沒有
: 沒曉得mmc 的架構中哪幾個部分會涉及到sync_page的地方因為似乎是要有人去呼叫
: 這個函式才會被釋放出來(understanding the linux kernel P.639)
: 感謝
不好意思這樣寫或許太過攏統 , 在__lock_page之後會卡在io_schedule , 同時
mmc_queue_thread也會在__mmc_claim_host呼叫schedule被block住 , 看樣子是應該要
找到mmc core或是driver中呼叫wake up的地方 , 但並沒有看到,不知道大家是否有甚
麼建議給我 , driver是透過怎樣的方式輾轉呼叫到wake up???
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 115.82.245.8
推
08/09 22:23, , 1F
08/09 22:23, 1F
→
08/09 22:23, , 2F
08/09 22:23, 2F
推
08/27 17:42, , 3F
08/27 17:42, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):