Commit 434e6120 authored by Bhaktipriya Shridhar's avatar Bhaktipriya Shridhar Committed by David Howells

fs/afs/flock: Remove deprecated create_singlethread_workqueue

The workqueue "afs_lock_manager" queues work item &vnode->lock_work,
per vnode. Since there can be multiple vnodes and since their work items
can be executed concurrently, alloc_workqueue has been used to replace
the deprecated create_singlethread_workqueue instance.

The WQ_MEM_RECLAIM flag has been set to ensure forward progress under
memory pressure because the workqueue is being used on a memory reclaim
path.

Since there are fixed number of work items, explicit concurrency
limit is unnecessary here.
Signed-off-by: default avatarBhaktipriya Shridhar <bhaktipriya96@gmail.com>
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
parent 4c136dae
...@@ -36,8 +36,8 @@ static int afs_init_lock_manager(void) ...@@ -36,8 +36,8 @@ static int afs_init_lock_manager(void)
if (!afs_lock_manager) { if (!afs_lock_manager) {
mutex_lock(&afs_lock_manager_mutex); mutex_lock(&afs_lock_manager_mutex);
if (!afs_lock_manager) { if (!afs_lock_manager) {
afs_lock_manager = afs_lock_manager = alloc_workqueue("kafs_lockd",
create_singlethread_workqueue("kafs_lockd"); WQ_MEM_RECLAIM, 0);
if (!afs_lock_manager) if (!afs_lock_manager)
ret = -ENOMEM; ret = -ENOMEM;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment