Re: GFP_DMA use in SCSI midlayer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sunday 01 October 2006 22:40, James Bottomley wrote:
> On Sun, 2006-10-01 at 22:13 +0200, Andi Kleen wrote:
> > GFP_DMA in general is deprecated and should be replaced by appropiate
> > dma_alloc_coherent()
> 
> Um, no it shouldn't
> 
> All of the places where we use GFP_DMA are because we might be
> addressing an ISA card or other strange mask limited card (gated usually
> by unchecked_isa_dma).  

This means the majority of drivers will never use it? I don't 
claim to be a SCSI expert, but a lot of uses looked unchecked
to me from a quick look. That is very worrying because it's
only 16MB on x86 and 16MB run out quickly.

If it's never used I don't care that much, but it certainly
doesn't look like that.

Or do you only need it because pci_map_single() on i386 doesn't
do bouncing?  If yes we can probably fix that.

> However, what is wanted in every case is 
> ordinary memory, not coherent memory.  They can't simply be replaced
> with dma_alloc_coherent because
> 
> a) it will waste memory for platforms that only do it in page size
> multiples
> b) It will fail on platforms that can't do it at all.

GFP_DMA will also fail on a lot of platforms, so it's the same.

> Coherent memory is really only for device drivers to use in mailboxes
> and shared ring buffers.

Maybe we need a new interface then with a mask. The plan is anyways
get rid of GFP_DMA completely because it has lots of problems. And 
any user should declare the mask it really needs.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux