summaryrefslogtreecommitdiffstats
path: root/fs/afs/callback.c
diff options
context:
space:
mode:
authorBhaktipriya Shridhar <bhaktipriya96@gmail.com>2016-09-04 17:24:11 +0200
committerDavid Howells <dhowells@redhat.com>2016-09-04 22:41:39 +0200
commit4c136dae62f7a62383a9d6563c8613e732bfefaf (patch)
tree79d648aec43b1509199053910c63664761a4ceb3 /fs/afs/callback.c
parentfs/afs/rxrpc: Remove deprecated create_singlethread_workqueue (diff)
downloadlinux-4c136dae62f7a62383a9d6563c8613e732bfefaf.tar.xz
linux-4c136dae62f7a62383a9d6563c8613e732bfefaf.zip
fs/afs/callback: Remove deprecated create_singlethread_workqueue
The workqueue "afs_callback_update_worker" queues multiple work items viz &vnode->cb_broken_work, &server->cb_break_work which require strict execution ordering. Hence, an ordered dedicated workqueue has been used. Since the workqueue is being used on a memory reclaim path, WQ_MEM_RECLAIM has been set to ensure forward progress under memory pressure. Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com> Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'fs/afs/callback.c')
-rw-r--r--fs/afs/callback.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/afs/callback.c b/fs/afs/callback.c
index 7ef637d7f3a5..1e9d2f84e5b5 100644
--- a/fs/afs/callback.c
+++ b/fs/afs/callback.c
@@ -461,8 +461,8 @@ static void afs_callback_updater(struct work_struct *work)
*/
int __init afs_callback_update_init(void)
{
- afs_callback_update_worker =
- create_singlethread_workqueue("kafs_callbackd");
+ afs_callback_update_worker = alloc_ordered_workqueue("kafs_callbackd",
+ WQ_MEM_RECLAIM);
return afs_callback_update_worker ? 0 : -ENOMEM;
}