From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
To: Tejun Heo <tj@kernel.org>
Cc: linux-ide@vger.kernel.org, vladimir.barinov@cogentembedded.com
Subject: Re: [PATCH v3 1/4] libata: add R-Car SATA driver
Date: Tue, 28 May 2013 16:19:26 +0400 [thread overview]
Message-ID: <51A4A0CE.9030203@cogentembedded.com> (raw)
In-Reply-To: <20130528000901.GA18219@mtj.dyndns.org>
On 28-05-2013 4:09, Tejun Heo wrote:
>>> Yeah, that's exactly where I'm confused. ATA_DMA_BOUNDARY is 64k
>>> which becomes both queue_segment_boundary and dma seg_boundary.
>>> AFAICS, both __blk_segment_map_sg() and dma mapping won't merge across
>>> seg_boundary and as each bvec is a single page at most, we shouldn't
>>> need to worry about getting sg's which cross 64k boundaries in bmdma
>>> controllers. Hmmmmm...... I gotta be missing something. What am I
>>> missing here?
>> Probably nothing... maybe Jeff just copied that from ATADRVR
>> (which was his inspiration IIRC).
Maybe we should ask him instead of guessing. :-)
> Yeah, maybe. I can't find any reason why ata_bmdma_fill_sg() would
> need to worry about 64k boundary. The dumb variant is putting an
> extra restriction on it but the plain one doesn't seem to be adding
> anything. Would you be interested in submitting a patch to remove
> those?
Hm, at least not right now. I'm too busy.
>> BTW, I've just done some experimentation with my R-Car target
>> and ATA_DEBUG/ATA_VERBOSE_DEBUG #define'd and it turned out
>> that block layer didn't merge any segments at all... :-/
> Even the ones with contiguous physical addresses?
Exactly. All DMA segments were 4K in size, regardless of whether
the addresses were adjacent or not.
> It could just be
> that the physical pages are disjoint as we don't really do anything to
> allocate pages contiguously and iommus don't kick in / merge unless
> necessary (it's not like modern hardware struggle with sglists
> anyway), so it could just be that there's nothing to merge.
There were mergeable segments, for sure.
> Thanks.
MBR, Sergei
prev parent reply other threads:[~2013-05-28 12:19 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-20 20:10 [PATCH v3 1/4] libata: add R-Car SATA driver Sergei Shtylyov
2013-05-24 23:12 ` Sergei Shtylyov
2013-05-25 23:16 ` Sergei Shtylyov
2013-05-25 23:20 ` Tejun Heo
2013-05-25 23:23 ` Tejun Heo
2013-05-25 23:34 ` Sergei Shtylyov
2013-05-26 0:23 ` Tejun Heo
2013-05-27 20:32 ` Sergei Shtylyov
2013-05-28 0:09 ` Tejun Heo
2013-05-28 12:19 ` Sergei Shtylyov [this message]
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=51A4A0CE.9030203@cogentembedded.com \
--to=sergei.shtylyov@cogentembedded.com \
--cc=linux-ide@vger.kernel.org \
--cc=tj@kernel.org \
--cc=vladimir.barinov@cogentembedded.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.