Files
mirror_zfs/module/zfs
Alexander Motin 96b9cf42e0 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-06 08:56:17 -07:00
..
2023-05-05 09:17:55 -07:00
2022-03-15 15:13:42 -07:00
2022-03-15 15:13:42 -07:00
2023-01-10 13:39:22 -08:00
2023-06-30 09:42:02 -07:00
2023-07-21 11:51:47 -07:00
2023-03-14 15:25:50 -07:00
2023-08-07 13:54:41 -07:00
2023-09-28 14:10:07 -07:00
2023-03-14 15:25:50 -07:00
2023-03-14 15:59:58 -07:00
2023-06-09 10:12:52 -07:00
2022-03-15 15:13:42 -07:00
2022-01-07 10:36:49 -08:00
2022-01-12 16:14:36 -08:00
2023-09-28 14:08:52 -07:00
2019-06-19 09:48:12 -07:00
2022-03-15 15:13:42 -07:00
2023-03-14 15:25:50 -07:00
2023-08-07 13:54:41 -07:00
2023-09-01 18:00:30 -07:00
2023-06-27 09:09:48 -07:00
2023-03-14 15:25:50 -07:00
2023-07-28 13:30:33 -07:00
2023-03-14 15:25:50 -07:00
2023-03-14 15:25:50 -07:00
2022-09-02 13:31:19 -07:00
2023-03-14 15:25:50 -07:00
2022-11-29 09:26:03 -08:00