Paolo Abeni
bf1c3ab8d3
net: reorder flowi_common fields to avoid holes
the flowi* structures are used and memsetted by server functions
in critical path. Currently flowi_common has a couple of holes that
we can eliminate reordering the struct fields. As a side effect,
both flowi4 and flowi6 shrink by 8 bytes.
Before:
pahole -EC flowi_common
struct flowi_common {
// ...
/* size: 40, cachelines: 1, members: 10 */
/* sum members: 32, holes: 1, sum holes: 4 */
/* padding: 4 */
/* last cacheline: 40 bytes */
};
pahole -EC flowi6
struct flowi6 {
// ...
/* size: 88, cachelines: 2, members: 6 */
/* padding: 4 */
/* last cacheline: 24 bytes */
};
pahole -EC flowi4
struct flowi4 {
// ...
/* size: 56, cachelines: 1, members: 4 */
/* padding: 4 */
/* last cacheline: 56 bytes */
};
After:
struct flowi_common {
// ...
/* size: 32, cachelines: 1, members: 10 */
/* last cacheline: 32 bytes */
};
struct flowi6 {
// ...
/* size: 80, cachelines: 2, members: 6 */
/* padding: 4 */
/* last cacheline: 16 bytes */
};
struct flowi4 {
// ...
/* size: 48, cachelines: 1, members: 4 */
/* padding: 4 */
/* last cacheline: 48 bytes */
};
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-11-30 17:12:39 -08:00
..
2018-09-08 01:39:47 +09:00
2018-10-14 10:25:47 +02:00
2018-09-26 09:56:07 -07:00
2018-11-27 00:35:19 +01:00
2018-11-07 16:12:38 -08:00
2018-09-18 19:55:01 -07:00
2018-11-24 17:01:43 -08:00
2018-10-05 00:36:31 -07:00
2018-11-02 23:54:56 -07:00
2018-11-15 11:35:40 -08:00
2018-10-31 12:37:12 -07:00
2018-08-07 12:39:13 -07:00
2018-08-04 13:23:15 -07:00
2018-09-26 20:22:19 -07:00
2018-07-30 09:10:25 -07:00
2018-10-12 12:56:34 +02:00
2018-07-27 13:17:50 -07:00
2018-10-12 21:38:46 -07:00
2018-09-13 08:14:33 -07:00
2018-10-17 21:51:13 -07:00
2018-11-30 13:21:52 -08:00
2018-11-30 17:12:39 -08:00
2018-11-17 21:37:29 -08:00
2018-08-29 19:42:52 -07:00
2018-11-07 23:00:23 -08:00
2018-11-08 17:13:08 -08:00
2018-09-05 10:08:25 +02:00
2018-11-02 23:54:56 -07:00
2018-11-07 16:12:38 -08:00
2018-08-14 10:04:36 -07:00
2018-10-17 17:45:07 -07:00
2018-08-11 17:54:18 -07:00
2018-11-07 16:12:38 -08:00
2018-11-07 16:12:38 -08:00
2018-10-19 11:03:06 -07:00
2018-10-16 00:13:12 -07:00
2018-11-08 17:13:08 -08:00
2018-10-24 14:06:25 -07:00
2018-11-08 17:13:08 -08:00
2018-11-07 16:23:05 -08:00
2018-11-07 16:23:05 -08:00
2018-09-13 09:04:58 -07:00
2018-10-12 13:05:40 +02:00
2018-10-12 09:47:39 -07:00
2018-09-14 12:04:33 -07:00
2018-08-01 09:52:30 -07:00
2018-10-12 11:00:22 -07:00
2018-11-19 18:53:46 -08:00
2018-09-25 20:17:35 -07:00
2018-11-08 17:13:08 -08:00
2018-11-07 16:12:39 -08:00
2018-08-28 11:11:47 +02:00
2018-09-26 20:30:55 -07:00
2018-11-06 15:00:45 -08:00
2018-11-11 09:54:52 -08:00
2018-07-31 09:22:48 +02:00
2018-08-11 01:58:46 +02:00
2018-10-23 10:57:06 -07:00
2018-11-23 18:02:24 -08:00
2018-11-30 13:28:03 -08:00
2018-10-15 12:23:19 -07:00
2018-11-08 17:13:08 -08:00
2018-11-08 17:13:08 -08:00
2018-11-21 17:10:30 -08:00
2018-10-05 09:31:01 +02:00
2018-08-29 12:25:53 -07:00
2018-08-15 15:04:25 -07:00