Skip to content

Commit

Permalink
smp: don't use 16-bit words for atomic accesses
Browse files Browse the repository at this point in the history
Yes, it should work, but it's a bad idea.  Not only did ARM64 not have
the 16-bit access code (there's a separate patch to add it), it's just
not a good atomic type.  Some architectures fundamentally don't do
atomic accesses in them (alpha), and it's not like it saves any space
here anyway because of structure packing issues.

We normally should aim for flags to be "unsigned int" or "unsigned
long".  And if space is at a premium, use a single byte (although that
causes problems on alpha again).  There might be very special cases
where a 16-byte entity is really wanted, but this is not one of them.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Linus Torvalds committed Apr 20, 2015
1 parent 09d5160 commit f4d03bd
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion include/linux/smp.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ struct call_single_data {
struct llist_node llist;
smp_call_func_t func;
void *info;
u16 flags;
unsigned int flags;
};

/* total number of cpus in this system (may exceed NR_CPUS) */
Expand Down

0 comments on commit f4d03bd

Please sign in to comment.