--On Sunday, 07 October, 2001 12:31 AM +0200 Mikulas Patocka
Sorry, but it can be triggered by _ANY_ VM since buddy allocator was
Just for info, this was circa 1.0.6 :-) (patches were available
since 0.99.xxx). And before it was introduced, rather a lot
of other things would consistently fail, for instance anything
that reassembled packets whose total size was >4k. And currently
they still need that.
Kernel memory is a limited resource. Contiguous kernel memory
more so. Things that need it need to better deal with the
lack of it, esp. in transient situations (such as by working
round the absence of it, e.g. kiovec in net code, or by
causing some freeing and retrying). And, when contiguous
kernel memory is short, the allocator could do with some
intelligent page freeing to reduce fragmentation.