Question about: AMD-Vi: Event logged [IO_PAGE_FAULT ...

From: Raimonds Cicans
Date: Mon Jan 05 2015 - 10:41:05 EST


Hello.

After kernel upgrade (3.13 => 3.17) I started to receive following string in my logs:
AMD-Vi: Event logged [IO_PAGE_FAULT device=08:00.0 domain=0x001c address=0x0000000001355000 flags=0x0000]

I would like to deeper understand this problem, so it
would be nice if some body can fix my assumptions and
answer my questions.


Assumptions:

1) This message is generated by AMD IOMMU subsystem
because PCIe device 08:00.0 tried to access memory
region which was not mapped to any real memory
(lspci show that this device is DVB-S2 receiver card
TBS 6981)

2) Because flags are 0 and because in general receivers
write to memory not read from memory it is memory
write operation

3) Possible causes:
a) memory region was never mapped
b) device accessed memory region before it was mapped
c) device accessed memory region after it was unmapped

3) Suspects:
a) kernel's DMA subsystem: very unlikely
b) kernel's IOMMU subsystem: very unlikely
c) AMD IOMMU driver: unlikely? - i had problems with AMD IOMMU
itself in kernels 3.14 - 3.17 (AMD-Vi: Completion-Wait loop timed out)
So maybe this problem not fully fixed?
d) Receiver's driver: likely


Questions:
1) What 'domain=0x001c' mean?
2) Where I can find definition of possible flags?
3) What kind of address is written in message?
- physical?
- virtual?
- address from devices point of view?


Thank you.


Raimonds Cicans
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/