Message ID | 1416222996-24122-1-git-send-email-luis.henriques@canonical.com |
---|---|
State | New |
Headers | show |
On Mon, Nov 17, 2014 at 05:38:51PM +0400, Ilya Dryomov wrote: > On Mon, Nov 17, 2014 at 2:16 PM, Luis Henriques > <luis.henriques@canonical.com> wrote: > > This is a note to let you know that I have just added a patch titled > > > > rbd: rbd workqueues need a resque worker > > > > to the linux-3.16.y-queue branch of the 3.16.y-ckt extended stable tree > > which can be found at: > > > > http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.16.y-queue > > > > This patch is scheduled to be released in version 3.16.7-ckt2. > > > > If you, or anyone else, feels it should not be added to this tree, please > > reply to this email. > > > > For more information about the 3.16.y-ckt tree, see > > https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable > > > > Thanks. > > -Luis > > > > ------ > > > > From c999f9b8bccf1a1142c1e7372c1ecb197a3464a1 Mon Sep 17 00:00:00 2001 > > From: Ilya Dryomov <idryomov@redhat.com> > > Date: Fri, 10 Oct 2014 18:36:07 +0400 > > Subject: rbd: rbd workqueues need a resque worker > > > > commit 792c3a914910bd34302c5345578f85cfcb5e2c01 upstream. > > > > Need to use WQ_MEM_RECLAIM for our workqueues to prevent I/O lockups > > under memory pressure - we sit on the memory reclaim path. > > > > Signed-off-by: Ilya Dryomov <idryomov@redhat.com> > > Tested-by: Micha Krause <micha@krausam.de> > > Reviewed-by: Sage Weil <sage@redhat.com> > > [ luis: backported to 3.16: adjusted context ] > > I sent a backport for this to stable@ a while ago: > > Message-Id: <1413389385-8434-1-git-send-email-idryomov@redhat.com> > > While your fixup is obviously correct, mine also folds in an error path > fix, so if you could apply it instead it would be great. > > Thanks, > > Ilya Ah, sorry I missed that. Anyway, instead of folding that error path fix, I would like to propose to cherry-pick the following commits instead: 58d1362b50dc rbd: avoid format-security warning inside alloc_workqueue() 255939e783d8 rbd: fix error return code in rbd_dev_device_setup() 792c3a914910 rbd: rbd workqueues need a resque worker These are all clean cherry-picks in the 3.16 kernel, and I believe the end result will be the same as the backport you proposed but without folding commits. Cheers, -- Luís
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c index a15500662f4c..8d1b83958023 100644 --- a/drivers/block/rbd.c +++ b/drivers/block/rbd.c @@ -5103,7 +5103,7 @@ static int rbd_dev_device_setup(struct rbd_device *rbd_dev) set_capacity(rbd_dev->disk, rbd_dev->mapping.size / SECTOR_SIZE); set_disk_ro(rbd_dev->disk, rbd_dev->mapping.read_only); - rbd_dev->rq_wq = alloc_workqueue(rbd_dev->disk->disk_name, 0, 0); + rbd_dev->rq_wq = alloc_workqueue(rbd_dev->disk->disk_name, WQ_MEM_RECLAIM, 0); if (!rbd_dev->rq_wq) goto err_out_mapping;