mirror_zfs/include/os/linux
Alexander Motin ba7797c8db ARC: Remove b_bufcnt/b_ebufcnt from ARC headers
In most cases we do not care about exact number of buffers linked
to the header, we just need to know if it is zero, non-zero or one.
That can easily be checked just looking on b_buf pointer or in some
cases derefencing it.

b_ebufcnt is read only once, and in that case we already traverse
the list as part of arc_buf_remove(), so second traverse should not
be expensive.

This reduces L1 ARC header size by 8 bytes and full crypto header by
16 bytes, down to 176 and 232 bytes on FreeBSD respectively.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by:	Alexander Motin <mav@FreeBSD.org>
Sponsored by:	iXsystems, Inc.
Closes #15350
2023-10-07 09:08:20 -07:00
..
kernel/linux Linux 6.5 compat: blkdev changes 2023-09-19 08:50:01 -07:00
spl Linux 4.20 compat: wrapper function for iov_iter type access 2023-09-19 08:50:01 -07:00
zfs/sys ARC: Remove b_bufcnt/b_ebufcnt from ARC headers 2023-10-07 09:08:20 -07:00
Makefile.am Add SHA2 SIMD feature tests for Linux 2023-03-02 13:52:04 -08:00