Messages in this thread | | | Date | Mon, 29 Aug 2022 13:09:36 -0700 | Subject | Re: [PATCH v11 1/3] x86/tdx: Add TDX Guest attestation interface driver | From | Sathyanarayanan Kuppuswamy <> |
| |
Hi,
On 8/28/22 10:30 PM, Greg Kroah-Hartman wrote: >> struct tdx_report_req { >> __u64 reportdata;; >> __u64 tdreport; >> __u32 rpd_len >> __u32 tdr_len; >> __u8 subtype; >> }; > That's better, but again, please use pahole.
Following are the pahole dump of both formats.
With previous format, compiler adds 11 bytes in holes and 4 bytes of padding.
Total size of struct is 40 bytes.
struct tdx_report_req { __u8 subtype; /* 0 1 */
/* XXX 7 bytes hole, try to pack */
__u64 reportdata; /* 8 8 */ __u32 rpd_len; /* 16 4 */
/* XXX 4 bytes hole, try to pack */
__u64 tdreport; /* 24 8 */ __u32 tdr_len; /* 32 4 */
/* size: 40, cachelines: 1, members: 5 */ /* sum members: 25, holes: 2, sum holes: 11 */ /* padding: 4 */ /* last cacheline: 40 bytes */ };
With the changed format, we avoided the holes, but it still adds 7 bytes of padding.
Total size of struct is 32 bytes.
struct tdx_report_req { __u64 reportdata; /* 0 8 */ __u64 tdreport; /* 8 8 */ __u32 rpd_len; /* 16 4 */ __u32 tdr_len; /* 20 4 */ __u8 subtype; /* 24 1 */
/* size: 32, cachelines: 1, members: 5 */ /* padding: 7 */ /* last cacheline: 32 bytes */ };
-- Sathyanarayanan Kuppuswamy Linux Kernel Developer
| |