selftests/bpf: Increase SIZEOF_BPF_LOCAL_STORAGE_ELEM on s390x
sizeof(struct bpf_local_storage_elem) is 512 on s390x: struct bpf_local_storage_elem { struct hlist_node map_node; /* 0 16 */ struct hlist_node snode; /* 16 16 */ struct bpf_local_storage * local_storage; /* 32 8 */ struct callback_head rcu __attribute__((__aligned__(8))); /* 40 16 */ /* XXX 200 bytes hole, try to pack */ /* --- cacheline 1 boundary (256 bytes) --- */ struct bpf_local_storage_data sdata __attribute__((__aligned__(256))); /* 256 8 */ /* size: 512, cachelines: 2, members: 5 */ /* sum members: 64, holes: 1, sum holes: 200 */ /* padding: 248 */ /* forced alignments: 2, forced holes: 1, sum forced holes: 200 */ } __attribute__((__aligned__(256))); As the existing comment suggests, use a larger number in order to be future-proof. Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com> Link: https://lore.kernel.org/r/20230128000650.1516334-14-iii@linux.ibm.com Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
2934565f04
commit
80a611904e
@ -8,11 +8,11 @@
|
||||
|
||||
/* sizeof(struct bpf_local_storage_elem):
|
||||
*
|
||||
* It really is about 128 bytes on x86_64, but allocate more to account for
|
||||
* possible layout changes, different architectures, etc.
|
||||
* It is about 128 bytes on x86_64 and 512 bytes on s390x, but allocate more to
|
||||
* account for possible layout changes, different architectures, etc.
|
||||
* The kernel will wrap up to PAGE_SIZE internally anyway.
|
||||
*/
|
||||
#define SIZEOF_BPF_LOCAL_STORAGE_ELEM 256
|
||||
#define SIZEOF_BPF_LOCAL_STORAGE_ELEM 768
|
||||
|
||||
/* Try to estimate kernel's BPF_LOCAL_STORAGE_MAX_VALUE_SIZE: */
|
||||
#define BPF_LOCAL_STORAGE_MAX_VALUE_SIZE (0xFFFF - \
|
||||
|
Loading…
x
Reference in New Issue
Block a user