On Wed, Jan 12, 2011 at 09:58:10AM +0000, Dimitris Papastamos wrote:
On Tue, 2011-01-11 at 18:14 +0000, Mark Brown wrote:
That's a bug in the flat cache, it should be stashing a copy of it in the codec instance. Though it only really makes a difference for devices where you'd want to use a compressed cache anyway.
The flat cache is intentionally *not* making a copy of the defaults cache as it makes no difference in terms of memory usage. The flat cache has codec->reg_def_copy = NULL; and can work with either NULL default caches or filled in.
It can make a difference to memory usage - if multiple CODEC drivers are built in but only one is in use then if we take a copy all the defaults can be discared, meaning that we don't need to keep the defaults for the unused drivers and only keep the defaults for the one that's in use instead of keeping the defaults for all drivers.