All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lu Baolu <baolu.lu@linux.intel.com>
To: "Tian, Kevin" <kevin.tian@intel.com>,
	"Longpeng (Mike,
	Cloud Infrastructure Service Product Dept.)" 
	<longpeng2@huawei.com>, Nadav Amit <nadav.amit@gmail.com>
Cc: baolu.lu@linux.intel.com, chenjiashang <chenjiashang@huawei.com>,
	"will@kernel.org" <will@kernel.org>,
	"iommu@lists.linux-foundation.org"
	<iommu@lists.linux-foundation.org>,
	LKML <linux-kernel@vger.kernel.org>,
	"alex.williamson@redhat.com" <alex.williamson@redhat.com>,
	"Gonglei (Arei)" <arei.gonglei@huawei.com>,
	David Woodhouse <dwmw2@infradead.org>
Subject: Re: A problem of Intel IOMMU hardware ?
Date: Fri, 19 Mar 2021 08:15:33 +0800	[thread overview]
Message-ID: <aa8b989d-458b-92a3-627b-0a88e430934d@linux.intel.com> (raw)
In-Reply-To: <MWHPR11MB18861A144C085677931922018C699@MWHPR11MB1886.namprd11.prod.outlook.com>

On 3/18/21 4:56 PM, Tian, Kevin wrote:
>> From: Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
>> <longpeng2@huawei.com>
>>
>>> -----Original Message-----
>>> From: Tian, Kevin [mailto:kevin.tian@intel.com]
>>> Sent: Thursday, March 18, 2021 4:27 PM
>>> To: Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
>>> <longpeng2@huawei.com>; Nadav Amit <nadav.amit@gmail.com>
>>> Cc: chenjiashang <chenjiashang@huawei.com>; David Woodhouse
>>> <dwmw2@infradead.org>; iommu@lists.linux-foundation.org; LKML
>>> <linux-kernel@vger.kernel.org>; alex.williamson@redhat.com; Gonglei
>> (Arei)
>>> <arei.gonglei@huawei.com>; will@kernel.org
>>> Subject: RE: A problem of Intel IOMMU hardware ?
>>>
>>>> From: iommu <iommu-bounces@lists.linux-foundation.org> On Behalf Of
>>>> Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
>>>>
>>>>> 2. Consider ensuring that the problem is not somehow related to
>>>>> queued invalidations. Try to use __iommu_flush_iotlb() instead of
>>> qi_flush_iotlb().
>>>>>
>>>>
>>>> I tried to force to use __iommu_flush_iotlb(), but maybe something
>>>> wrong, the system crashed, so I prefer to lower the priority of this
>> operation.
>>>>
>>>
>>> The VT-d spec clearly says that register-based invalidation can be used only
>> when
>>> queued-invalidations are not enabled. Intel-IOMMU driver doesn't provide
>> an
>>> option to disable queued-invalidation though, when the hardware is
>> capable. If you
>>> really want to try, tweak the code in intel_iommu_init_qi.
>>>
>>
>> Hi Kevin,
>>
>> Thanks to point out this. Do you have any ideas about this problem ? I tried
>> to descript the problem much clear in my reply to Alex, hope you could have
>> a look if you're interested.
>>
> 
> btw I saw you used 4.18 kernel in this test. What about latest kernel?
> 
> Also one way to separate sw/hw bug is to trace the low level interface (e.g.,
> qi_flush_iotlb) which actually sends invalidation descriptors to the IOMMU
> hardware. Check the window between b) and c) and see whether the
> software does the right thing as expected there.

Yes. It's better if we can reproduce this with the latest kernel which
has debugfs files to expose page tables and the invalidation queues etc.

Best regards,
baolu

WARNING: multiple messages have this Message-ID (diff)
From: Lu Baolu <baolu.lu@linux.intel.com>
To: "Tian, Kevin" <kevin.tian@intel.com>,
	"Longpeng (Mike,
	Cloud Infrastructure Service Product Dept.)"
	<longpeng2@huawei.com>, Nadav Amit <nadav.amit@gmail.com>
Cc: chenjiashang <chenjiashang@huawei.com>,
	David Woodhouse <dwmw2@infradead.org>,
	"iommu@lists.linux-foundation.org"
	<iommu@lists.linux-foundation.org>,
	LKML <linux-kernel@vger.kernel.org>,
	"alex.williamson@redhat.com" <alex.williamson@redhat.com>,
	"Gonglei \(Arei\)" <arei.gonglei@huawei.com>,
	"will@kernel.org" <will@kernel.org>
Subject: Re: A problem of Intel IOMMU hardware ?
Date: Fri, 19 Mar 2021 08:15:33 +0800	[thread overview]
Message-ID: <aa8b989d-458b-92a3-627b-0a88e430934d@linux.intel.com> (raw)
In-Reply-To: <MWHPR11MB18861A144C085677931922018C699@MWHPR11MB1886.namprd11.prod.outlook.com>

On 3/18/21 4:56 PM, Tian, Kevin wrote:
>> From: Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
>> <longpeng2@huawei.com>
>>
>>> -----Original Message-----
>>> From: Tian, Kevin [mailto:kevin.tian@intel.com]
>>> Sent: Thursday, March 18, 2021 4:27 PM
>>> To: Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
>>> <longpeng2@huawei.com>; Nadav Amit <nadav.amit@gmail.com>
>>> Cc: chenjiashang <chenjiashang@huawei.com>; David Woodhouse
>>> <dwmw2@infradead.org>; iommu@lists.linux-foundation.org; LKML
>>> <linux-kernel@vger.kernel.org>; alex.williamson@redhat.com; Gonglei
>> (Arei)
>>> <arei.gonglei@huawei.com>; will@kernel.org
>>> Subject: RE: A problem of Intel IOMMU hardware ?
>>>
>>>> From: iommu <iommu-bounces@lists.linux-foundation.org> On Behalf Of
>>>> Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
>>>>
>>>>> 2. Consider ensuring that the problem is not somehow related to
>>>>> queued invalidations. Try to use __iommu_flush_iotlb() instead of
>>> qi_flush_iotlb().
>>>>>
>>>>
>>>> I tried to force to use __iommu_flush_iotlb(), but maybe something
>>>> wrong, the system crashed, so I prefer to lower the priority of this
>> operation.
>>>>
>>>
>>> The VT-d spec clearly says that register-based invalidation can be used only
>> when
>>> queued-invalidations are not enabled. Intel-IOMMU driver doesn't provide
>> an
>>> option to disable queued-invalidation though, when the hardware is
>> capable. If you
>>> really want to try, tweak the code in intel_iommu_init_qi.
>>>
>>
>> Hi Kevin,
>>
>> Thanks to point out this. Do you have any ideas about this problem ? I tried
>> to descript the problem much clear in my reply to Alex, hope you could have
>> a look if you're interested.
>>
> 
> btw I saw you used 4.18 kernel in this test. What about latest kernel?
> 
> Also one way to separate sw/hw bug is to trace the low level interface (e.g.,
> qi_flush_iotlb) which actually sends invalidation descriptors to the IOMMU
> hardware. Check the window between b) and c) and see whether the
> software does the right thing as expected there.

Yes. It's better if we can reproduce this with the latest kernel which
has debugfs files to expose page tables and the invalidation queues etc.

Best regards,
baolu
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

  parent reply	other threads:[~2021-03-19  0:25 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-17  3:16 A problem of Intel IOMMU hardware ? Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
2021-03-17  3:16 ` Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
2021-03-17  5:16 ` Lu Baolu
2021-03-17  5:16   ` Lu Baolu
2021-03-17  9:40   ` Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
2021-03-17  9:40     ` Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
2021-03-17 15:18   ` Alex Williamson
2021-03-17 15:18     ` Alex Williamson
2021-03-18  2:58     ` Lu Baolu
2021-03-18  2:58       ` Lu Baolu
2021-03-18  4:46       ` Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
2021-03-18  4:46         ` Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
2021-03-18  7:48         ` Nadav Amit
2021-03-18  7:48           ` Nadav Amit
2021-03-17  5:46 ` Nadav Amit
2021-03-17  5:46   ` Nadav Amit
2021-03-17  9:35   ` Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
2021-03-17  9:35     ` Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
2021-03-17 18:12     ` Nadav Amit
2021-03-17 18:12       ` Nadav Amit
2021-03-18  3:03       ` Lu Baolu
2021-03-18  3:03         ` Lu Baolu
2021-03-18  8:20       ` Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
2021-03-18  8:20         ` Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
2021-03-18  8:27         ` Tian, Kevin
2021-03-18  8:27           ` Tian, Kevin
2021-03-18  8:38           ` Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
2021-03-18  8:38             ` Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
2021-03-18  8:43             ` Tian, Kevin
2021-03-18  8:43               ` Tian, Kevin
2021-03-18  8:54               ` Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
2021-03-18  8:54                 ` Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
2021-03-18  8:56             ` Tian, Kevin
2021-03-18  8:56               ` Tian, Kevin
2021-03-18  9:25               ` Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
2021-03-18  9:25                 ` Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
2021-03-18 16:46                 ` Nadav Amit
2021-03-18 16:46                   ` Nadav Amit
2021-03-21 23:51                   ` Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
2021-03-21 23:51                     ` Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
2021-03-22  0:27                   ` Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
2021-03-22  0:27                     ` Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
2021-03-27  2:31                   ` Lu Baolu
2021-03-27  2:31                     ` Lu Baolu
2021-03-27  4:36                     ` Nadav Amit
2021-03-27  4:36                       ` Nadav Amit
2021-03-27  5:27                       ` Lu Baolu
2021-03-27  5:27                         ` Lu Baolu
2021-03-19  0:15               ` Lu Baolu [this message]
2021-03-19  0:15                 ` Lu Baolu

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:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

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

  git send-email \
    --in-reply-to=aa8b989d-458b-92a3-627b-0a88e430934d@linux.intel.com \
    --to=baolu.lu@linux.intel.com \
    --cc=alex.williamson@redhat.com \
    --cc=arei.gonglei@huawei.com \
    --cc=chenjiashang@huawei.com \
    --cc=dwmw2@infradead.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=kevin.tian@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=longpeng2@huawei.com \
    --cc=nadav.amit@gmail.com \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.