From: Mikulas Patocka <mpatocka@redhat.com>
To: David Miller <davem@davemloft.net>
Cc: fujita.tomonori@lab.ntt.co.jp, sparclinux@vger.kernel.org,
linux-kernel@vger.kernel.org, jens.axboe@oracle.com
Subject: Re: [SUGGESTION]: drop virtual merge accounting in I/O requests
Date: Fri, 11 Jul 2008 16:22:16 -0400 (EDT) [thread overview]
Message-ID: <Pine.LNX.4.64.0807111612270.8297@devserv.devel.redhat.com> (raw)
In-Reply-To: <20080711.124152.247767508.davem@davemloft.net>
On Fri, 11 Jul 2008, David Miller wrote:
> From: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
> Date: Fri, 11 Jul 2008 20:15:52 +0900
>
>> On Fri, 11 Jul 2008 06:52:09 -0400 (EDT)
>> Mikulas Patocka <mpatocka@redhat.com> wrote:
>>
>>> On Fri, 11 Jul 2008, FUJITA Tomonori wrote:
>>>
>>>> Yeah, IOMMUs can't guarantee that. The majority of architectures set
>>>> BIO_VMERGE_BOUNDARY to 0 so they don't hit this, I think.
>>>
>>> Yes, the architectures without IOMMU don't hit this problem.
>>
>> I meant that even if some architectures support IOMMUs, they set
>> BIO_VMERGE_BOUNDARY to 0.
>
> Keep in mind that these settings were added long before
> we supported segment boundary restrictions.
>
> Someone added code to handle segment boundaries, but didn't
> fix any of the block I/O layer infrastructure :-)
>
> Several platforms that have IOMMU but set these values to zero
> actually did so for another reason. They considered being
> required to always merge page-adjacent mappings virtually too
> strong a requirement to meet %100 of the time.
It is broken on Sparc64 even without boundary restrictions --- if you skip
over already allocated entry in IOMMU table, you don't merge too.
I'd just drop it, because these requirements seem to me too brittle to
maintain. It is too easy to make bug here and too hard to check for it.
Basically there are few independent code parts (I/O layer and
arch-specific IOMMUs) that are attempting to do the same calculation and
if they differ, the driver will crash. Even if we managed to fix it,
someone will likely break it again after year or two :-(
Would it mean that nr_hw_segments entry in bio and request could be
dropped too? Or is it used for some other purpose?
BTW.: what's the reason that by default (without any driver intervention)
device DMA is restricted to cross 64k boundary?
Mikulas
next prev parent reply other threads:[~2008-07-11 20:23 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-10 21:56 Mikulas Patocka
2008-07-10 22:59 ` Julian Calaby
2008-07-10 23:57 ` Mikulas Patocka
2008-07-11 6:20 ` FUJITA Tomonori
2008-07-11 10:52 ` Mikulas Patocka
2008-07-11 11:15 ` FUJITA Tomonori
2008-07-11 19:41 ` David Miller
2008-07-11 20:22 ` Mikulas Patocka [this message]
2008-07-12 12:30 ` Andi Kleen
2008-07-13 13:34 ` Mikulas Patocka
2008-07-13 13:50 ` Andi Kleen
2008-07-13 19:46 ` David Miller
2008-07-13 20:13 ` Andi Kleen
2008-07-13 23:53 ` Mikulas Patocka
2008-07-14 0:48 ` David Miller
2008-07-14 12:16 ` Mikulas Patocka
2008-07-14 12:28 ` David Miller
2008-07-14 14:03 ` Mikulas Patocka
2008-07-14 21:37 ` David Miller
2008-07-14 23:16 ` Mikulas Patocka
2008-07-15 1:31 ` David Miller
2008-07-15 22:32 ` Mikulas Patocka
2008-07-15 22:37 ` David Miller
2008-07-15 22:59 ` Mikulas Patocka
2008-07-15 2:40 ` FUJITA Tomonori
2008-07-14 0:41 ` David Miller
2008-07-14 2:19 ` FUJITA Tomonori
2008-07-14 3:20 ` David Miller
2008-07-14 17:45 ` FUJITA Tomonori
2008-07-14 21:26 ` Mikulas Patocka
2008-07-15 2:40 ` FUJITA Tomonori
2008-07-15 12:09 ` Mikulas Patocka
2008-07-15 12:15 ` Andi Kleen
2008-07-15 13:16 ` Mikulas Patocka
2008-07-15 14:06 ` Andi Kleen
2008-07-15 12:19 ` FUJITA Tomonori
2008-07-16 3:10 ` David Miller
2008-07-16 4:38 ` FUJITA Tomonori
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=Pine.LNX.4.64.0807111612270.8297@devserv.devel.redhat.com \
--to=mpatocka@redhat.com \
--cc=davem@davemloft.net \
--cc=fujita.tomonori@lab.ntt.co.jp \
--cc=jens.axboe@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=sparclinux@vger.kernel.org \
/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
all inboxes | Powered by JetHome®