mirror_zfs/include/os/linux/zfs/sys
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
..
policy.h Linux 6.3 compat: idmapped mount API changes 2023-04-10 14:15:36 -07:00
trace_acl.h Linux: use filemap_range_has_page() 2023-02-14 11:04:34 -08:00
trace_arc.h ARC: Remove b_bufcnt/b_ebufcnt from ARC headers 2023-10-06 08:56:17 -07:00
trace_common.h Fix zio_flag_t print format 2022-10-28 09:08:12 -07:00
trace_dbgmsg.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
trace_dbuf.h Fix invalid pointer access in trace_dbuf.h 2023-10-02 16:58:01 -07:00
trace_dmu.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
trace_dnode.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
trace_multilist.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
trace_rrwlock.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
trace_txg.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
trace_vdev.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
trace_zfs.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
trace_zil.h zil: Add some more statistics. 2023-05-25 13:51:53 -07:00
trace_zio.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
trace_zrlock.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
zfs_bootenv_os.h zfs label bootenv should store data as nvlist 2020-09-15 15:42:27 -07:00
zfs_context_os.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
zfs_ctldir.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
zfs_dir.h zfs_rename: restructure to have cleaner fallbacks 2022-10-28 09:48:58 -07:00
zfs_vfsops_os.h Retire z_nr_znodes 2023-09-18 16:53:33 -07:00
zfs_vnops_os.h Linux 6.6 compat: generic_fillattr has a new u32 request_mask added at arg2 2023-09-21 18:38:40 -07:00
zfs_znode_impl.h Implementation of block cloning for ZFS 2023-03-10 11:59:53 -08:00
zpl.h Linux 6.6 compat: use inode_get/set_ctime*(...) 2023-09-21 18:38:31 -07:00