我目前正在研究一些 PCI-e 设备的工作,这需要我获取特定(例如 GPU 或 NIC )PCI 卡上 DMA 事务的跟踪。经过一些研究后,我发现了一个有用的邮政由 xealits 提供,但似乎没有告诉在某个 DMA 事务中读取/写入了多少字节。然后我发现一个名为的内核模块dma_debug
可能完全满足我的期望
我尝试使用配置选项重新编译内核 v6.7:
CONFIG_DMA_API_DEBUG=y
CONFIG_DEBUG_FS=y
CONFIG_DMA_API_DEBUG_SG=y
CONFIG_DMA_API_DEBUG_FENCE=y
CONFIG_DMA_API_DEBUG_EVENTS=y
并添加dma_debug.debug_dma=1
到grub
默认启动变量。但不幸的是,
dmesg
看起来与启动旧内核时完全相同。也dma_debug
没有出现在/sys/kernel/debug
。
我错过了什么吗?我怎样才能让它dma_debug
工作?如果这个模块被弃用,有没有替代方法?