Files
mirror_zfs/module/zfs
Alexander Motin 80cc516295 ZAP: Massively switch to _by_dnode() interfaces
Before this change ZAP called dnode_hold() for almost every block
access, that was clearly visible in profiler under heavy load, such
as BRT.  This patch makes it always hold the dnode reference between
zap_lockdir() and zap_unlockdir().  It allows to avoid most of dnode
operations between those.  It also adds several new _by_dnode() APIs
to ZAP and uses them in BRT code.  Also adds dmu_prefetch_by_dnode()
variant and uses it in the ZAP code.

After this there remains only one call to dmu_buf_dnode_enter(),
which seems to be unneeded.  So remove the call and the functions.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by:	Alexander Motin <mav@FreeBSD.org>
Sponsored by:	iXsystems, Inc.
Closes #15951
2024-03-25 14:58:50 -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-10-24 11:00:07 -07:00
2023-12-15 09:51:41 -08:00
2023-09-28 14:10:07 -07:00
2023-11-06 10:38:42 -08:00
2023-03-14 15:25:50 -07:00
2024-02-15 11:45:19 -08: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-11-17 13:28:32 -08:00
2019-06-19 09:48:12 -07:00
2023-11-07 12:11:48 -08:00
2022-03-15 15:13:42 -07:00
2023-11-08 10:19:41 -08:00
2023-06-27 09:09:48 -07:00
2023-11-08 10:19:41 -08:00
2023-11-08 10:19:41 -08:00
2023-11-08 10:19:41 -08:00
2024-01-17 09:03:58 -08:00
2024-02-08 09:19:52 -08: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
2024-02-08 09:19:52 -08:00
2024-02-08 09:19:52 -08:00
2022-11-29 09:26:03 -08:00