ANDROID: fixup ABI break in io_uring_types.h
Move new field "retry_llist" by using the padding.
Before adding the field "retry_llist":
/* --- cacheline 7 boundary (448 bytes) --- */
struct {
struct llist_head work_llist; /* 0 8 */
unsigned long check_cq; /* 8 8 */
atomic_t cq_wait_nr; /* 16 4 */
atomic_t cq_timeouts; /* 20 4 */
struct wait_queue_head cq_wait; /* 24 24 */
} __attribute__((__aligned__(64))) __attribute__((__aligned__(64))); /* 448 64 */
/* XXX last struct has 16 bytes of padding */
struct {
struct llist_head work_llist; /* 0 8 */
unsigned long check_cq; /* 8 8 */
atomic_t cq_wait_nr; /* 16 4 */
atomic_t cq_timeouts; /* 20 4 */
struct wait_queue_head cq_wait; /* 24 24 */
/* size: 64, cachelines: 1, members: 5 */
/* padding: 16 */
} __attribute__((__aligned__(64)));
/* size: 1536, cachelines: 24, members: 49 */
/* sum members: 1493, holes: 6, sum holes: 27 */
/* padding: 16 */
/* paddings: 7, sum paddings: 100 */
/* forced alignments: 6, forced holes: 1, sum forced holes: 7 */
After adding the field "retry_llist":
/* --- cacheline 7 boundary (448 bytes) --- */
struct {
struct llist_head work_llist; /* 0 8 */
unsigned long check_cq; /* 8 8 */
atomic_t cq_wait_nr; /* 16 4 */
atomic_t cq_timeouts; /* 20 4 */
struct wait_queue_head cq_wait; /* 24 24 */
struct llist_head retry_llist; /* 48 8 */
} __attribute__((__aligned__(64))) __attribute__((__aligned__(64))); /* 448 64 */
/* XXX last struct has 8 bytes of padding */
struct {
struct llist_head work_llist; /* 0 8 */
unsigned long check_cq; /* 8 8 */
atomic_t cq_wait_nr; /* 16 4 */
atomic_t cq_timeouts; /* 20 4 */
struct wait_queue_head cq_wait; /* 24 24 */
struct llist_head retry_llist; /* 48 8 */
/* size: 64, cachelines: 1, members: 6 */
/* padding: 8 */
} __attribute__((__aligned__(64)));
/* size: 1536, cachelines: 24, members: 49 */
/* sum members: 1493, holes: 6, sum holes: 27 */
/* padding: 16 */
/* paddings: 7, sum paddings: 92 */
/* forced alignments: 6, forced holes: 1, sum forced holes: 7 */
Bug: 297114355
Change-Id: Ic1a8b71fcd41d4caf516e94463d77b5acaf50899
Signed-off-by:
Akilesh Kailash <akailash@google.com>
Loading
Please sign in to comment