标签: linux linux-kernel block linux-device-driver interrupt
我正在使用2.6.39.1版本的Linux内核。在我的块设备驱动程序中,我从中断处理程序的下半部分,即在先前提交的BIO的struct work_struct函数中排队->bi_end_io。然后,工作队列处理函数提交下一个要处理的BIO。当我们这样做时,系统变得没有响应。我们认为在此设置中从我们的工作队列处理函数调用submit_bio()导致了问题。有人可以解释这种情况下的问题吗?
struct work_struct
->bi_end_io
submit_bio()