Re: Linux-2.1.129..

Zlatko Calusic (Zlatko.Calusic@CARNet.hr)
25 Nov 1998 21:33:50 +0100


"Stephen C. Tweedie" <sct@redhat.com> writes:

> --- mm/vmscan.c~ Tue Nov 17 15:43:55 1998
> +++ mm/vmscan.c Mon Nov 23 17:05:33 1998
> @@ -170,7 +170,7 @@
> * copy in memory, so we add it to the swap
> * cache. */
> if (PageSwapCache(page_map)) {
> - free_page_and_swap_cache(page);
> + free_page(page);
> return (atomic_read(&page_map->count) == 0);
> }
> add_to_swap_cache(page_map, entry);
> @@ -188,7 +188,7 @@
> * asynchronously. That's no problem, shrink_mmap() can
> * correctly clean up the occassional unshared page
> * which gets left behind in the swap cache. */
> - free_page_and_swap_cache(page);
> + free_page(page);
> return 1; /* we slept: the process may not exist any more */
> }
>
> @@ -202,7 +202,7 @@
> set_pte(page_table, __pte(entry));
> flush_tlb_page(vma, address);
> swap_duplicate(entry);
> - free_page_and_swap_cache(page);
> + free_page(page);
> return (atomic_read(&page_map->count) == 0);
> }
> /*
> @@ -218,7 +218,11 @@
> flush_cache_page(vma, address);
> pte_clear(page_table);
> flush_tlb_page(vma, address);
> +#if 0
> entry = page_unuse(page_map);
> +#else
> + entry = (atomic_read(&page_map->count) == 1);
> +#endif
> __free_page(page_map);
> return entry;
> }

I must admit that after some preliminary testing I can't believe how
GOOD these changes work!

Stephen, you've done a *really* good job.

I will still do some more testing, not to find bugs, but to enjoy
great performance. :)

Everybody, get pre-2.1.130-3 (which already includes above changes),
add #include <linux/interrupt.h> in kernel/itimer.c and enjoy the most
fair MM in Linux, EVER!

Stephen, thanks for such a good code!

-- 
Posted by Zlatko Calusic           E-mail: <Zlatko.Calusic@CARNet.hr>
---------------------------------------------------------------------
	   REALITY.SYS Corrupted: Re-boot universe? (Y/N/Q)

- 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/