Add support for per dataset zil stats and use wmsum counters

ZIL kstats are reported in an inclusive way, i.e., same counters are
shared to capture all the activities happening in zil. Added support
to report zil stats for every datset individually by combining them
with already exposed dataset kstats.

Wmsum uses per cpu counters and provide less overhead as compared
to atomic operations. Updated zil kstats to replace wmsum counters
to avoid atomic operations.

Reviewed-by: Christian Schwarz <christian.schwarz@nutanix.com>
Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Signed-off-by: Ameer Hamza <ahamza@ixsystems.com>
Closes #13636
This commit is contained in:
ixhamza
2022-07-21 05:14:06 +05:00
committed by GitHub
parent 33dba8c792
commit fb087146de
10 changed files with 231 additions and 61 deletions
+3
View File
@@ -222,6 +222,9 @@ struct zilog {
* (see zil_max_copied_data()).
*/
uint64_t zl_max_block_size;
/* Pointer for per dataset zil sums */
zil_sums_t *zl_sums;
};
typedef struct zil_bp_node {