Messages in this thread Patch in this message | | | Date | Wed, 10 Apr 2002 13:59:47 -0700 | From | William Lee Irwin III <> | Subject | Re: [PATCH] radix-tree pagecache for 2.4.19-pre5-ac3 |
| |
On Sun, Apr 07, 2002 at 11:44:39AM -0500, Art Haas wrote: > Once again the patch has been re-diffed for the latest -ac > kernel. It's running on my machine now. Enjoy! > I'm interested in hearing back from anyone using this > patch - I'd like to be sure that it applies cleanly (I > believe it does), and that the kernel built with the > patch runs well. The -ac kernels with rmap and the O(1) > scheduler are working well for me, and I'm hoping that > this patch adds to those kernels. At some point I'm hoping > the patch is included in to the -ac patchset, and the > eventual inclusion into the standard kernel release. > My thanks to everyone working on the kernel.
Thank you! This has saved me some effort.
Burning question: What are the hunks changing arch/i386/kernel/setup.c there for? Also, there appears to be a livelock in add_to_swap(), (yes, this has killed my boxen dead) something to help with this follows. (It at least turned up a different problem I'm still working on.)
Cheers, Bill
diff -urN linux-virgin/mm/swap_state.c linux/mm/swap_state.c --- linux-virgin/mm/swap_state.c Tue Apr 9 18:50:48 2002 +++ linux/mm/swap_state.c Tue Apr 9 21:28:15 2002 @@ -104,6 +104,7 @@ */ int add_to_swap(struct page * page) { + int error; swp_entry_t entry; if (!PageLocked(page)) @@ -118,11 +119,15 @@ * (adding to the page cache will clear the dirty * and uptodate bits, so we need to do it again) */ - if (add_to_swap_cache(page, entry) == 0) { + error = add_to_swap_cache(page, entry); + if (!error) { SetPageUptodate(page); set_page_dirty(page); swap_free(entry); return 1; + } else if (error = -ENOMEM) { + swap_free(entry); + return 0; } /* Raced with "speculative" read_swap_cache_async */ swap_free(entry); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |