All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Snitzer <snitzer@redhat.com>
To: Mikulas Patocka <mpatocka@redhat.com>
Cc: dm-devel@redhat.com, "Alasdair G. Kergon" <agk@redhat.com>,
	Zdenek Kabelac <zkabelac@redhat.com>
Subject: Re: dm: reduce the number of processes per dm device
Date: Thu, 8 Oct 2015 16:15:30 -0400	[thread overview]
Message-ID: <20151008201530.GA12983@redhat.com> (raw)
In-Reply-To: <alpine.LRH.2.02.1510081553440.17984@file01.intranet.prod.int.rdu2.redhat.com>

On Thu, Oct 08 2015 at  3:59pm -0400,
Mikulas Patocka <mpatocka@redhat.com> wrote:

> 
> 
> On Thu, 8 Oct 2015, Mike Snitzer wrote:
> 
> > On Thu, Oct 08 2015 at 12:15pm -0400,
> > Mikulas Patocka <mpatocka@redhat.com> wrote:
> > 
> > > The patch 54efd50bfd873e2dbf784e0b21a8027ba4299a3e ("block: make
> > > generic_make_request handle arbitrarily sized bios") makes it possible for
> > > block devices to process large bios. The patch allocates a new bio set
> > > queue->bio_split for each device, this bio set is used for allocating bios
> > > when the driver needs to split large bios.
> > > 
> > > Each bio_set allocates a workqueue process, thus the above patch increases
> > > the number of processes allocated per block device.
> > > 
> > > Device mapper doesn't need the queue->bio_split bio_set, thus we can
> > > deallocate it. This reduces the number of allocated processes per
> > > dm-device from 3 to 2.
> > 
> > This header needs more context added, specifically we need to tell the
> > reader the answer to: why doesn't DM need queue->bio_split?
> 
> Dm doesn't need queue->bio_split because it has its own bioset md->bs. We 
> can't use queue->bio_split instead of md->bs because md->bs has non-zero 
> front pad depending on targets loaded in the table.

Sure but my point was that bio-based DM targets by definition aren't the
last device in a stack.
 
> > Is this a resource that only the lowest layer's request_queue would 
> > need? And given DM's stacking nature it doesn't need it simply because 
> > it'll never be the lowest layer?
> 
> All request-based drivers need queue->bio_split, but some non-dm bio-based 
> drivers need it too.

Not all request-based drivers right?  request-based DM (aka DM mpath)
shouldn't _need_ queue->bio_split either right?

  reply	other threads:[~2015-10-08 20:15 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-08 16:15 [PATCH] dm: reduce the number of processes per dm device Mikulas Patocka
2015-10-08 19:08 ` Mike Snitzer
2015-10-08 19:59   ` Mikulas Patocka
2015-10-08 20:15     ` Mike Snitzer [this message]
2015-10-08 20:29       ` Mikulas Patocka
2015-10-21 20:34 ` [PATCH v2] " Mikulas Patocka

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=20151008201530.GA12983@redhat.com \
    --to=snitzer@redhat.com \
    --cc=agk@redhat.com \
    --cc=dm-devel@redhat.com \
    --cc=mpatocka@redhat.com \
    --cc=zkabelac@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.