[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <747E60F0-2315-4BEC-895E-0E29C57A0AF0@gmail.com>
Date: Wed, 31 Jan 2018 12:48:14 -0800
From: Nadav Amit <nadav.amit@...il.com>
To: Andy Lutomirski <luto@...capital.net>
Cc: x86@...nel.org, Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>, linux-kernel@...r.kernel.org,
Peter Zijlstra <peterz@...radead.org>,
Andy Lutomirski <luto@...nel.org>,
Dave Hansen <dave.hansen@...ux.intel.com>
Subject: Re: [PATCH] x86: Align TLB invalidation info
Andy Lutomirski <luto@...capital.net> wrote:
>
>
>> On Jan 31, 2018, at 12:11 PM, Nadav Amit <namit@...are.com> wrote:
>>
>> The TLB invalidation info is allocated on the stack, which might cause
>> it to be unaligned. Since this information may be transferred to
>> different cores for TLB shootdown, this might result in an additional
>> cache-line bouncing between the cores.
>>
>> GCC provides a way to deal with it by using
>> __builtin_alloca_with_align(). Use it to avoid the bouncing cache lines.
>
> Eww. How about __aligned?
Err.. Stupid me. For some reason I remembered I tried it and it didn’t have
the desired effect, which caused me to assume it does not work for variables
on the stack. Anyhow, it does the work. I’ll submit v2.
Powered by blists - more mailing lists