linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Kent Overstreet <koverstreet@google.com>
Cc: linux-bcache@vger.kernel.org, linux-kernel@vger.kernel.org,
	dm-devel@redhat.com, vgoyal@redhat.com, mpatocka@redhat.com,
	bharrosh@panasas.com, Jens Axboe <axboe@kernel.dk>,
	NeilBrown <neilb@suse.de>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	Peter Osterlund <petero2@telia.com>, Sage Weil <sage@inktank.com>,
	"Martin K. Petersen" <martin.petersen@oracle.com>
Subject: Re: [PATCH v6 11/13] block: Rework bio_pair_split()
Date: Fri, 24 Aug 2012 13:53:03 -0700	[thread overview]
Message-ID: <20120824205303.GI21325@google.com> (raw)
In-Reply-To: <20120824103049.GG11977@moria.home.lan>

Hello,

On Fri, Aug 24, 2012 at 03:30:49AM -0700, Kent Overstreet wrote:
> > I complained about this in the last posting and in the previous patch.
> > Please respond.  Martin, are you okay with these integrity changes?
> 
> I did respond. I said more before, but in short the old
> bio_integrity_split() only worked for single page bios, and thus wasn't
> useful even as a starting point.
> 
> What my bio_split() does with the integrity is actually basically what
> dm does (that's the only other place bio_integrity_trim()) is used).

And all those information should be in the patch description.  Imagine
this patch hitting some enterprise deployment, say four years after
now, and causing weird performance regression and someone succeeding
to bisect it down to this commit.  None of us would be remembering
much about this and could in fact be doing something completely
different.  Patches should at least try to record its visible
implications.

This type of information should be always attached to the patch not
only for future references but also to alert reviewers who aren't
necessarily following the whole series and its iterations.

> > Also, given that it's a pair split, it would be nice to somehow
> > indicate that ->split is the earlier half.  Before this change it was
> > pretty clear with ->bio1/2.
> 
> Fixed the comment to indicate that too.

Any chance we can do that with field name?

> commit 5db0562e43099d06ed9488e7ae6bf0a0cc6ef5da
> Author: Kent Overstreet <koverstreet@google.com>
> Date:   Fri Aug 24 03:27:24 2012 -0700
> 
>     block: Rework bio_pair_split()
>     
>     This changes bio_pair_split() to use the new bio_split() underneath.
>     
>     This has two user visible changes: First, it's not restricted to single
>     page bios anymore. Secondly, where before callers used bio1 and bio2 in
>     struct bio_pair, now they use split and orig - this being a result of
>     the new implementation.
>     
>     bio_integrity_split() is removed, as the old bio_pair_split() was the
>     only user; the new bio_split() uses bio_integrity_clone/trim much like
>     the dm code does.

      "which may affect XXX in YYY cases but I think it's okay because ZZZ."

If you aren't that sure,

      "which may affect AAA but I don't think that's a big deal
       because BBB.  This definitely requires Martin's ack."

Thanks.

-- 
tejun

  reply	other threads:[~2012-08-24 20:53 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-22 17:03 [PATCH v6 00/13] Block cleanups Kent Overstreet
2012-08-22 17:03 ` [PATCH v6 01/13] block: Generalized bio pool freeing Kent Overstreet
2012-08-22 21:27   ` Nicholas A. Bellinger
2012-08-22 17:03 ` [PATCH v6 02/13] dm: Use bioset's front_pad for dm_rq_clone_bio_info Kent Overstreet
2012-08-22 18:32   ` Tejun Heo
2012-08-22 21:30   ` Vivek Goyal
2012-08-24  7:14     ` Kent Overstreet
2012-08-24 18:40       ` Vivek Goyal
2012-08-22 17:04 ` [PATCH v6 03/13] block: Add bio_reset() Kent Overstreet
2012-08-22 18:34   ` Tejun Heo
2012-08-22 19:51     ` Tejun Heo
2012-08-22 17:04 ` [PATCH v6 04/13] pktcdvd: Switch to bio_kmalloc() Kent Overstreet
2012-08-22 19:55   ` Tejun Heo
2012-08-28 23:19     ` Jiri Kosina
2012-08-29  4:35       ` Peter Osterlund
2012-09-03 16:15     ` Jiri Kosina
2012-08-22 17:04 ` [PATCH v6 05/13] block: Kill bi_destructor Kent Overstreet
2012-08-22 20:00   ` Tejun Heo
2012-08-24  5:09     ` Kent Overstreet
2012-08-22 17:04 ` [PATCH v6 06/13] block: Consolidate bio_alloc_bioset(), bio_kmalloc() Kent Overstreet
2012-08-22 20:17   ` Tejun Heo
2012-08-24  5:04     ` Kent Overstreet
2012-08-24 20:08       ` Tejun Heo
2012-08-22 17:04 ` [PATCH v6 07/13] block: Avoid deadlocks with bio allocation by stacking drivers Kent Overstreet
2012-08-22 20:30   ` Tejun Heo
2012-08-24  5:55     ` Kent Overstreet
2012-08-24 20:28       ` Tejun Heo
2012-08-22 17:04 ` [PATCH v6 08/13] block: Add an explicit bio flag for bios that own their bvec Kent Overstreet
2012-08-22 17:43   ` Adrian Bunk
2012-08-22 19:22     ` Kent Overstreet
2012-08-22 20:00       ` Adrian Bunk
2012-08-28 17:23         ` Kent Overstreet
2012-08-22 17:04 ` [PATCH v6 09/13] block: Rename bio_split() -> bio_pair_split() Kent Overstreet
2012-08-22 17:04 ` [PATCH v6 10/13] block: Introduce new bio_split() Kent Overstreet
2012-08-22 20:46   ` Tejun Heo
2012-08-22 17:04 ` [PATCH v6 11/13] block: Rework bio_pair_split() Kent Overstreet
2012-08-22 21:04   ` Tejun Heo
2012-08-24  2:25     ` Martin K. Petersen
2012-08-24 10:37       ` Kent Overstreet
2012-08-24 20:58       ` Tejun Heo
2012-08-24 10:30     ` Kent Overstreet
2012-08-24 20:53       ` Tejun Heo [this message]
2012-08-22 17:04 ` [PATCH v6 12/13] block: Add bio_clone_bioset(), bio_clone_kmalloc() Kent Overstreet
2012-08-22 17:13   ` Jeff Garzik
2012-08-22 21:07   ` Tejun Heo
2012-08-24  6:24     ` Kent Overstreet
2012-08-24 20:36       ` Tejun Heo
2012-08-22 17:04 ` [PATCH v6 13/13] block: Only clone bio vecs that are in use Kent Overstreet
2012-08-22 21:10   ` Tejun Heo
2012-08-24  7:05     ` Kent Overstreet
2012-08-24 20:42       ` Tejun Heo
2012-08-23 18:00 ` [PATCH v6 00/13] Block cleanups Vivek Goyal
2012-08-24 12:46   ` Kent Overstreet

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=20120824205303.GI21325@google.com \
    --to=tj@kernel.org \
    --cc=axboe@kernel.dk \
    --cc=bharrosh@panasas.com \
    --cc=dm-devel@redhat.com \
    --cc=koverstreet@google.com \
    --cc=lars.ellenberg@linbit.com \
    --cc=linux-bcache@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=mpatocka@redhat.com \
    --cc=neilb@suse.de \
    --cc=petero2@telia.com \
    --cc=sage@inktank.com \
    --cc=vgoyal@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 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).