documentation: Record reason for rcu_head two-byte alignment
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 10 Aug 2016 04:15:15 +0000 (21:15 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 22 Aug 2016 16:25:33 +0000 (09:25 -0700)
commited2bec07fd1aa47f1c06be92c164c13c70fb7a45
tree42c5a07deb9a7f984b9c6631e86d60dabcdedb68
parente1ef69217f68b8407245e9e353cf88cc2f9ebc18
documentation: Record reason for rcu_head two-byte alignment

There is an assertion in __call_rcu() that checks only the bottom
bit of the rcu_head pointer, rather than the bottom two (as might be
expected for 32-bit systems) or the bottom three (as might be expected
for 64-bit systems).  This choice might be a bit surprising in these days
of ubiquitous 32-bit and 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.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Documentation/RCU/Design/Requirements/Requirements.html