From: Jeff Layton <jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: smfrench-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Cc: linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.org,
tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
Subject: [PATCH 0/3] cifs: allocate dedicated cifsiod_workqueue
Date: Fri, 17 Feb 2012 09:31:41 -0500 [thread overview]
Message-ID: <1329489104-7823-1-git-send-email-jlayton@redhat.com> (raw)
As Alan Stern pointed out yesterday, cifs queues most of its workqueue
jobs to the system_nrt_wq. There are a couple of problems with that:
1/ That workqueue isn't freezable. Some workqueue jobs from cifs (like
oplock breaks) can take quite some time to run since they have to
kickoff writeback. That can end up making the freezer give up in
some cases.
2/ We queue the async write completion handler to this codepath. Since
that can be called in memory reclaim codepaths, we really ought to be
queueing it to a workqueue with WQ_MEM_RECLAIM set.
This patch fixes this by allocating a new workqueue to which we'll queue
all the cifs jobs. The first two patches in the series do a little
cleanup work in the exit_cifs code, and the last patch adds the new
workqueue and has the callers queue their work to it.
This patchset is probably best suited for 3.4.
Jeff Layton (3):
cifs: clean up call to cifs_dfs_release_automount_timer()
cifs: clean up ordering in exit_cifs
cifs: add new cifsiod_wq workqueue
fs/cifs/cifsfs.c | 25 +++++++++++++++++--------
fs/cifs/cifsglob.h | 1 +
fs/cifs/cifsproto.h | 6 ++++++
fs/cifs/cifssmb.c | 4 ++--
fs/cifs/connect.c | 8 ++++----
fs/cifs/misc.c | 2 +-
6 files changed, 31 insertions(+), 15 deletions(-)
--
1.7.7.6
next reply other threads:[~2012-02-17 14:31 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-17 14:31 Jeff Layton [this message]
[not found] ` <1329489104-7823-1-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-02-17 14:31 ` [PATCH 1/3] cifs: clean up call to cifs_dfs_release_automount_timer() Jeff Layton
[not found] ` <1329489104-7823-2-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-02-20 11:23 ` Shirish Pargaonkar
2012-02-17 14:31 ` [PATCH 2/3] cifs: clean up ordering in exit_cifs Jeff Layton
[not found] ` <1329489104-7823-3-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-02-20 11:24 ` Shirish Pargaonkar
2012-02-17 14:31 ` [PATCH 3/3] cifs: add new cifsiod_wq workqueue Jeff Layton
[not found] ` <1329489104-7823-4-git-send-email-jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-02-20 11:24 ` Shirish Pargaonkar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1329489104-7823-1-git-send-email-jlayton@redhat.com \
--to=jlayton-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
--cc=linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=smfrench-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.org \
--cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox