小编use*_*878的帖子

在SATA AHCI中禁用命令完成合并(CCC)

我正在研究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 storage interrupt linux-kernel

5
推荐指数
1
解决办法
1315
查看次数

如何将多个struct BIO组合成一个struct请求?

我正在研究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_nextNULL.

有没有办法在将几个struct bios struct request发送到较低层进行维护之前将它们链接成一个?

linux storage linux-device-driver linux-kernel block-device

5
推荐指数
1
解决办法
840
查看次数