> --On Saturday, 06 October, 2001 4:44 PM +0200 Mikulas Patocka
> <mikulas@xxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> > Here goes the fix. (note that I didn't try to compile it so there may be
> > bugs, but you see the point).
> (seems to replace high order allocations by vmalloc)
> & how does vmalloc allocate physically (as opposed to virtually)
> contiguous memory; can't clearly recall it being IRQ safe either
> (for GFP_ATOMIC).
It uses vmalloc only when __GFP_VMALLOC flag is given - and so it is
expected to not use __GFP_VMALLOC flag in IRQ.
NOTE: no allocations in IRQ are safe. Not only high-order ones.
Allocation in IRQ may fail any time and you must recover without lost of
functionality (network can lose packets any time, if you are doing some
general device driver, you must preallocate all buffers in process