[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <519EB798.2080904@hp.com>
Date: Fri, 24 May 2013 08:43:04 +0800
From: ZhenHua <zhen-hual@...com>
To: Joe Perches <joe@...ches.com>
CC: David Woodhouse <dwmw2@...radead.org>,
iommu@...ts.linux-foundation.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/1] x86/iommu: use bit structures for context_entry
Use lo and hi for clear, may run faster than memset.
But it is not a big problem. Never mind.
Thanks
ZhenHua
On 05/24/2013 08:36 AM, Joe Perches wrote:
> On Fri, 2013-05-24 at 08:22 +0800, Li, Zhen-Hua wrote:
>> There is a structure named context_entry used by intel iommu, and there
>> are some bit operations on it. Use bit structure may make these operations
>> easy.
> []
>> diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
> []
>> @@ -221,55 +221,28 @@ get_context_addr_from_root(struct root_entry *root)
>> * 8-23: domain id
>> */
>> struct context_entry {
>> - u64 lo;
>> - u64 hi;
>> + union {
>> + struct {
>> + u64 present:1,
> why use struct and union at all?
>
> Why not just:
>
> struct context_entry {
> u64 present:1,
> fpd:1,
> translation_type:2,
> reserved_l:8,
> asr:52;
> u64 aw:3,
> avail:4,
> reserved_h1:1,
> did:16,
> reserved_h2:40;
> };
>
>> @@ -743,7 +716,8 @@ static void clear_context_table(struct intel_iommu *iommu, u8 bus, u8 devfn)
> []
>> if (context) {
>> - context_clear_entry(&context[devfn]);
>> + context[devfn].lo = 0;
>> + context[devfn].hi = 0;
> memset(&context[devfn], 0, sizeof(...))
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists