Re: [PATCH] anobjrmap 1/6 objrmap

From: Andrea Arcangeli
Date: Thu Mar 18 2004 - 21:44:18 EST


On Thu, Mar 18, 2004 at 11:21:07PM +0000, Hugh Dickins wrote:
> + if (!spin_trylock(&mm->page_table_lock))
> + return 1;
> +
[..]
> + if (down_trylock(&mapping->i_shared_sem))
> + return 1;
> +

those two will hang your kernel in the workload I posted to the list a
few days ago.

With previous kernels the above didn't matter, but starting with
2.6.5-rc1 it does matter, if we cannot know if it's referenced or not,
we must assume it's not and return 0 or it lives locks hard with all
tasks stuck and one must click reboot.

I recommend you to share my objrmap patch, the objrmap should be exactly
the same for both of us. It took me a while to figure out the above
issue and fix it in the objrmap patch, since it was hard to assume a
change in 2.6.5-rc1 broke objrmap (there were no rejects and objrmap was
pretty much unchanged since the 2.5.x days for an year).
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/