Messages in this thread | | | Date | Wed, 17 Dec 2008 08:31:43 -0800 | From | Jeremy Fitzhardinge <> | Subject | Re: [PATCH 00 of 14] swiotlb/x86: lay groundwork for xen dom0 use of swiotlb |
| |
FUJITA Tomonori wrote: > On Tue, 16 Dec 2008 21:35:13 +0100 > Ingo Molnar <mingo@elte.hu> wrote: > > >> * Jeremy Fitzhardinge <jeremy@goop.org> wrote: >> >> >>> Hi Ingo, >>> >>> Here's some patches to clean up swiotlb to prepare for some Xen dom0 >>> patches. These have been posted before, but undergone a round of >>> cleanups to address various comments. >>> >> applied to tip/core/iommu, thanks Jeremy. >> >> the only patch that seems to have the potential to break drivers is: >> >> be4ac7b: swiotlb: consistently use address_needs_mapping everywhere >> > > Yeah, as I already wrote, this patch is wrong. >
I'll have a look.
> I think that the whole patchset is against the swiotlb design. swiotlb > is designed to be used as a library. Each architecture implements the > own swiotlb by using swiotlb library > (e.g. arch/x86/kernel/pci-swiotlb_64.c). >
The whole patchset? The bulk of the changes to lib/swiotlb.c are relatively minor to remove the unwarranted assumptions it is making in the face of a new user. They will have no effect on other existing users, including non-Xen x86 builds.
If you have specific objections we can discuss those, but I don't think there's anything fundamentally wrong with making lib/swiotlb.c a bit more generically useful.
> For example, adding the following code (9/14) for just Xen that the > majority of swiotbl users (x86_64 and IA64) don't need to the library > is against the design. >
If the architecture doesn't support highmem then this code will compile to nothing - PageHighMem() will always evaluate to 0. It will therefore have zero effect on the code generated for IA64 or x86-64. This is not really a Xen-specific change, but a result of adding swiotlb support for i386. Other architectures which support a notion of highmem would also need this code if they wanted to use swiotlb.
J
| |