[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC v6 12/13] intel_iommu: Do not notify regular iotlb to device-io
From: |
Eugenio Perez Martin |
Subject: |
Re: [RFC v6 12/13] intel_iommu: Do not notify regular iotlb to device-iotlb notifiers |
Date: |
Thu, 27 Aug 2020 08:56:14 +0200 |
On Wed, Aug 26, 2020 at 6:52 PM 罗勇刚(Yonggang Luo) <luoyonggang@gmail.com> wrote:
>
>
>
> On Wed, Aug 26, 2020 at 10:42 PM Eugenio Pérez <eperezma@redhat.com> wrote:
>>
>> This improves performance in case of netperf with vhost-net:
>> * TCP_STREAM: From 9049.59Mbit/s to 9049.59Mbit/s (13%)
>
> What's improvement ? they are the same
>
Ouch, it was from 1923.6 Mbit/s to 2175.13 Mbit/s. Thanks for notify
it, will fix in next revision!
>>
>> * TCP_RR: From 8464.73 trans/s to 8932.703333 trans/s (5.5%)
>> * UDP_RR: From 8562.08 trans/s to 9005.62/s (5.1%)
>> * UDP_STREAM: No change observed (insignificant 0.1% improvement)
>>
>> Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
>> ---
>> hw/i386/intel_iommu.c | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
>> index ddb828da1f..7620a1abbf 100644
>> --- a/hw/i386/intel_iommu.c
>> +++ b/hw/i386/intel_iommu.c
>> @@ -1960,6 +1960,12 @@ static void
>> vtd_iotlb_domain_invalidate(IntelIOMMUState *s, uint16_t domain_id)
>> vtd_iommu_unlock(s);
>>
>> QLIST_FOREACH(vtd_as, &s->vtd_as_with_notifiers, next) {
>> + if (vtd_as->iommu.iommu_notify_flags & IOMMU_NOTIFIER_DEVIOTLB) {
>> + /* If IOMMU memory region is DEVICE IOTLB type, it does not make
>> + * sense to send regular IOMMU notifications. */
>> + continue;
>> + }
>> +
>> if (!vtd_dev_to_context_entry(s, pci_bus_num(vtd_as->bus),
>> vtd_as->devfn, &ce) &&
>> domain_id == vtd_get_domain_id(s, &ce)) {
>> --
>> 2.18.1
>>
>>
>
>
> --
> 此致
> 礼
> 罗勇刚
> Yours
> sincerely,
> Yonggang Luo
- [RFC v6 04/13] amd_iommu: Mark all IOMMUTLBEntry as IOMMU_IOTLB_NONE type, (continued)
- [RFC v6 04/13] amd_iommu: Mark all IOMMUTLBEntry as IOMMU_IOTLB_NONE type, Eugenio Pérez, 2020/08/26
- [RFC v6 05/13] hw/arm/smmu: Fill IOMMUTLBEntry notifier type, Eugenio Pérez, 2020/08/26
- [RFC v6 06/13] dma/rc4030: Mark all IOMMUTLBEntry as IOMMU_IOTLB_NONE type, Eugenio Pérez, 2020/08/26
- [RFC v6 07/13] intel_iommu: Mark IOMMUTLBEntry of page notification as IOMMU_IOTLB_UNMAP type, Eugenio Pérez, 2020/08/26
- [RFC v6 08/13] virtio-iommu: Mark virtio_iommu_translate IOTLB as IOMMU_IOTLB_NONE type, Eugenio Pérez, 2020/08/26
- [RFC v6 09/13] intel_iommu: Set IOMMUTLBEntry type in vtd_page_walk_level, Eugenio Pérez, 2020/08/26
- [RFC v6 10/13] memory: Notify IOMMU IOTLB based on entry type, not permissions, Eugenio Pérez, 2020/08/26
- [RFC v6 11/13] memory: Add IOMMU_DEVIOTLB_UNMAP IOMMUTLBNotificationType, Eugenio Pérez, 2020/08/26
- [RFC v6 12/13] intel_iommu: Do not notify regular iotlb to device-iotlb notifiers, Eugenio Pérez, 2020/08/26
- [RFC v6 13/13] memory: Skip bad range assertion if notifier is DEVIOTLB type, Eugenio Pérez, 2020/08/26
- Re: [RFC v6 00/13] memory: Delete assertion in memory_region_unregister_iommu_notifier, Eugenio Perez Martin, 2020/08/26