On Mon Apr 08, 2013 at 15:35:53 +0200, Matthias Petschick wrote:
On 04/08/2013 01:50 AM, Matthias Petschick wrote:
I can't test it right now but without looking too deep, I predict that it will work because mlockall calls
do_mlock_pages(0, TASK_SIZE, 1);
and TASK_SIZE is 0xbfc00000 for arch/l4, hence the vectors page should not be touched by it. Will nevertheless give it a shot tomorrow in case I missed something.
Yes, works as predicted. In case of lvm, the problem can of course be averted by either blacklisting the vectors page or configuring it to use mlockall. I can't say if the way mlock ungracefully handles attempts to lock the vectors page has any further, not directly obvious implications though.
In your version the fix could be to use CONFIG_VECTORS_BASE instead of 0xffff0000 for install_special_mapping in process.c. Recent versions do not have this code anymore so it's just a guess.
Adam