Messages in this thread | | | Date | Tue, 9 Apr 2019 19:26:52 +0200 | From | Christoph Hellwig <> | Subject | Re: [PATCH 09/21] dma-iommu: refactor iommu_dma_get_sgtable |
| |
On Tue, Apr 09, 2019 at 04:49:30PM +0100, Robin Murphy wrote: >> *cpu_addr, >> + size_t size) >> +{ >> + unsigned int count = PAGE_ALIGN(size) >> PAGE_SHIFT; >> + struct vm_struct *area = find_vm_area(cpu_addr); >> + >> + if (WARN_ON(!area || !area->pages)) >> + return -ENXIO; >> + return sg_alloc_table_from_pages(sgt, area->pages, count, 0, size, >> + GFP_KERNEL); >> +} >> + > > Is this complex enough to deserve being broken out? Really I'd prefer to > keep get_sgtable() as small and consolidated as possible so that it's that > much easier to delete in future :)
Well, it is logically separate, and this keeps it tidy. But I agree with the long term goal of killing off this awkward API that should never have been added.
> > I guess there is a certain symmetry with mmap(), so if that's the angle > you're dead set on, could we at least keep this guy down where > __iommu_dma_get_sgtable_page() was?
It is up there so that we can reduce the number of ifdef blocks for dma remapping later on.
| |