Whamcloud - gitweb
EX-4015 lipe: batching and threading improvements
authorJohn L. Hammond <jhammond@whamcloud.com>
Thu, 24 Feb 2022 16:56:59 +0000 (10:56 -0600)
committerJohn L. Hammond <jhammond@whamcloud.com>
Thu, 10 Mar 2022 17:26:41 +0000 (17:26 +0000)
commit5c608841c1bae183767c0eab079530bbbc0fcb1e
tree616757380b753080a5b17f103fabae8ecc2c46ea
parent0ec338710ab5fc9031b2da5dd0d5d6d888733378
EX-4015 lipe: batching and threading improvements

Remove the current group descriptor mutex from struct
scan_control. Use __ATOMIC_RELAXED fetch and add to allocate the next
batch of groups. Report the correct start group of the batch in
debugging output and remove a redundant batch debug message.

Use atomic loads and stores for the ti_should_stop member which is
responsible for lipe-scan-break. Check if the current thread should
stop in the outer loop of ls3_scan_thread_start_scm() as well as the
inner loop of ldiskfs_scan_groups().

Reduce the default scanning thread count from _SC_NPROCESSORS_ONLN / 2
to _SC_NPROCESSORS_ONLN / 4.

Test-Parameters: trivial testlist=sanity-lipe-scan3 serverextra_install_params="--packages lipe-scan" facet=mds1
Signed-off-by: John L. Hammond <jhammond@whamcloud.com>
Change-Id: Ic99c27504333f1d63a689e091d857e44062ef584
Reviewed-on: https://review.whamcloud.com/46605
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
lipe/src/lipe_scan3/ls3_main.c
lipe/src/lipe_scan3/ls3_scan.c