More flexible DMA allocations

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

 



Hi,

The report of Jonathan Corbet from the Kernel Summit at [1] contains
the following sentences, without details:

«
The venerable DMA memory zone will go away, replaced by a more flexible
way of allocating memory which meets specific requirements.
»

What's exactly going to be done ?

I'm interested by this issue, because I faced some limitations with the
DMA memory zone thing back in 2004, that I reported on the linux-kernel
and linux-mips mailing lists [2].

To sum up the issue: I was porting the 2.6 linux kernel on a board with
a somewhat curious memory configuration. It had 256 Mb of RAM attached
to the processor memory controller, and another 128 Mb of RAM attached
to a Marvell chipset. The physical memory layout seen by the operating
system running was fixed : it saw the 256 Mb from addresses 0 to 256
Mb, and then the 128 Mb from addresses 256 to 384 Mb.

The Marvell chipset, amongst others, contained a Ethernet controller,
and if you wanted to DMA from/to it, you had to put the data in the 128
Mb of RAM attached to the the chipset. I was never able to find a
solution that would allow the SKB to be directly allocated from that
128 Mb region, and only from that region, so that they could be
directly DMA-able by the chipset.

So I went with an ugly solution: managing by hand those 128 Mb, and
copying back-and-forth the SKB between the 256 Mb and 128 Mb memories
upon transmission and reception of packets. Ugly.

So, when I saw that a more flexible way of allocating memory was in the
works, I immediatly wonder if it could solve the aforementionned issue.

Thanks!

Thomas

[1] http://lwn.net/Articles/248343/
[2] http://lkml.org/lkml/2004/9/28/36
-- 
PETAZZONI Thomas - thomas.petazzoni@xxxxxxxx 
http://{thomas,sos,kos}.enix.org - Jabber: thomas.petazzoni@xxxxxxxxx
http://{agenda,livret}dulibre.org - http://www.toulibre.org
Fingerprint : 0BE1 4CF3 CEA4 AC9D CC6E  1624 F653 CB30 98D3 F7A7

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux