Stanislav Fomichev
c0e19f2c9a
bpf: minimize number of allocated lsm slots per program
Previous patch adds 1:1 mapping between all 211 LSM hooks
and bpf_cgroup program array. Instead of reserving a slot per
possible hook, reserve 10 slots per cgroup for lsm programs.
Those slots are dynamically allocated on demand and reclaimed.
struct cgroup_bpf {
struct bpf_prog_array * effective[33]; /* 0 264 */
/* --- cacheline 4 boundary (256 bytes) was 8 bytes ago --- */
struct hlist_head progs[33]; /* 264 264 */
/* --- cacheline 8 boundary (512 bytes) was 16 bytes ago --- */
u8 flags[33]; /* 528 33 */
/* XXX 7 bytes hole, try to pack */
struct list_head storages; /* 568 16 */
/* --- cacheline 9 boundary (576 bytes) was 8 bytes ago --- */
struct bpf_prog_array * inactive; /* 584 8 */
struct percpu_ref refcnt; /* 592 16 */
struct work_struct release_work; /* 608 72 */
/* size: 680, cachelines: 11, members: 7 */
/* sum members: 673, holes: 1, sum holes: 7 */
/* last cacheline: 40 bytes */
};
Reviewed-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Stanislav Fomichev <sdf@google.com>
Link: https://lore.kernel.org/r/20220628174314.1216643-5-sdf@google.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2022-06-29 13:21:52 -07:00
..
2022-03-07 22:19:32 -08:00
2022-05-11 18:16:54 -07:00
2022-04-26 11:35:21 -07:00
2022-04-26 11:35:21 -07:00
2022-06-20 17:40:51 -07:00
2022-04-19 17:55:45 -07:00
2021-02-10 15:54:26 -08:00
2022-05-13 07:20:07 -07:00
2022-06-29 13:21:52 -07:00
2021-11-01 14:10:00 -07:00
2022-06-23 09:49:57 -07:00
2022-04-26 11:35:21 -07:00
2022-06-29 13:21:52 -07:00
2022-06-29 13:21:52 -07:00
2022-06-29 13:21:52 -07:00
2022-04-26 11:35:21 -07:00
2022-04-26 11:35:21 -07:00
2021-09-02 14:49:23 +02:00
2021-09-02 14:49:23 +02:00
2020-03-13 12:49:52 -07:00
2022-05-11 18:16:54 -07:00
2022-06-17 16:00:51 +02:00
2022-02-10 23:31:51 +01:00
2022-04-20 16:52:58 -07:00
2022-05-10 11:20:45 -07:00
2022-04-26 11:35:21 -07:00
2022-04-26 11:35:21 -07:00
2022-05-10 11:20:45 -07:00
2022-04-25 17:31:35 -07:00
2020-08-28 15:41:30 +02:00
2021-12-18 13:27:41 -08:00
2021-11-07 11:54:51 -08:00
2021-12-29 20:03:05 -08:00
2020-02-17 16:53:49 +01:00
2022-06-11 14:25:35 -07:00
2020-10-06 00:04:11 +02:00
2020-07-25 20:16:32 -07:00
2022-04-26 11:35:21 -07:00
2022-04-26 11:35:21 -07:00
2022-05-23 14:31:28 -07:00
2022-04-26 11:35:21 -07:00
2022-06-29 13:21:51 -07:00
2020-11-10 15:25:53 -08:00
2022-04-11 21:14:34 +02:00
2021-06-01 13:34:15 +02:00
2022-06-29 13:21:52 -07:00
2022-06-29 13:21:51 -07:00