From: Linus Torvalds Date: Mon, 20 Apr 2015 16:08:49 +0000 (-0700) Subject: smp: don't use 16-bit words for atomic accesses X-Git-Tag: v5.15~15924 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f4d03bd143c628b00f66cc2ec2c013767bdd1518;p=platform%2Fkernel%2Flinux-starfive.git smp: don't use 16-bit words for atomic accesses 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 --- diff --git a/include/linux/smp.h b/include/linux/smp.h index be91db2..c441407 100644 --- a/include/linux/smp.h +++ b/include/linux/smp.h @@ -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) */