linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mike Snitzer <snitzer@redhat.com>
To: Kent Overstreet <kent.overstreet@gmail.com>
Cc: Pavel Machek <pavel@ucw.cz>,
	oleg.drokin@intel.com, ming.l@ssi.samsung.com,
	andreas.dilger@intel.com, martin.petersen@oracle.com,
	minchan@kernel.org, jkosina@suse.cz, ming.lei@canonical.com,
	kernel list <linux-kernel@vger.kernel.org>,
	jim@jtan.com, pjk1939@linux.vnet.ibm.com, axboe@fb.com,
	geoff@infradead.org, dm-devel@redhat.com, dpark@posteo.net,
	ngupta@vflare.org, hch@lst.de, agk@redhat.com
Subject: Re: v4.9, 4.4-final: 28 bioset threads on small notebook, 36 threads on cellphone
Date: Tue, 7 Feb 2017 12:13:42 -0500	[thread overview]
Message-ID: <20170207171341.GA29119@redhat.com> (raw)
In-Reply-To: <20170207024906.4oswyuvxfnqkvbhr@moria.home.lan>

On Mon, Feb 06 2017 at  9:49pm -0500,
Kent Overstreet <kent.overstreet@gmail.com> wrote:

> On Mon, Feb 06, 2017 at 04:47:24PM -0900, Kent Overstreet wrote:
> > On Mon, Feb 06, 2017 at 01:53:09PM +0100, Pavel Machek wrote:
> > > Still there on v4.9, 36 threads on nokia n900 cellphone.
> > > 
> > > So.. what needs to be done there?
> 
> > But, I just got an idea for how to handle this that might be halfway sane, maybe
> > I'll try and come up with a patch...
> 
> Ok, here's such a patch, only lightly tested:
> 
> -- >8 --
> Subject: [PATCH] block: Make rescuer threads per request_queue, not per bioset
> 
> Note: this patch is very lightly tested.
> 
> Also, trigger rescuing whenever with bios on current->bio_list, instead
> of only when we block in bio_alloc_bioset(). This is more correct, and
> should result in fewer rescuer threads.
> 
> XXX: The current->bio_list plugging needs to be unified with the
> blk_plug mechanism.
> 
> TODO: If we change normal request_queue drivers to handle arbitrary size
> bios by processing requests incrementally, instead of splitting bios,
> then we can get rid of rescuer threads from those devices.

Hi Kent,

I really appreciate you working on this further.  Thanks.

As I think you're probably already aware, a long standing issue with the
per bio_set rescuer is this bug (which manifests in dm-snapshot
deadlocks): https://bugzilla.kernel.org/show_bug.cgi?id=119841

Please also see this patch header, from a private branch from a while
ago, that describes the problem in detail:
http://git.kernel.org/cgit/linux/kernel/git/snitzer/linux.git/commit/?h=wip&id=cd2c760b5a609e2aaf3735a7b9503a953535c368

Would welcome your consideration of that BZ as you think further and/or
iterate on this line of work.

Mike

  reply	other threads:[~2017-02-07 17:13 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-11 10:49 4.4-rc: 28 bioset threads on small notebook Pavel Machek
2015-12-11 14:08 ` Mike Snitzer
2015-12-11 17:14   ` Pavel Machek
2016-02-20 17:40   ` 4.4-final: " Pavel Machek
2016-02-20 18:42     ` Pavel Machek
2016-02-20 19:51       ` Mike Snitzer
2016-02-20 20:04         ` Pavel Machek
2016-02-20 20:38           ` Mike Snitzer
2016-02-20 20:55             ` Pavel Machek
2016-02-21  4:15               ` Kent Overstreet
2016-02-21  6:43                 ` Ming Lin-SSI
2016-02-21  9:40                   ` Ming Lei
2016-02-22 22:58                     ` Kent Overstreet
2016-02-23  2:55                       ` Ming Lei
2016-02-23 14:54                         ` Mike Snitzer
2016-02-24  2:48                           ` Ming Lei
2016-02-24  3:23                             ` Kent Overstreet
2016-02-23 20:45                       ` Pavel Machek
2017-02-06 12:53           ` v4.9, 4.4-final: 28 bioset threads on small notebook, 36 threads on cellphone Pavel Machek
2017-02-07  1:47             ` Kent Overstreet
2017-02-07  2:49               ` Kent Overstreet
2017-02-07 17:13                 ` Mike Snitzer [this message]
2017-02-07 20:39                 ` Pavel Machek
2017-02-08  3:12                   ` Mike Galbraith
2017-02-08  4:58                   ` Kent Overstreet
2017-02-08  6:22                     ` [PATCH] block: Make rescuer threads per request_queue, not per bioset kbuild test robot
2017-02-08  6:23                     ` kbuild test robot
2017-02-08  6:57                     ` v4.9, 4.4-final: 28 bioset threads on small notebook, 36 threads on cellphone Mike Galbraith
2017-02-08 16:34                     ` Mike Snitzer
2017-02-09 21:25                       ` Kent Overstreet
2017-02-14 16:34                         ` [dm-devel] " Mikulas Patocka
2017-02-14 17:33                         ` Mike Snitzer
2017-02-08  2:47                 ` Ming Lei

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=20170207171341.GA29119@redhat.com \
    --to=snitzer@redhat.com \
    --cc=agk@redhat.com \
    --cc=andreas.dilger@intel.com \
    --cc=axboe@fb.com \
    --cc=dm-devel@redhat.com \
    --cc=dpark@posteo.net \
    --cc=geoff@infradead.org \
    --cc=hch@lst.de \
    --cc=jim@jtan.com \
    --cc=jkosina@suse.cz \
    --cc=kent.overstreet@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=minchan@kernel.org \
    --cc=ming.l@ssi.samsung.com \
    --cc=ming.lei@canonical.com \
    --cc=ngupta@vflare.org \
    --cc=oleg.drokin@intel.com \
    --cc=pavel@ucw.cz \
    --cc=pjk1939@linux.vnet.ibm.com \
    /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;
as well as URLs for NNTP newsgroup(s).