Thread (9 messages) 9 messages, 3 authors, 2011-09-16

the cost of vmalloc

From: Zheng Da <hidden>
Date: 2011-09-16 01:50:20

Hi,

On Sun, Sep 11, 2011 at 2:32 AM, Michael Blizek
[off-list ref] wrote:
quoted
quoted
quoted
The whole point of allocating a large chunk of memory is to avoid
extra memory copy because I need to run decompression algorithms on
it.
In this case scatterlists solves 2 problems at once. First, you will not need
to allocate large continuous memory regions. Second, you avoid wasting memory.
The problem is that the decompression library works on contiguous
memory, so I have to provide contiguous memory instead of
scatterlists.
Which decompression lib are you talking about? Even if it does not have
explicit support for scatterlists, usually you should be able to call the
decompress function multiple times. Otherwise, how would you (de)compress data
which is larger than available memory?
Sorry for the late reply.
I'm using LZO. The data is compressed in blocks of 128KB. I don't
think I can split the compressed block and run LZO decompressor on the
pieces multiple times.
There is a lot of free memory, but the kernel can't find contiguous
memory sometimes. vmalloc always succeeds when kmalloc fails.

Thanks,
Da
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help