Chia-Yu Chang
c3426ba2ed
tcp: reorganize tcp_sock_write_txrx group for variables later
Use the first 3-byte hole at the beginning of the tcp_sock_write_txrx
group for 'noneagle'/'rate_app_limited' to fill in the existing hole
in later patches. Therefore, the group size of tcp_sock_write_txrx is
reduced from 92 + 4 to 91 + 4. In addition, the group size of
tcp_sock_write_rx is changed to 96 to fit in the pahole outcome.
Below are the trimmed pahole outcomes before and after this patch:
[BEFORE THIS PATCH]
struct tcp_sock {
[...]
__cacheline_group_begin__tcp_sock_write_txrx[0]; /* 2521 0 */
/* XXX 3 bytes hole, try to pack */
[...]
struct tcp_options_received rx_opt; /* 2588 24 */
u8 nonagle:4; /* 2612: 0 1 */
u8 rate_app_limited:1; /* 2612: 4 1 */
/* XXX 3 bits hole, try to pack */
__cacheline_group_end__tcp_sock_write_txrx[0]; /* 2613 0 */
/* XXX 3 bytes hole, try to pack */
__cacheline_group_begin__tcp_sock_write_rx[0] __attribute__((__aligned__(8))); /* 2616 0 */
[...]
__cacheline_group_end__tcp_sock_write_rx[0]; /* 2712 0 */
[...]
/* size: 3200, cachelines: 50, members: 161 */
}
[AFTER THIS PATCH]
struct tcp_sock {
[...]
__cacheline_group_begin__tcp_sock_write_txrx[0]; /* 2521 0 */
u8 nonagle:4; /* 2521: 0 1 */
u8 rate_app_limited:1; /* 2521: 4 1 */
/* XXX 3 bits hole, try to pack */
/* XXX 2 bytes hole, try to pack */
[...]
struct tcp_options_received rx_opt; /* 2588 24 */
__cacheline_group_end__tcp_sock_write_txrx[0]; /* 2612 0 */
/* XXX 4 bytes hole, try to pack */
__cacheline_group_begin__tcp_sock_write_rx[0] __attribute__((__aligned__(8))); /* 2616 0 */
[...]
__cacheline_group_end__tcp_sock_write_rx[0]; /* 2712 0 */
[...]
/* size: 3200, cachelines: 50, members: 161 */
}
Signed-off-by: Chia-Yu Chang <chia-yu.chang@nokia-bell-labs.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Link: https://patch.msgid.link/20250911110642.87529-4-chia-yu.chang@nokia-bell-labs.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-09-15 16:26:33 -07:00
..
2025-08-20 19:34:07 -07:00
2025-07-29 11:42:31 -07:00
2025-09-09 19:28:52 -07:00
2025-08-07 10:07:06 +02:00
2025-07-31 01:33:20 +02:00
2025-07-27 01:41:21 -07:00
2025-07-29 12:27:40 -04:00
2025-07-31 11:50:25 -07:00
2025-09-09 19:14:23 -07:00
2025-09-03 10:08:04 +02:00
2025-07-31 13:43:02 -07:00
2025-09-11 12:10:47 -07:00
2025-07-25 18:36:42 +02:00
2025-08-18 09:55:05 +02:00
2025-08-03 03:28:52 +02:00
2025-07-31 16:29:46 -07:00
2025-08-25 17:16:01 -07:00
2025-07-21 10:43:21 +05:30
2025-07-31 13:43:02 -07:00
2025-08-09 07:20:44 +03:00
2025-07-31 13:16:09 -07:00
2025-07-29 20:21:54 -07:00
2025-07-21 18:18:51 +01:00
2025-08-22 17:23:15 -07:00
2025-07-31 11:28:03 -04:00
2025-07-31 11:28:03 -04:00
2025-07-28 16:14:18 -07:00
2025-08-21 07:11:11 -06:00
2025-07-24 16:55:11 -07:00
2025-07-31 11:30:05 -07:00
2025-08-18 10:29:42 -07:00
2025-07-22 19:10:17 -06:00
2025-07-31 18:23:53 -07:00
2025-07-31 18:23:53 -07:00
2025-08-01 15:47:06 -07:00
2025-07-29 17:19:35 -07:00
2025-09-08 23:45:12 -07:00
2025-08-04 14:15:14 +02:00
2025-08-18 14:48:16 +02:00
2025-07-31 14:57:54 -07:00
2025-08-14 10:37:33 -07:00
2025-08-20 22:23:44 +08:00
2025-07-31 16:52:32 -07:00
2025-07-19 19:08:23 -07:00
2025-07-19 18:59:57 -07:00
2025-07-31 14:57:54 -07:00
2025-07-29 12:15:39 -07:00
2025-08-11 13:05:38 +02:00
2025-08-09 18:10:01 +03:00
2025-09-10 12:03:19 +02:00
2025-07-31 10:20:04 -04:00
2025-09-10 17:43:28 -07:00
2025-08-02 12:06:12 -07:00
2025-08-11 16:16:36 +02:00
2025-07-22 15:57:02 +00:00
2025-08-18 10:29:42 -07:00
2025-07-31 11:28:03 -04:00
2025-08-11 22:22:33 +09:00
2025-07-29 17:19:29 -07:00
2025-08-20 11:12:58 +02:00
2025-08-04 16:27:21 -07:00
2025-07-28 18:14:38 +02:00
2025-07-22 20:15:56 -04:00
2025-07-19 19:08:28 -07:00
2025-07-24 16:24:49 +02:00
2025-07-19 18:59:51 -07:00
2025-07-24 19:12:35 -07:00
2025-07-24 19:12:32 -07:00
2025-07-19 19:08:26 -07:00
2025-09-04 11:19:01 +02:00
2025-08-29 13:39:53 -07:00
2025-07-25 15:29:58 -07:00
2025-08-29 19:29:24 -07:00
2025-07-29 17:19:35 -07:00
2025-07-28 16:30:12 -07:00
2025-08-02 12:06:10 -07:00
2025-07-31 12:43:08 -07:00
2025-07-31 15:00:41 -06:00
2025-08-11 17:26:38 +02:00
2025-08-19 16:35:56 -07:00
2025-09-14 11:35:17 -07:00
2025-08-01 09:46:24 -07:00
2025-07-30 17:14:01 -07:00
2025-07-24 10:57:26 +02:00
2025-09-08 23:45:11 -07:00
2025-08-13 17:18:43 +02:00
2025-07-22 20:15:56 -04:00
2025-08-27 22:45:43 -07:00
2025-07-23 11:52:47 +02:00
2025-07-21 21:40:39 -07:00
2025-07-31 12:56:21 +09:00
2025-07-24 09:20:39 +02:00
2025-08-26 10:47:03 +03:00
2025-08-19 19:20:59 -07:00
2025-08-21 10:42:31 +02:00
2025-08-19 16:35:57 -07:00
2025-07-31 14:57:54 -07:00
2025-08-05 16:02:07 +03:00
2025-08-02 12:06:11 -07:00
2025-07-19 18:59:47 -07:00
2025-08-06 07:32:52 +03:00
2025-08-06 07:32:52 +03:00
2025-07-30 17:14:01 -07:00
2025-08-01 15:47:06 -07:00
2025-09-14 11:35:17 -07:00
2025-07-25 18:40:01 +02:00
2025-08-15 15:56:49 +02:00
2025-07-25 13:59:41 -07:00
2025-07-22 08:10:41 -04:00
2025-08-19 11:16:02 -07:00
2025-07-19 18:59:57 -07:00
2025-08-02 12:06:08 -07:00
2025-07-31 14:57:54 -07:00
2025-07-30 16:23:12 -07:00
2025-07-29 11:45:39 -05:00
2025-07-24 16:51:17 -05:00
2025-07-24 16:51:41 -05:00
2025-07-23 01:27:32 -04:00
2025-07-31 16:11:43 -05:00
2025-08-27 22:45:44 -07:00
2025-08-27 22:45:44 -07:00
2025-09-11 17:19:40 -07:00
2025-09-14 12:48:17 -07:00
2025-08-25 17:59:08 -07:00
2025-07-29 11:42:31 -07:00
2025-07-22 18:01:15 +02:00
2025-07-22 18:07:11 +02:00
2025-07-31 21:39:01 -07:00
2025-07-31 14:57:54 -07:00
2025-09-09 19:28:52 -07:00
2025-07-25 13:44:33 +01:00
2025-08-03 15:03:04 -07:00
2025-08-02 12:06:11 -07:00
2025-07-23 11:52:47 +02:00
2025-07-28 16:47:34 -04:00
2025-08-03 16:23:09 -07:00
2025-08-07 06:30:17 -06:00
2025-08-17 05:57:47 -07:00
2025-07-28 18:20:32 -07:00
2025-08-29 11:48:01 -07:00
2025-08-28 13:14:50 +02:00
2025-07-29 13:00:20 -07:00
2025-08-04 10:54:36 -07:00
2025-08-13 16:27:42 -07:00
2025-07-30 19:26:49 -07:00
2025-07-24 19:12:28 -07:00
2025-07-19 19:08:24 -07:00
2025-07-23 11:56:02 +02:00
2025-09-15 16:26:33 -07:00
2025-09-03 11:55:11 +02:00
2025-07-28 18:18:16 -07:00
2025-07-22 20:15:51 -04:00
2025-09-14 11:35:17 -07:00
2025-07-31 10:20:10 -04:00
2025-07-31 10:20:11 -04:00
2025-07-29 14:46:07 -04:00
2025-07-29 14:46:07 -04:00
2025-07-21 17:40:02 +02:00
2025-07-24 19:12:29 -07:00
2025-08-05 15:41:14 -06:00
2025-08-05 15:41:14 -06:00
2025-08-26 03:38:10 -04:00
2025-08-01 09:11:09 -04:00
2025-08-01 14:17:48 -07:00
2025-08-27 22:45:44 -07:00
2025-07-19 18:59:46 -07:00
2025-08-01 09:11:08 -04:00
2025-08-02 12:01:37 -07:00