Message ID | 1412965626-11165-2-git-send-email-idryomov@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Reviewed-by: Sage Weil <sage@redhat.com> On Fri, 10 Oct 2014, Ilya Dryomov wrote: > Commit f363e45fd118 ("net/ceph: make ceph_msgr_wq non-reentrant") > effectively removed WQ_MEM_RECLAIM flag from ceph_msgr_wq. This is > wrong - libceph is very much a memory reclaim path, so restore it. > > Cc: stable@vger.kernel.org # needs backporting for < 3.12 > Signed-off-by: Ilya Dryomov <idryomov@redhat.com> > Tested-by: Micha Krause <micha@krausam.de> > --- > net/ceph/messenger.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c > index 9764c771cfb1..559c9f619c20 100644 > --- a/net/ceph/messenger.c > +++ b/net/ceph/messenger.c > @@ -292,7 +292,11 @@ int ceph_msgr_init(void) > if (ceph_msgr_slab_init()) > return -ENOMEM; > > - ceph_msgr_wq = alloc_workqueue("ceph-msgr", 0, 0); > + /* > + * The number of active work items is limited by the number of > + * connections, so leave @max_active at default. > + */ > + ceph_msgr_wq = alloc_workqueue("ceph-msgr", WQ_MEM_RECLAIM, 0); > if (ceph_msgr_wq) > return 0; > > -- > 1.7.10.4 > > -- > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > > -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c index 9764c771cfb1..559c9f619c20 100644 --- a/net/ceph/messenger.c +++ b/net/ceph/messenger.c @@ -292,7 +292,11 @@ int ceph_msgr_init(void) if (ceph_msgr_slab_init()) return -ENOMEM; - ceph_msgr_wq = alloc_workqueue("ceph-msgr", 0, 0); + /* + * The number of active work items is limited by the number of + * connections, so leave @max_active at default. + */ + ceph_msgr_wq = alloc_workqueue("ceph-msgr", WQ_MEM_RECLAIM, 0); if (ceph_msgr_wq) return 0;