diff options
author | Alexander Motin <[email protected]> | 2021-07-06 20:39:23 -0400 |
---|---|---|
committer | GitHub <[email protected]> | 2021-07-06 17:39:23 -0700 |
commit | bdd11cbb90a2afa54fd00935ac0d34b4ddf2515c (patch) | |
tree | 3dc7bf9514443c497a0a7e9ca227224ac5937ebe /include | |
parent | 97752ba22a4a036f9bc54556d114c77f68796b8f (diff) |
FreeBSD: Hardcode abd_chunk_size to PAGE_SIZE
It makes no sense to set it below PAGE_SIZE, since it increases all
overheads and makes returning memory to OS problematic. It makes no
sense to set it above PAGE_SIZE, since such allocations and especially
frees are too expensive and cause KVA fragmentation to benefit from
fewer chunks. After that it makes no sense to keep more complicated
math here.
What may have sense though is just a tunable border between linear and
scatter ABDs, previously also controlled by this tunable. Retain that
functionality by taking abd_scatter_min_size tunable from Linux, just
with different default value.
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Brian Atkinson <[email protected]>
Reviewed-by: Ryan Moeller <[email protected]>
Signed-off-by: Alexander Motin <[email protected]>
Closes #12328
Diffstat (limited to 'include')
-rw-r--r-- | include/sys/abd.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/include/sys/abd.h b/include/sys/abd.h index a7eee89ca..6903e0c0e 100644 --- a/include/sys/abd.h +++ b/include/sys/abd.h @@ -61,7 +61,6 @@ typedef struct abd { struct abd_scatter { uint_t abd_offset; #if defined(__FreeBSD__) && defined(_KERNEL) - uint_t abd_chunk_size; void *abd_chunks[1]; /* actually variable-length */ #else uint_t abd_nents; |