Messages in this thread | | | From | Li Yang-r58472 <> | Subject | RE: [PATCH] powerpc:Fix rheap alignment problem | Date | Mon, 3 Jul 2006 14:49:26 +0800 |
| |
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: > > From: Pantelis Antoniou > > Sent: Sat 7/1/2006 9:50 AM > > >Since genalloc is the blessed linux thing it might be best to use that & > remove > > >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 for > you) > > 2) (major problerm, at least for me) Does not have a way to allocate a specified > address in the pool. > > > > 2 is needed esp when programming MCC drivers, since a lot of the datastructures > must 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. > > > > 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 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |