Whamcloud - gitweb
LU-17441 mdc: use MDS_IO_PORTAL for rename 25/53725/8
authorAndreas Dilger <adilger@whamcloud.com>
Thu, 18 Jan 2024 09:49:48 +0000 (02:49 -0700)
committerOleg Drokin <green@whamcloud.com>
Fri, 23 Feb 2024 07:14:03 +0000 (07:14 +0000)
commit3faa31e59c8d07dd7bea5433ea6782f1e6bbab52
tree5e3752f0b3b57555667c36797d0b000f6a9e9957
parent1714b65e47e87c6f493810bd14a4ed2922965011
LU-17441 mdc: use MDS_IO_PORTAL for rename

Some workloads like Apache Spark are very rename intensive, and there
here may be many concurrent renames that need the BFL lock (more than
the number of MDS_REQUEST_PORTAL service threads), they will block
these threads until each is able to get the rename lock, and prevent
other MDS_REINT RPCs from being processed.

Since the MDS_IO_PORTAL is often unused (only needed for DoM files),
and has existed since 2.11.0, it seems possible to move the rename
RPCs to be serviced by the MDS_IO_PORTAL threads to avoid contention
on the primary MDS service threads. Also, it will avoid blocking
normal file open, setattr, statfs, and other common operations if the
BFL lock is contended. Even with DoM files they may have read-on-open
handling and only DoM writes would be blocked by the uncommon rename.

Test-Parameters: testlist=sanity serverversion=2.15 \
env=SANITY_EXCEPT="56x 56xa 56xc 65p 70a 119h 119i 123g 123h 123i 398d 398o"
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I623a27de1482778f3c9fc6bb5bbcf917611dc75b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53725
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Mikhail Pershin <mpershin@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
lustre/mdc/mdc_reint.c