我正在研究Linux内核的2.6.35.9版本,我正在尝试禁用Command Completion Coalescing.
输出lspci如下所示:
00:00.0 Host bridge: Intel Corporation 82P965/G965 Memory Controller Hub (rev 02)
00:01.0 PCI bridge: Intel Corporation 82P965/G965 PCI Express Root Port (rev 02)
00:19.0 Ethernet controller: Intel Corporation 82566DC Gigabit Network Connection (rev 02)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 02)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 02)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 …Run Code Online (Sandbox Code Playgroud) 我正在研究Linux内核版本2.6.39.1,并正在开发一个块设备驱动程序.在这方面,我想将多个struct bios合并为一个struct request,然后将其添加到request_queue设备驱动程序进行处理,即 - scsi_request_fn().
我尝试使用->bi_next字段struct bio来链接struct bio我编写的多个s,从而创建一个struct bios 的链接列表.当我打电话submit_bio()提交生物块设备层的I/O,这 BUG_ON()是触发,因为代码预计bio->bi_next要NULL.
有没有办法在将几个struct bios struct request发送到较低层进行维护之前将它们链接成一个?