Files
mirror_zfs/include/sys
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
..
2024-02-08 09:19:52 -08:00
2024-02-08 09:19:52 -08:00
2022-05-10 10:18:51 -07:00
2022-05-25 09:18:49 -07:00
2021-06-07 09:02:47 -07:00
2023-10-30 16:56:04 -07:00
2023-10-30 16:56:04 -07:00
2023-01-10 13:39:22 -08:00
2023-12-15 09:51:41 -08:00
2024-02-26 12:24:22 -08:00
2023-10-24 11:00:07 -07:00
2023-03-14 15:25:50 -07:00
2023-05-09 09:03:10 -07:00
2023-07-21 11:51:47 -07:00
2017-10-11 16:54:48 -04:00
2023-09-01 18:00:30 -07:00
2021-06-10 10:42:31 -06:00
2019-06-19 09:48:12 -07:00
2022-07-11 14:16:13 -07:00
2023-11-08 10:19:41 -08:00
2024-02-08 09:19:52 -08:00
2023-11-08 10:19:41 -08:00
2023-11-08 10:19:41 -08:00
2018-02-08 15:28:18 -08:00
2023-11-08 10:19:41 -08:00
2023-05-25 13:51:53 -07:00
2022-06-29 14:08:54 -07:00
2020-07-03 11:05:50 -07:00
2023-11-06 10:38:42 -08:00
2023-01-05 09:31:55 -08:00