On Wed, May 3, 2017 at 6:34 AM, NeilBrown <ne...@suse.com> wrote: > From 09017acf74ec4df674b78ca66f0924187f10d8a4 Mon Sep 17 00:00:00 2001 > From: NeilBrown <ne...@suse.com> > Date: Fri, 10 Mar 2017 13:59:50 +1100 > Subject: [PATCH] blk: make the bioset rescue_workqueue optional. > > This patch converts bioset_create() to not create a workqueue by > default, so alloctions will never trigger punt_bios_to_rescuer(). It > also introduces a new flag BIOSET_NEED_RESCUER() which tells > bioset_create() to preserve the old behavior. > > All callers of bioset_create() that are inside block device drivers, > are given the BIOSET_NEED_RESCUER(). > > biosets used by filesystems or other top-level users do not > need rescuing as the bio can never be queued behind other > bios. This includes fs_bio_set, blkdev_dio_pool, > btrfs_bioset, xfs_ioend_bioset, and one allocated by > target_core_iblock.c. > > biosets used by md/raid do not need rescuing as > their usage was recently audited and revised to never > risk deadlock. > > It is hoped that most, if not all, of the remaining biosets > can end up being the non-rescued version. > > Reviewed-by: Christoph Hellwig <h...@lst.de> > Credit-to: Ming Lei <ming....@redhat.com> (minor fixes) > Signed-off-by: NeilBrown <ne...@suse.com>
Reviewed-by: Ming Lei <ming....@redhat.com> Thanks, Ming