Messages in this thread | | | Subject | 2.1.76, working fragmentation avoidance patch | Date | Sun, 4 Jan 1998 05:30:50 -0600 (CST) | From | kwrohrer@enteract ... |
| |
And lo, kwrohrer@enteract.com saith unto me: > This copy of the patch might work; I hope I caught the previous > last-patch-was-broken message before it escaped... Alas, I failed. But I did something more important: our last, best hope for victory.
> Once I mail this, I'll even try it myself... However, my revised patch works just fine, and in fact seems to give me very good recovery from queue_glue out of memory areas. By making new allocations for small (order<2) hunks of memory start from the far end of the free lists from the DMA-capable memory, it lets the small free areas grow into bigger ones via "natural paging action". This means not only fragmentation resistance, but fragmentation recovery.
Testing is encouraged by those with x86 boxes, especially if you have other than 32M of memory (i.e. other than half-DMA, half-non-DMA); it works for me. Suggestions as to a better heuristic for non-x86 architectures, and testing with such a heuristic implemented, are also welcome. See http://www.enteract.com/~kwrohrer if you missed the corrected patch, want the patch vs. stock 2.1.76, or just want to visit my home page. Sorry, nothing vs. 2.1.77 yet; I need the sleep and would probably screw up the merge.
I think I'll stop mailing now...
Keith (who will spot the B5 allusion first?)
| |