I need to allocate a huge contiguous buffer (~6MByte) shared with a secondary cpu (a packet processor). Which is the best place and the best way to do this?

The main problem is that using a simple kmalloc at module init time there isn't sufficient contiguous memory to cover the request. I should use (I suppose) the alloc_bootmem_* macros but I'm not sure where is the best place to reserve my memory.

For now I defined a global bad huge vector... but I'm not happy for this solution...