Whamcloud - gitweb
LU-14918 osd: don't declare similar zfs writes twice 01/49701/7
authorAlex Zhuravlev <bzzz@whamcloud.com>
Thu, 19 Jan 2023 19:06:36 +0000 (22:06 +0300)
committerOleg Drokin <green@whamcloud.com>
Tue, 14 Feb 2023 06:02:55 +0000 (06:02 +0000)
commitc1936c9d294d53ff39741e1b07ffc74f51fcddb6
treeafb750ef4eae883863cdd80856bc2ade6c47cf10
parent9e6225b2e7385cbb7be0474df01075fafc4966d5
LU-14918 osd: don't declare similar zfs writes twice

in some cases (like overstriping) the same operations can be
declared multiple times (new llog records) and this lead to
huge number of credits and performance degradation. we can
avoid this checking for duplicate declarations.
notice each declare operation results in a allocation in ZFS.

the example for an overstriped file (2000 stripes over 4 OSTs),
declare ops before after
create: 2001 2
unlink: 10001 10

creation of 1K-stripe files (over 4 OSTs) is 2.5% faster.
removal of 1K-stripe files is 44% faster.

single-stripe file creation/removal does not degrade.

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I5d9e6d3a1574ccd7bf97fd3a67ab4fff0b6a352c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/49701
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/obdclass/llog_osd.c
lustre/osd-zfs/osd_io.c