Hi, On Mon, Jun 3, 2024 at 5:56 PM Alexander Aring <aahringo@xxxxxxxxxx> wrote: > > Recently the DLM subsystem introduced the flag DLM_LSFL_SOFTIRQ for > dlm_new_lockspace() to signal the capability to handle DLM ast/bast > callbacks in softirq context to avoid an additional context switch due > the DLM callback workqueue. > > The md-cluster implementation only does synchronized calls above the > async DLM API. That synchronized API should may be also offered by DLM, > however it is very simple as md-cluster callbacks only does a complete() > call for their wait_for_completion() wait that is occurred after the > async DLM API call. This patch activates the recently introduced > DLM_LSFL_SOFTIRQ flag that allows that the DLM callbacks are executed in > a softirq context that md-cluster can handle. It is reducing a > unnecessary context workqueue switch and should speed up DLM in some > circumstance. > Can somebody with a md-cluster environment test it as well? All I was doing was (with a working dlm_controld cluster env): mdadm --create /dev/md0 --bitmap=clustered --metadata=1.2 --raid-devices=2 --level=mirror /dev/sda /dev/sdb sda and sdb are shared block devices on each node. Create a /etc/mdadm.conf with the content mostly out of: mdadm --detail --scan on each node. Then call mdadm --assemble on all nodes where not "mdadm --create ..." happened. I hope that is the right thing to do and I had with "dlm_tool ls" a UUID as a lockspace name with some md-cluster locks being around. To bring this new flag upstream, would it be okay to get this through dlm-tree? I am requesting here for an "Acked-by" tag from the md maintainers. Thanks. - Alex