lkml.org 
[lkml]   [2019]   [Mar]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v4 01/17] x86/common: Align cpu_caps_cleared and cpu_caps_set to unsigned long
From
Date
On 04/03/19 11:17, Peter Zijlstra wrote:
> On Mon, Mar 04, 2019 at 09:33:16AM +0100, Paolo Bonzini wrote:
>> Why not instead change set_bit/clear_bit to use btsl/btrl instead of
>> btsq/btrq?
>
> At least one of the faulty users (wireless) is in generic code and needs
> fixing regardless.
>
> For better or worse; the bitmap stuff is defined to work on unsigned
> long. Using it on smaller types already relies on small endian; but
> further enabling just makes it worse I feel. Better have the rules be
> uniform.

True that. On the other hand btsl/btrl is also one byte smaller if no
operand is %r8-%r15.

In any case, /me wonders if we should have a macro like

#define DECLARE_LE_BITMAP(name,bits) \
u32 name[DIV_ROUND_UP(bits, 32)] __aligned(sizeof(unsigned long))

Paolo

\
 
 \ /
  Last update: 2019-03-04 11:49    [W:0.110 / U:0.124 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site