Re: DMA page allocation

Gilbert, Douglas (douglas.gilbert@rbcds.com)
Wed, 16 Jun 1999 17:13:56 -0400


This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_001_01BEB83D.25744DDA
Content-Type: text/plain;
charset="iso-8859-1"

Jaroslav wrote:

> I'm really tired with the chronic problem of the linux kernel:
> DMA page allocation when the system memory size is far beyond 16MB.
> ALSA users (and OSS/Lite too) complain many times that the DMA buffer
> or a sound chip can't be allocated or it is too small, because the low
> 16MB memory is used with another things.
> [snip]

This seems like a really good idea and will help the
SCSI sub-system which suffers from the same "GFP_DMA"
problem as the sound sub-system.

The SCSI mid-level never knows when or if an ISA-based
adapter will be loaded as a module and hence makes _all_
of its kmalloc() calls with the GFP_DMA flag. Most of the
oopses from the SCSI sub-system reported on this list
can be traced back to this problem. Patches are with
Alan to do something more sensible than memset() after
kmalloc() returns NULL, but this proposed change should
make that a very rare event.

I will try it out and report how it goes.

Doug Gilbert

------_=_NextPart_001_01BEB83D.25744DDA
Content-Type: text/html;
charset="iso-8859-1"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
Re: DMA page allocation

Jaroslav wrote:

>   I'm really tired with the chronic problem of the linux kernel:
> DMA page allocation when the system memory size is far beyond 16MB.
> ALSA users (and OSS/Lite too) complain many times that the DMA buffer
> or a sound chip can't be allocated or it is too small, because the low
> 16MB memory is used with another things.
> [snip]

This seems like a really good idea and will help the
SCSI sub-system which suffers from the same "GFP_DMA"
problem as the sound sub-system.

The SCSI mid-level never knows when or if an ISA-based
adapter will be loaded as a module and hence makes _all_
of its kmalloc() calls with the GFP_DMA flag. Most of the
oopses from the SCSI sub-system reported on this list
can be traced back to this problem. Patches are with
Alan to do something more sensible than memset() after
kmalloc() returns NULL, but this proposed change should
make that a very rare event.

I will try it out and report how it goes.

Doug Gilbert

------_=_NextPart_001_01BEB83D.25744DDA--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/