From: Jeremy Fitzhardinge <jeremy@goop.org>
To: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: galak@kernel.crashing.org, hch@infradead.org,
linux-kernel@vger.kernel.org, mingo@elte.hu,
ian.campbell@citrix.com, beckyb@kernel.crashing.org
Subject: Re: [PATCH 4/7] swiotlb: Allow arch override of address_needs_mapping
Date: Wed, 08 Apr 2009 17:09:00 -0700 [thread overview]
Message-ID: <49DD3C9C.7060101@goop.org> (raw)
In-Reply-To: <20090409083752I.fujita.tomonori@lab.ntt.co.jp>
FUJITA Tomonori wrote:
> On Wed, 08 Apr 2009 16:16:17 -0700
> Jeremy Fitzhardinge <jeremy@goop.org> wrote:
>
>
>> FUJITA Tomonori wrote:
>>
>>>> Becky's patches of last week also added __weak annotations to
>>>> swiotlb_bus_to_virt, virt_to_bus and bus_to_phys; added the hwdev
>>>> parameter to swiotlb_bus_to_phys; and added a weak
>>>> swiotlb_arch_address_needs_mapping. I assume that was needed because
>>>> powerpc needs non-trivial implementations for those functions.
>>>>
>>>>
>>> Hmm, what she added are wrappers of virt_to_bus and bus_to_virt. We
>>> can remove these and directly use virt_to_bus and bus_to_virt.
>>>
>>>
>> In general those interfaces are deprecated. Are we un-deprecating
>> them? Or do you mean adding virt<->bus to dma_ops?
>>
>
> Hmm, these interfaces are wrong for drivers surely because they can't
> handle dma mapping properly. However, they are exactly what swiotlb
> needs (swiotlb doesn't need to care about dma mapping).
It needs to care about the mapping from phys to bus. On x86 they're
identical, but on powerpc there can be at least an offset between them.
> Until 2.6.28,
> swiotlb has used them. They are with IA64, X86_64 and PPC_32, I think.
>
Well, Becky's patches also added the hwdev argument to them, so
presumably the powerpc implementation needs that (different
devices/buses have differing views of physical memory, I guess).
> I'm not sure what you mean. And I don't think ppc wants swiotlb_alloc.
>
No, its something we need for Xen. I was thinking that swiotlb could
allocate its memory with dma_alloc_coherent(NULL, size, ...). That
would allocate via x86_fallback_device, which would not have the right
behaviour (it would set GFP_DMA, for a start), and would end up hitting
the uninitialized dma_ops. So the idea doesn't really work; it would
need swiotlb to define another placeholder device who's alloc_coherent
operation could be overridden, and it all gets pretty ugly.
As an aside, I'm also wondering why there's a distinction between
swiotlb_alloc() and swiotlb_alloc_boot(). The latter allocates from
bootmem, but I don't see what's wrong with allocating from slab a little
bit later, once it has been initialized. The comment mentions something
about allocating ISA DMA memory, but the code doesn't make any attempt
to allocate the buffer below 16MB (its generally much larger than 16MB
anyway).
J
next prev parent reply other threads:[~2009-04-09 0:09 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-08 14:09 [PATCH V3 0/7] swiotlb: changes for powerpc/highmem Kumar Gala
2009-04-08 14:09 ` [PATCH 1/7] swiotlb: comment corrections (no code changes) Kumar Gala
2009-04-08 14:09 ` [PATCH 2/7] swiotlb: fix compile warning Kumar Gala
2009-04-08 14:09 ` [PATCH 3/7] swiotlb: map_page fix for highmem systems Kumar Gala
2009-04-08 14:09 ` [PATCH 4/7] swiotlb: Allow arch override of address_needs_mapping Kumar Gala
2009-04-08 14:09 ` [PATCH 5/7] swiotlb: Rename unmap_single to do_unmap_single Kumar Gala
2009-04-08 14:09 ` [PATCH 6/7] swiotlb: Use swiotlb_sync_single instead of duplicating code Kumar Gala
2009-04-08 14:09 ` [PATCH 7/7] swiotlb: Change swiotlb_bus_to[phys,virt] prototypes Kumar Gala
2009-04-08 15:25 ` [tip:core/iommu] swiotlb: change " Becky Bruce
2009-04-08 15:25 ` [tip:core/iommu] swiotlb: use swiotlb_sync_single instead of duplicating code Becky Bruce
2009-04-08 15:25 ` [tip:core/iommu] swiotlb: rename unmap_single to do_unmap_single Becky Bruce
2009-04-08 15:25 ` [tip:core/iommu] swiotlb: allow arch override of address_needs_mapping Becky Bruce
2009-04-08 20:38 ` [PATCH 4/7] swiotlb: Allow " Christoph Hellwig
2009-04-08 20:56 ` Kumar Gala
2009-04-08 21:15 ` FUJITA Tomonori
2009-04-08 21:55 ` Jeremy Fitzhardinge
2009-04-08 22:10 ` FUJITA Tomonori
2009-04-08 22:36 ` Jeremy Fitzhardinge
2009-04-08 23:01 ` FUJITA Tomonori
2009-04-08 23:16 ` Jeremy Fitzhardinge
2009-04-08 23:37 ` FUJITA Tomonori
2009-04-09 0:09 ` Jeremy Fitzhardinge [this message]
2009-04-09 4:43 ` Kumar Gala
2009-04-09 18:34 ` FUJITA Tomonori
2009-04-09 19:19 ` Jeremy Fitzhardinge
2009-04-09 19:43 ` FUJITA Tomonori
2009-04-09 19:50 ` FUJITA Tomonori
2009-04-09 19:54 ` Jeremy Fitzhardinge
2009-04-09 4:59 ` Kumar Gala
2009-04-09 18:50 ` FUJITA Tomonori
2009-04-09 20:10 ` Kumar Gala
2009-04-09 20:25 ` Kumar Gala
2009-04-08 22:24 ` Christoph Hellwig
2009-04-08 15:24 ` [tip:core/iommu] swiotlb: map_page fix for highmem systems Becky Bruce
2009-04-08 15:24 ` [tip:core/iommu] swiotlb: fix compile warning Becky Bruce
2009-04-08 15:24 ` [tip:core/iommu] swiotlb: comment corrections Becky Bruce
2009-04-08 14:21 ` [PATCH V3 0/7] swiotlb: changes for powerpc/highmem Ingo Molnar
-- strict thread matches above, loose matches on Subject: below --
2009-04-04 1:56 [PATCH V2 " Becky Bruce
2009-04-04 1:56 ` [PATCH 1/7] swiotlb: comment corrections (no code changes) Becky Bruce
2009-04-04 1:56 ` [PATCH 2/7] swiotlb: fix compile warning Becky Bruce
2009-04-04 1:56 ` [PATCH 3/7] swiotlb: map_page fix for highmem systems Becky Bruce
2009-04-04 1:56 ` [PATCH 4/7] swiotlb: Allow arch override of address_needs_mapping Becky Bruce
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=49DD3C9C.7060101@goop.org \
--to=jeremy@goop.org \
--cc=beckyb@kernel.crashing.org \
--cc=fujita.tomonori@lab.ntt.co.jp \
--cc=galak@kernel.crashing.org \
--cc=hch@infradead.org \
--cc=ian.campbell@citrix.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
/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