Re: why this field is taskstats. ac_sched is specifically aligned as 8?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux