Hi:
Here is a really ugly patch to get IPCOMP to use per-cpu buffers. But
I'm afraid it really is necessary. At 300K per SA IPCOMP isn't very
affordable at all.
With per-cpu buffers this goes down to 300K per CPU.
I've also turned the kmalloc'ed scratch space into a vmalloc'ed one
since people may be loading the ipcomp module after the system has
been running for a while. On an i386 machine with 64M of RAM or less
this can often cause a 64K kmalloc to fail.
The crypto deflate buffer space are vmalloc'ed already as well.
Part of the ugliness comes from the lazy allocation. However we need
the lazy initialisation since new IPCOMP algorithms may be introduced
in future. That means we can't allocate space for every single IPCOMP
algorithm at module-load time.
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
ipcomp.patch
Description: Text document
|