From: Ming Lei <tom.leiming@gmail.com>
To: Markus Trippelsdorf <markus@trippelsdorf.de>
Cc: Mike Snitzer <snitzer@redhat.com>, Hannes Reinecke <hare@suse.de>,
Jens Axboe <axboe@fb.com>,
linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
Christoph Hellwig <hch@lst.de>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
Ewan Milne <emilne@redhat.com>, Jeff Moyer <jmoyer@redhat.com>,
Ming Lei <tom.leiming@gmail.com>
Subject: Re: block: Always check queue limits for cloned requests
Date: Mon, 30 Nov 2015 14:11:41 +0800 [thread overview]
Message-ID: <20151130141141.6ce3fadb@tom-T450> (raw)
In-Reply-To: <20151129170506.GB302@x4>
On Sun, 29 Nov 2015 18:05:06 +0100
Markus Trippelsdorf <markus@trippelsdorf.de> wrote:
> On 2015.11.29 at 11:49 -0500, Mike Snitzer wrote:
> > On Sun, Nov 29 2015 at 11:15am -0500,
> > Markus Trippelsdorf <markus@trippelsdorf.de> wrote:
> >
> > > On 2015.11.29 at 16:43 +0100, Hannes Reinecke wrote:
> > > > On 11/29/2015 12:49 PM, Markus Trippelsdorf wrote:
> > > > >
> > > > > I'm still seeing the issue (BUG at drivers/scsi/scsi_lib.c:1096!) even
> > > > > with this patch applied.
> > > > >
> > > > > markus@x4 linux % git describe
> > > > > v4.4-rc2-215-g081f3698e606
> > > > >
> > > > Can you generate a crashdump?
> > > > I would need to cross-check with the other dumps I'm having to figure
> > > > out if this really is the same issue.
> > > > There have been other reports (and fixes) which show we're fighting
> > > > several distinct issues here.
> > >
> > > Unfortunately no. The crash happens on the disk where I store my log
> > > files. And after it happened the magic SysRq keys don't work anymore.
> > >
> > > The crash only happens on my spinning rust drive that uses the cfq
> > > scheduler. The SSDs (deadline) are fine.
> > >
> > > The BUG happens reproducibly when building http://www.sagemath.org/ on
> > > that drive.
> >
> > Are you using DM multipath? If unsure, please let us know which
> > device(s) map to the "spinning rust drive", and provide output from:
> > lsblk
>
> No, I'm not using DM multipath.
OK, I guess it is still one block merge issue, care to test the
following patch?
The patch can address one issue when bio->bi_seg_front_size
is set as too small mistakenly, then fewer physical segment may
be figured out.
---
>From 7aa725205f400ee6823a0d19bf9f41a2464725ce Mon Sep 17 00:00:00 2001
From: Ming Lei <ming.lei@canonical.com>
Date: Mon, 30 Nov 2015 13:10:12 +0800
Subject: [PATCH] blk-merge: fix computing bio->bi_seg_front_size in case of
single segment
When bio has only one physical segment, we should set bio's
bi_seg_front_size as the real(final) size of the single segment.
Fixes: 02e707424c2ea(blk-merge: fix blk_bio_segment_split)
Reported-by: Markus Trippelsdorf <markus@trippelsdorf.de>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
---
block/blk-merge.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/block/blk-merge.c b/block/blk-merge.c
index 41a55ba..e01405a 100644
--- a/block/blk-merge.c
+++ b/block/blk-merge.c
@@ -103,6 +103,9 @@ static struct bio *blk_bio_segment_split(struct request_queue *q,
bvprv = bv;
bvprvp = &bvprv;
sectors += bv.bv_len >> 9;
+
+ if (nsegs == 1 && seg_size > front_seg_size)
+ front_seg_size = seg_size;
continue;
}
new_segment:
--
1.9.1
next prev parent reply other threads:[~2015-11-30 6:11 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-26 7:46 [PATCH] block: Always check queue limits for cloned requests Hannes Reinecke
2015-11-26 13:11 ` Mike Snitzer
2015-11-29 11:49 ` Markus Trippelsdorf
2015-11-29 15:43 ` Hannes Reinecke
2015-11-29 16:15 ` Markus Trippelsdorf
2015-11-29 16:49 ` Mike Snitzer
2015-11-29 17:05 ` Markus Trippelsdorf
2015-11-30 6:11 ` Ming Lei [this message]
2015-11-30 7:12 ` Markus Trippelsdorf
2015-11-30 6:47 ` Hannes Reinecke
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=20151130141141.6ce3fadb@tom-T450 \
--to=tom.leiming@gmail.com \
--cc=axboe@fb.com \
--cc=emilne@redhat.com \
--cc=hare@suse.de \
--cc=hch@lst.de \
--cc=jmoyer@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=markus@trippelsdorf.de \
--cc=martin.petersen@oracle.com \
--cc=snitzer@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.