如何使用 dma_debug 跟踪 DMA 事务?

如何使用 dma_debug 跟踪 DMA 事务?

我目前正在研究一些 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=1grub默认启动变量。但不幸的是, dmesg看起来与启动旧内核时完全相同。也dma_debug没有出现在/sys/kernel/debug

我错过了什么吗?我怎样才能让它dma_debug工作?如果这个模块被弃用,有没有替代方法?

相关内容