For some reason, commit 966a967116e6 was added to the tree without CC'ing relevant maintainers, even though it's touching random subsystems. One example is struct request, a core structure in the block layer. After this change, struct request grows from 296 to 320 bytes on my setup. Why are we blindly aligning to 32 bytes? The comment says to avoid it spanning two cache lines - but if that's the case, look at the actual use case and see if that's actually a problem. For struct request, it is not. Seems to me, this should have been applied in the specific area where it was needed. Keep struct call_single_data (instead of some __ version), and just manually align it where it matters. -- Jens Axboe