[lkml]   [1999]   [Jan]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: kmalloc
> Date: Mon, 25 Jan 1999 22:49:58 +0200 (EET)
> From: Matti Aarnio <>
> I think we will be needing GFP_DMA32 soon.
> (And it will cause *massive* amounts of changes as practically all
> drivers will need touching...)
> DaveM can tell us how the large SPARC64 systems do it with their heaps
> of busses and address spaces.
> "Massive"? It's very simple to make it work:
> 1) Set include/asm/scatterlist.h:ISA_DMA_THRESHOLD and
> include/asm/dma.h:MAX_DMA_ADDRESS appropriately for your
> architecture.
> 2) For all SCSI drivers just have them set host->unchecked_isa_dma to 1
> 3) For all networking drivers, have them use GFP_DMA when allocating
> receive buffers and in the transmit code do something like:

It is really that easy to get things working, although the fastest solution
may be different. We plan to play IO page table tricks in 2.3 to see if
dynamic DMA allocation (already done on sun4c and sun4d) could be a win
there. Then the drivers just have to use some yet-to-be designed arch
independent interface to grab a DMA area and to release it later (sparc
drivers already use something like that, but it would be good to introduce
it as a generic interface which would just give the dma handle
and a nop on release when no grabbing/releasing is necessary (ie. in sparc64
case the address is either below 4GB-delta PA)).
We'll have to rethink the readl/... etc. interface in 2.3 anyway IMHO, so
such thing could be part of the new MMIO interface. (matroxfb is a good
example what problems are with current Linux arch independent interface
(if there actually is any)).

Jakub Jelinek | |
Administrator of SunSITE Czech Republic, MFF, Charles University
UltraLinux | |
Linux version 2.2.0-final on a sparc64 machine (3958.37 BogoMips)

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:50    [W:0.042 / U:13.060 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site