RE: [PATCH] powerpc:Fix rheap alignment problem
From: Li Yang-r58472 <hidden>
Date: 2006-07-03 06:49:35
Also in:
lkml
Buddy allocation is good in general, but doesn't mean it fits best in any condition. In this case for managing DPRAM/MURAM in Freescale soc, in most case we only put buffer descriptor in DPRAM. That means the alloc/free only occurs on initialization and unloading of the driver. So there are not supposed to be a lot of free operations. Buddy allocation will cause more internal fragment, in my humble opinion. And a free-list allocation is best fit in this case. Best Regards, Leo
-----Original Message----- From: linuxppc-dev-bounces+leoli=freescale.com@ozlabs.org [mailto:linuxppc-dev-bounces+leoli=freescale.com@ozlabs.org] On Behalf Of Pantelis Antoniou Sent: Sunday, July 02, 2006 1:18 PM To: Rune Torgersen Cc: linuxppc-dev list; Paul Mackerras; linux-kernel@vger.kernel.org Subject: Re: [PATCH] powerpc:Fix rheap alignment problem On Sunday 02 July 2006 06:54, Rune Torgersen wrote:quoted
From: Pantelis Antoniou Sent: Sat 7/1/2006 9:50 AMquoted
Since genalloc is the blessed linux thing it might be best to use that &removequoted
quoted
rheap completely. Oh well...Two problems with genalloc that I can see (for CPM programming): 1) (minor) Does not have a way to specify alignment (genalloc does it foryou)quoted
2) (major problerm, at least for me) Does not have a way to allocate a specifiedaddress in the pool.quoted
2 is needed esp when programming MCC drivers, since a lot of the datastructuresmust be in DP RAM _and_ be in a specific spot. And if you cannot tell the allocator that I am using a specific address, then the allocator might very well give somebody else that portion of RAM. The only solution without a fixed allocator is to allocate ALL memory in the DP RAM and use your own allocator.quoted
Yeah, that too. Too bad there are no main tree drivers like that, but they do exist. One could conceivably hack genalloc to do that, but will end up with something complex too. BTW, there are other uEngine based architectures with similar alignment requirements. So in conclusion, for the in-tree drivers genalloc is sufficient as an cpm memory allocator. For some out of tree drivers, it is not. Pantelis _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev