Messages in this thread | | | Date | Mon, 22 Aug 2016 18:25:53 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH tip/core/rcu 2/2] documentation: Record reason for rcu_head two-byte alignment |
| |
On Mon, Aug 22, 2016 at 08:14:43AM -0700, Paul E. McKenney wrote: > The __call_rcu() assertion that checks only the bottom bit of the > rcu_head pointer is a bit counter-intuitive in these days of ubiquitous > 64-bit systems. This commit therefore records the reason for this > odd alignment check, namely that m68k guarantees only two-byte alignment > despite being a 32-bit architectures.
Would not something like:
#ifdef CONFIG_M68K /* * m68k is weird and doesn't have naturally aligned types. */ WARN_ON_ONCE((unsigned long)head & 1); #else WARN_ON_ONCE((unsigned long)head & (sizeof(unsigned long) - 1)); #endif
Be better?
| |