Re: [PATCH]: PCI: GART iommu alignment fixes [v2]

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Prarit Bhargava
Date: Friday, August 8, 2008 - 8:18 am

Muli Ben-Yehuda wrote:

Muli -- I just ran tests on an IBM system with a Calgary iommu that Ed 
Pollard pointed me at.

dma_ops_alloc_addresses() does not have the option to return 
size-aligned values.  This means that 
pci_alloc_consistent()/dma_alloc_coherent() will return unaligned values 
to callers when the lower 4G of memory not available.

Additionally, a quick test shows that in dma_ops_alloc_addresses()

        boundary_size = ALIGN(dma_get_seg_boundary(dev) + 1,
                        PAGE_SIZE) >> PAGE_SHIFT;

may return 0 in the same manner I've been pointing out -- if 
dma_get_seg_boundary(dev) returns 0xffffffff and 1 is added to that 
result, boundary_size = 0.  Then you BUG() in the iommu-helper code.

Jesse pointed out to me that my fix on that line is incorrect.  _If_ 
this is not a compiler issue (I've emailed jakub privately and cc'd him 
on this email) then a better fix would be to do (sorry for the 
cut-and-paste):

--- a/include/linux/dma-mapping.h
+++ b/include/linux/dma-mapping.h
@@ -78,7 +78,7 @@ static inline unsigned int dma_set_max_seg_size(struct 
device
 static inline unsigned long dma_get_seg_boundary(struct device *dev)
 {
        return dev->dma_parms ?
-               dev->dma_parms->segment_boundary_mask : 0xffffffff;
+               dev->dma_parms->segment_boundary_mask : 0xffffffffUL;
 }
 
However, I'm still waiting for clarification from jakub before 
submitting again with that chunk.

P.


--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH]: PCI: GART iommu alignment fixes [v2], Prarit Bhargava, (Wed Jul 23, 4:19 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Joerg Roedel, (Wed Jul 23, 3:10 pm)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], FUJITA Tomonori, (Wed Jul 23, 4:14 pm)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], FUJITA Tomonori, (Wed Jul 23, 4:23 pm)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Prarit Bhargava, (Wed Jul 23, 4:24 pm)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Prarit Bhargava, (Wed Jul 23, 4:47 pm)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Joerg Roedel, (Thu Jul 24, 12:46 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Prarit Bhargava, (Thu Jul 24, 3:09 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], FUJITA Tomonori, (Thu Jul 24, 3:34 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Joerg Roedel, (Thu Jul 24, 5:37 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Prarit Bhargava, (Thu Jul 24, 5:49 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], FUJITA Tomonori, (Thu Jul 24, 6:32 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Prarit Bhargava, (Thu Jul 24, 7:31 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], FUJITA Tomonori, (Thu Jul 24, 7:40 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Prarit Bhargava, (Thu Jul 24, 7:45 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Prarit Bhargava, (Thu Jul 24, 8:13 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Jesse Barnes, (Mon Jul 28, 3:23 pm)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Prarit Bhargava, (Tue Jul 29, 7:24 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Jesse Barnes, (Tue Jul 29, 10:08 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], FUJITA Tomonori, (Tue Jul 29, 5:43 pm)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Prarit Bhargava, (Wed Aug 6, 5:29 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Prarit Bhargava, (Wed Aug 6, 6:23 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], FUJITA Tomonori, (Wed Aug 6, 6:35 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Prarit Bhargava, (Wed Aug 6, 7:32 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Jesse Barnes, (Thu Aug 7, 10:03 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Prarit Bhargava, (Thu Aug 7, 10:41 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Prarit Bhargava, (Thu Aug 7, 10:45 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Muli Ben-Yehuda, (Fri Aug 8, 12:12 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Prarit Bhargava, (Fri Aug 8, 8:18 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Jesse Barnes, (Fri Aug 8, 9:15 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], FUJITA Tomonori, (Fri Aug 8, 2:13 pm)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Prarit Bhargava, (Fri Aug 8, 6:40 pm)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], FUJITA Tomonori, (Fri Aug 8, 8:50 pm)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Ingo Molnar, (Fri Aug 15, 9:16 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Ingo Molnar, (Fri Aug 15, 11:00 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Prarit Bhargava, (Fri Aug 15, 1:39 pm)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Ingo Molnar, (Fri Aug 15, 2:20 pm)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], FUJITA Tomonori, (Fri Aug 15, 6:15 pm)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Ingo Molnar, (Sun Aug 17, 5:56 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], FUJITA Tomonori, (Sun Aug 17, 8:36 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], Ingo Molnar, (Sun Aug 17, 8:42 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], FUJITA Tomonori, (Sun Aug 17, 8:48 am)
Re: [PATCH]: PCI: GART iommu alignment fixes [v2], FUJITA Tomonori, (Sun Aug 17, 8:54 am)