On 10/14/24 03:27, Ming Lei wrote:
Hello Guys,
I got more and more reports on DMA debug warning "cacheline tracking EEXIST,
overlapping mappings aren't supported" in storage related tests:
1) liburing
- test/iopoll-overflow.t
- test/sq-poll-dup.t
Same buffer is used in more than 1 IO.
2) raid1 driver
- same buffer is used in more than 1 bio
3) some storage utilities
- dm thin provisioning utility of thin_check
- `dt`(https://github.com/RobinTMiller/dt)
I looks like same user buffer is used in more than 1 dio.
4) some self cooked test code which does same thing with 1)
In storage stack, the buffer provider is far away from the actual DMA
controller operating code, which doesn't have the knowledge if
DMA_ATTR_SKIP_CPU_SYNC should be set.
And suggestions for avoiding this noise?
Can you check if this is the NULL page? Operations like 'discard' will
create bios with several bvecs all pointing to the same NULL page.
That would be the most obvious culprit.
Cheers,
Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare@xxxxxxx +49 911 74053 688
SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg
HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich