[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8B5D8830-9DB1-40D9-BB98-C6F277E64F21@amazon.de>
Date: Thu, 31 Aug 2017 08:41:25 +0000
From: "Sironi, Filippo" <sironi@...zon.de>
To: Joerg Roedel <joro@...tes.org>
CC: "iommu@...ts.linux-foundation.org" <iommu@...ts.linux-foundation.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Woodhouse, David" <dwmw@...zon.co.uk>,
David Woodhouse <dwmw2@...radead.org>
Subject: Re: [PATCH] intel-iommu: Don't be too aggressive when clearing one
context entry
Hi Joerg,
> On 30. Aug 2017, at 15:31, Joerg Roedel <joro@...tes.org> wrote:
>
> Hi Filippo,
>
> please change the subject to:
>
> iommu/vt-d: Don't be too aggressive when clearing one context entry
>
> to follow the convention used in the iommu-tree. Another comment below.
Will do.
> On Mon, Aug 28, 2017 at 04:16:29PM +0200, Filippo Sironi wrote:
>> static void domain_context_clear_one(struct intel_iommu *iommu, u8 bus, u8 devfn)
>> {
>> + unsigned long flags;
>> + struct context_entry *context;
>> + u16 did_old;
>> +
>> if (!iommu)
>> return;
>>
>> + spin_lock_irqsave(&iommu->lock, flags);
>> + context = iommu_context_addr(iommu, bus, devfn, 0);
>> + if (!context) {
>> + spin_unlock_irqrestore(&iommu->lock, flags);
>> + return;
>> + }
>> + did_old = context_domain_id(context);
>> + spin_unlock_irqrestore(&iommu->lock, flags);
>> clear_context_table(iommu, bus, devfn);
>
> This function is the only caller of clear_context_table(), which does
> similar things (like fetching the context-entry) as you are adding
> above.
>
> So you can either make clear_context_table() return the old domain-id
> so that you don't need to do it here, or you get rid of the function
> entirely and add the context_clear_entry() and __iommu_flush_cache()
> calls into this code-path.
>
> Regards,
>
> Joerg
I went for merging domain_context_clear_one() with context_clear_one().
Regards,
Filippo
Amazon Development Center Germany GmbH
Berlin - Dresden - Aachen
main office: Krausenstr. 38, 10117 Berlin
Geschaeftsfuehrer: Dr. Ralf Herbrich, Christian Schlaeger
Ust-ID: DE289237879
Eingetragen am Amtsgericht Charlottenburg HRB 149173 B
Powered by blists - more mailing lists