I have a kernel driver that needs to dynamically allocate large amounts of
memory in interrupt context.
I can't use kmalloc(GFP_ATOMIC) or get_free_pages(GFP_ATOMIC) since they are
limited to 131056 bytes.
I can't allocate the memory at the device initialization because the driver
is a loadable module and is not compiled into the kernel.
I would like to use vmalloc to get a virtually contiguous memory (DMA is not
an issue) but the problem is that vmalloc uses kmalloc(GFP_KERNEL) and
__get_free_page(GFP_KERNEL) and these are not allowed in interrupt context.
Are there any plans to add a priority argument to vmalloc that will specify
the priority passed to kmalloc and __get_free_page ? (I assume this could
solve my problem).
Is there any other way to work around this problem ?
Amit Dror,
Check Point Software Technologies Ltd.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/