Hi greg, I take a snapshot of the fields here. >> /* Basic Accounting Fields start */ >> char ac_comm[TS_COMM_LEN]; /* Command name */ >> __u8 ac_sched __attribute__((aligned(8))); >> /* Scheduling discipline */ >> __u8 ac_pad[3]; After ac_sched is ac_pad, which is just padding. I still can't understand the meaning of impose an alignment of 8 on ac_sched. >> __u32 ac_uid __attribute__((aligned(8))); >> /* User ID */ >> __u32 ac_gid; /* Group ID */ >> __u32 ac_pid; /* Process ID */ Because we have a =aligned(8)= on ac_uid, so the alignment in =ac_sched= does not affect variables here and after. by default _u32 has alignment has 4, why enforce 8 here? Is it because we need a mov64-like instruction that takes ac_uid and ac_gid together? still a weird reason though. -- Best, Shiyao _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies