Sharing some links which I feel very useful when understanding the padding in kernel's code, you usually see those padding skill in some high performance application like 3D gaming.
Eric.S.Raymond have great Article about C struct padding, how it affect the actually memory size of your structure:
And there is a article from intel performance guide about how padding fix the "false sharing" issue in a SMP programming model.
The link below is belongs to Intel Guide for Developing Multithreaded Applications which also valuable to read.
This link is from roguewave 's manual, which also have great detail about how actually memory layout by padding: link