IOMMU Archive on
 help / color / Atom feed
From: Jerry Snitselaar <>
To: Robin Murphy <>
Cc:, Will Deacon <>
Subject: Re: Unhandled context fault starting with 5.4-rc1
Date: Sun, 16 Feb 2020 15:11:10 -0700
Message-ID: <20200216221110.zie3o5opbvarir3h@cantor> (raw)
In-Reply-To: <>

On Fri Feb 14 20, Robin Murphy wrote:
>Hi Jerry,
>On 2020-02-14 8:13 pm, Jerry Snitselaar wrote:
>>Hi Will,
>>On a gigabyte system with Cavium CN8xx, when doing a fio test against
>>an nvme drive we are seeing the following:
>>[  637.161194] arm-smmu Unhandled context fault: 
>>fsr=0x80000402, iova=0x8010003f6000, fsynr=0x70091, 
>>cbfrsynra=0x9000, cb=7
>>[  637.174329] arm-smmu Unhandled context fault: 
>>fsr=0x80000402, iova=0x801000036000, fsynr=0x70091, 
>>cbfrsynra=0x9000, cb=7
>>[  637.186887] arm-smmu Unhandled context fault: 
>>fsr=0x80000402, iova=0x8010002ee000, fsynr=0x70091, 
>>cbfrsynra=0x9000, cb=7
>>[  637.199275] arm-smmu Unhandled context fault: 
>>fsr=0x80000402, iova=0x8010003c7000, fsynr=0x70091, 
>>cbfrsynra=0x9000, cb=7
>>[  637.211885] arm-smmu Unhandled context fault: 
>>fsr=0x80000402, iova=0x801000392000, fsynr=0x70091, 
>>cbfrsynra=0x9000, cb=7
>>[  637.224580] arm-smmu Unhandled context fault: 
>>fsr=0x80000402, iova=0x801000018000, fsynr=0x70091, 
>>cbfrsynra=0x9000, cb=7
>>[  637.237241] arm-smmu Unhandled context fault: 
>>fsr=0x80000402, iova=0x801000360000, fsynr=0x70091, 
>>cbfrsynra=0x9000, cb=7
>>[  637.249657] arm-smmu Unhandled context fault: 
>>fsr=0x80000402, iova=0x8010000ba000, fsynr=0x70091, 
>>cbfrsynra=0x9000, cb=7
>>[  637.262120] arm-smmu Unhandled context fault: 
>>fsr=0x80000402, iova=0x80100003e000, fsynr=0x70091, 
>>cbfrsynra=0x9000, cb=7
>>[  637.274468] arm-smmu Unhandled context fault: 
>>fsr=0x80000402, iova=0x801000304000, fsynr=0x70091, 
>>cbfrsynra=0x9000, cb=7
>Those "IOVAs" don't look much like IOVAs from the DMA allocator - if 
>they were physical addresses, would they correspond to an expected 
>region of the physical memory map?
>I would suspect that this is most likely misbehaviour in the NVMe 
>driver (issuing a write to a non-DMA-mapped address), and the SMMU is 
>just doing its job in blocking and reporting it.
>>I also reproduced with 5.5-rc7, and will check 5.6-rc1 later today. 
>>I couldn't narrow it down further into 5.4-rc1.
>>I don't know smmu or the code well, any thoughts on where to start 
>>digging into this?
>>fio test that is being run is:
>>#fio -filename=/dev/nvme0n1 -iodepth=64 -thread -rw=randwrite 
>>-ioengine=libaio -bs=4k -runtime=43200 -size=-group_reporting 
>>-name=mytest -numjobs=32
>Just to clarify, do other tests work OK on the same device?

I was able to get back on the system today. I think I know what the problem is:

[    0.036189] iommu: Gigabyte R120-T34-00 detected, force iommu passthrough mode
[    6.324282] iommu: Default domain type: Translated

So the new default domain code in 5.4 overrides the iommu quirk code setting default
passthrough. Testing a quick patch that tracks whether the default domain was set
in the quirk code, and leaves it alone if it was. So far it seems to be working.

iommu mailing list

  reply index

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-14 20:13 Jerry Snitselaar
2020-02-14 20:58 ` Robin Murphy
2020-02-16 22:11   ` Jerry Snitselaar [this message]
2020-02-17 13:08     ` Robin Murphy
2020-02-17 14:58       ` Jerry Snitselaar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200216221110.zie3o5opbvarir3h@cantor \ \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

IOMMU Archive on

Archives are clonable:
	git clone --mirror linux-iommu/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-iommu linux-iommu/ \
	public-inbox-index linux-iommu

Example config snippet for mirrors

Newsgroup available over NNTP:

AGPL code for this site: git clone