[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Results: pre6 vs pre6+zlatko's_patch vs pre5 vs arcavm13





On Sun, 10 Jan 1999, Andrea Arcangeli wrote:
> 
> Steve, could you try the image test in 128Mbyte with this my new patch
> (arca-vm-14) applyed against clean 2.2.0-pre6?

Please don't do this.

>  	do {
>  		int result;
> -		tsk->swap_address = address + PAGE_SIZE;
>  		result = try_to_swap_out(tsk, vma, address, pte, gfp_mask);
> +		address += PAGE_SIZE;
> +		tsk->swap_address = address;

The above is horribly broken, and should be killed on sight.

"swap_address" _must_ be set before try_to_swap_out(), because otherwise
when try-to_swap_out() sleeps any other processes trying to free will
start from the wrong address - unfairly penalizing the process in
question, as the accessed bits have been cleared.

If the above help, it only does so because it is unfair - which _can_ help
simply because other processes run faster.

It looks like you tried to optimize away one add, at the expense of
getting the whole algorithm wrong.

		Linus

--
This is a majordomo managed list.  To unsubscribe, send a message with
the body 'unsubscribe linux-mm me@address' to: majordomo@kvack.org