[Cluster-devel] [RFC dlm/next 07/10] fs: dlm: ls_root_lock semaphore to rwlock

2023-09-08 Thread Alexander Aring
This patch converts the ls_root_lock semaphore to a rwlock to not sleep during dlm message processing. Signed-off-by: Alexander Aring --- fs/dlm/dir.c | 14 +++--- fs/dlm/dlm_internal.h | 2 +- fs/dlm/lock.c | 4 ++-- fs/dlm/lockspace.c| 2 +- fs/dlm/recover.c

[Cluster-devel] [RFC dlm/next 01/10] fs: dlm: remove allocation parameter in msg allocation

2023-09-08 Thread Alexander Aring
This patch removes the context parameter for message allocations and replace it by always do GFP_ATOMIC. We are preparing to process dlm message in softirq context therefore it's necessary to switch to GFP_ATOMIC allocation as we cannot sleep in this context. To simplify the code overall we just

[Cluster-devel] [RFC dlm/next 05/10] fs: dlm: convert res_lock to spinlock

2023-09-08 Thread Alexander Aring
This patch converts the per dlm rsb res_lock from a mutex to a spinlock. Signed-off-by: Alexander Aring --- fs/dlm/dlm_internal.h | 2 +- fs/dlm/lock.c | 2 +- fs/dlm/lock.h | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/fs/dlm/dlm_internal.h

[Cluster-devel] [RFC dlm/next 10/10] fs: dlm: do dlm message processing in softirq context

2023-09-08 Thread Alexander Aring
This patch change the dlm message parsing context from a workqueue to a softirq context. This will hopefully speed up our dlm message processing by removing a bunch of implicit scheduling points such a cond_reched() depends on the preemption model setting. A softirq (except PREEMPT_RT) can only be

[Cluster-devel] [RFC dlm/next 03/10] fs: dlm: remove explicit scheduling points

2023-09-08 Thread Alexander Aring
This patch prepares to switch some locks to a spinlock. In this case we need to remove some explicit schedule points when a spinlock is held. We might have less scheduling points to try to serve others, we need to see if this still makes problems when we remove them and find other solutions.

[Cluster-devel] [RFC dlm/next 09/10] fs: dlm: convert message parsing locks to disable bh

2023-09-08 Thread Alexander Aring
This patch converts all spinlocks involved in message parsing to it's _bh version. The reason to do that is to convert the message parsing into softirq context and we need to prevent that those locks can be interrupted by a softirq if those are held. Signed-off-by: Alexander Aring ---

[Cluster-devel] [RFC dlm/next 08/10] fs: dlm: ls_recv_active semaphore to rwlock

2023-09-08 Thread Alexander Aring
This patch converts the ls_recv_active semaphore to a rwlock to not sleep during dlm message processing. Signed-off-by: Alexander Aring --- fs/dlm/dlm_internal.h | 2 +- fs/dlm/lock.c | 4 ++-- fs/dlm/lockspace.c| 2 +- fs/dlm/member.c | 4 ++-- fs/dlm/recoverd.c | 4 ++--

[Cluster-devel] [RFC dlm/next 06/10] fs: dlm: make requestqueue handling non sleepable

2023-09-08 Thread Alexander Aring
This patch removes the ls_requestqueue_wait and convert the ls_requestqueue_mutex to a rw lock. Instead of calling wait_event() in dlm processing which waits until all messages are processed and allow new message processing after recovering is done, this patch is using a bitflag to signal when a

[Cluster-devel] [RFC dlm/next 02/10] fs: dlm: switch to GFP_ATOMIC in dlm allocations

2023-09-08 Thread Alexander Aring
This patch prepares to process dlm messages in softirq context. To switch dlm to parse messages in softirq context some code parts either runs inside the softirq context or need to switch to run while a spinlock is held. This patch prepares to switch the allocation context to GFP_ATOMIC for those

[Cluster-devel] [RFC dlm/next 04/10] fs: dlm: convert ls_waiters_mutex to spinlock

2023-09-08 Thread Alexander Aring
This patch converts the per dlm lockspace waiters lock from a mutex to a spinlock. Signed-off-by: Alexander Aring --- fs/dlm/debug_fs.c | 4 ++-- fs/dlm/dlm_internal.h | 2 +- fs/dlm/lock.c | 33 + fs/dlm/lockspace.c| 2 +- 4 files changed, 21

[Cluster-devel] [syzbot] [gfs2?] memory leak in gfs2_trans_begin

2023-09-08 Thread syzbot
Hello, syzbot found the following issue on: HEAD commit:3f86ed6ec0b3 Merge tag 'arc-6.6-rc1' of git://git.kernel.o.. git tree: upstream console output: https://syzkaller.appspot.com/x/log.txt?x=12cda4e7a8 kernel config: https://syzkaller.appspot.com/x/.config?x=fe0cf825f8fbc075

Re: [Cluster-devel] [PATCH 07/11] vfs: add nowait parameter for file_accessed()

2023-09-08 Thread Pavel Begunkov
On 9/3/23 23:30, Dave Chinner wrote: On Wed, Aug 30, 2023 at 02:11:31PM +0800, Hao Xu wrote: On 8/29/23 19:53, Matthew Wilcox wrote: On Tue, Aug 29, 2023 at 03:46:13PM +0800, Hao Xu wrote: On 8/28/23 05:32, Matthew Wilcox wrote: On Sun, Aug 27, 2023 at 09:28:31PM +0800, Hao Xu wrote: From: