From: Jens Axboe <axboe@suse.de>
To: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
Cc: martin@dalecki.de, Stephen Lord <lord@sgi.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: A new ide warning message
Date: Fri, 2 Aug 2002 18:11:18 +0200 [thread overview]
Message-ID: <20020802161118.GU3010@suse.de> (raw)
In-Reply-To: <Pine.SOL.4.30.0208021625020.3612-100000@mion.elka.pw.edu.pl>
On Fri, Aug 02 2002, Bartlomiej Zolnierkiewicz wrote:
>
> On Fri, 2 Aug 2002, Jens Axboe wrote:
>
> > On Fri, Aug 02 2002, Bartlomiej Zolnierkiewicz wrote:
> > >
> > > On Fri, 2 Aug 2002, Jens Axboe wrote:
> > >
> > > > On Fri, Aug 02 2002, Jens Axboe wrote:
> > > > > On Fri, Aug 02 2002, Marcin Dalecki wrote:
> > > > > > U?ytkownik Stephen Lord napisa?:
> > > > > > >In 2.5.30 I started getting these warning messages out ide during
> > > > > > >the mount of an XFS filesystem:
> > > > > > >
> > > > > > >ide-dma: received 1 phys segments, build 2
> > > > > > >
> > > > > > >Can anyone translate that into English please.
> > > > > >
> > > > > > It can be found in pcidma.c.
> > > > > > It is repoting that we have one physical segment needed by
> > > > > > the request in question but the sctter gather list allocation
> > > > > > needed to break it up for mapping in two.
> > > > >
> > > > > You don't seem to realise that this is a BUG (somewhere, could even be
> > > > > in the generic mapping functions)! blk_rq_map_sg() must never map a
> > > > > request to more entries that rq->nr_segments, that's just very wrong.
> > > > >
> > > > > That's why I'm suspecting the recent pcidma changes. Just a feeling, I
> > > > > have not looked at them.
> > > >
> > > > I'll take that back. Having looked at Adam's changes there are perfectly
> > > > fine. I'm now putting my money on IDE breakage somewhere instead. It
> > >
> > > Look again Jens. Adam's changes made IDE queue handling inconsistent.
> > > hint: 2 * 127 != 255
> > >
> > > But noticed warning deals with design of ll_rw_blk.c. ;-)
> > > (right now max_segment_size have to be max bv->bv_len aligned)
> >
> > Yeah that's true, actually was just saying that on linux-scsi
> > yesterday/today.
>
> :-)
>
> > > Jens, please look at segment checking/counting code, it does it on
> > > bv->bv_len (4kb most likely) not sector granuality...
> > >
> > > So for not 4kb aligned max_segment_size we will get new segment...
> > >
> > > Best fix will be to make block layer count sectors not bv->bv_len...
> >
> > Well I'm inclined to just make that page size granularity. It's like
> > that in 2.4 as well (no guarentees that we will honor anything less than
> > that granularity).
>
> Anyway it must be also something diffirent - __make_request() should have
> noticed that rq has 2 segments not 1... this puzzles me a bit.
Well yes, that's the whole bug this thread is about, and the puzzling
bit as you say :-)
I haven't even had time to look at Stephen's dump yet, one thing that
did stand out immediately was that phys_segments was 1 even for the big
16 segment requests, which should not be with < 64k max segment size. It
should indeed have been one. So it looks like a one-off or something in
the generic dma mappers.
Steve, make BIO_MAX_SECTORS 4k smaller for now and it should work. I
think.
> This case also shows limits of BIO_MAX_SECTORS again (Adam worked on
> generic solution, but I don't know current state). There some devices
> which set q->max_sectors to 64, i.e. broken ide-floppy driver ;-)
I have code ready for this, I'll share starting next week. Need to
finish lots of other stuff too :/
--
Jens Axboe
next prev parent reply other threads:[~2002-08-02 16:08 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-08-02 11:34 A new ide warning message Stephen Lord
2002-08-02 11:38 ` Marcin Dalecki
2002-08-02 11:53 ` Jens Axboe
2002-08-02 11:59 ` Jens Axboe
2002-08-02 13:47 ` Bartlomiej Zolnierkiewicz
2002-08-02 14:20 ` Jens Axboe
2002-08-02 16:01 ` Bartlomiej Zolnierkiewicz
2002-08-02 16:11 ` Jens Axboe [this message]
2002-08-03 18:41 ` Marcin Dalecki
2002-08-02 11:47 ` Jens Axboe
2002-08-02 11:48 ` Marcin Dalecki
2002-08-02 11:55 ` Jens Axboe
2002-08-02 12:05 ` Stephen Lord
2002-08-02 12:12 ` Marcin Dalecki
2002-08-02 12:30 ` Jens Axboe
2002-08-02 12:31 ` Marcin Dalecki
2002-08-02 12:41 ` Jens Axboe
2002-08-02 13:50 ` Steve Lord
2002-08-02 18:34 ` Bartlomiej Zolnierkiewicz
-- strict thread matches above, loose matches on Subject: below --
2002-08-03 3:28 Adam J. Richter
2002-08-03 3:32 Adam J. Richter
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=20020802161118.GU3010@suse.de \
--to=axboe@suse.de \
--cc=B.Zolnierkiewicz@elka.pw.edu.pl \
--cc=linux-kernel@vger.kernel.org \
--cc=lord@sgi.com \
--cc=martin@dalecki.de \
/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.