Re: [PATCH v6 01/20] x86/common: Align cpu_caps_cleared and cpu_caps_set to unsigned long

From: Fenghua Yu
Date: Thu Apr 04 2019 - 12:02:06 EST


On Thu, Apr 04, 2019 at 04:39:43PM +0200, Borislav Petkov wrote:
> On Wed, Apr 03, 2019 at 02:21:47PM -0700, Fenghua Yu wrote:
> > cpu_caps_cleared and cpu_caps_set may not be aligned to unsigned long.
> > Atomic operations (i.e. set_bit and clear_bit) on the bitmaps may access
>
> Please end function names with parentheses.

Sure.

>
> > two cache lines (a.k.a. split lock) and lock the bus to block all memory
>
> not "lock the bus" but "cause the CPU to do a bus lock... "

Sure.

>
> > accesses from other processors to ensure atomicity.
> >
> > To avoid the overall performance degradation from the bus locking, align
> > the two variables to unsigned long.
> >
> > Defining the variables as unsigned long may also fix the issue because
> > they are naturally aligned to unsigned long. But that needs additional
> > code changes. Adding __aligned(unsigned long) is a simpler fix.
> >
> > Signed-off-by: Fenghua Yu <fenghua.yu@xxxxxxxxx>
> > ---
> > arch/x86/kernel/cpu/common.c | 5 +++--
> > 1 file changed, 3 insertions(+), 2 deletions(-)
>
> With the above nitpicks addressed:
>
> Reviewed-by: Borislav Petkov <bp@xxxxxxx>

Thank you for your review!

-Fenghua