Phillip Lougher wrote: > The issue that moving to 4 KiB output buffers solves is it reduces > significantly the number of 1 MiB (or 128 KiB for the default block > size) buffers that need to be vmalloced. Squashfs caches the last 3 > fragment buffers read, and moving to 4 KiB buffers eliminates these > vmallocs. > > Obviously moving to 4 KiB output buffers will require a 1 MiB > dictionary workspace to be vmalloced, but this is still much less > than the 3 buffers that currently need to be vmalloced. Thanks for explaining. Is it OK that the decoder allocates memory in the middle of decoding, or must all the memory be preallocated when the decoder is initialized? If everything has to be preallocated, then the initialization function needs an argument to specify how big dictionary must be supported. It doesn't make sense to allocate 1 MiB just in case if the caller knows that 128 KiB dictionary is the maximum that will ever be needed. -- Lasse Collin | IRC: Larhzu @ IRCnet & Freenode -- To unsubscribe from this list: send the line "unsubscribe linux-embedded" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html