Re: use of alloc_bootmem for a PCI-e device

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

 



On Nov 23, 2011, at 14:31, Michal Nazarewicz wrote:
One trick that you might try to use (even though it's a bit hackish) is to
pass ram=### on Linux command line where the number passed is actual memory
minus size of the buffer you need.  Other then that, you might take a look
at CMA (CMAv17 it was sent last week or so to linux-mm) which in one of the
initialisation steps needs to grab memory regions.

On Wed, 23 Nov 2011 22:21:15 +0100, Jean-Francois Dagenais <jeff.dagenais@xxxxxxxxx> wrote:
Looks like it can do what I want. Are there any mainline merge plans?

There are plans...  Execution is uncertain. ;)

Unless I am mistaken, because of SWIOTLB, only x86_32 is supported, correct?

Since I want to allocate the buffer once at startup, then keep it until shutdown,
can you suggest a simpler, less flexible alternative?

Oh no, I wouldn't recommend using the full CMA for your purpose, but no matter
there is a piece of code that does what you need.  Marek has added support for
Intel so it should work for you as well, even though I have had a chance to
run that piece yet.

You are interested in parts of patch 8[1] (namely dma_declare_contiguous()
function) and the last hunk of patch 9[2] (namely the part where
dma_contiguous_reserve() is called).

[1] http://article.gmane.org/gmane.linux.kernel.mm/70321
[2] http://article.gmane.org/gmane.linux.kernel.mm/70318

--
Best regards,                                         _     _
.o. | Liege of Serenely Enlightened Majesty of      o' \,=./ `o
..o | Computer Science,  Michał “mina86” Nazarewicz    (o o)
ooo +----<email/xmpp: mpn@xxxxxxxxxx>--------------ooO--(_)--Ooo--

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]