Re: [RFC][PATCH 0/2] fun with tlb flushing on s390
From: Martin Schwidefsky <hidden>
Date: 2012-07-27 06:57:50
Also in:
linux-arch
On Thu, 26 Jul 2012 21:42:50 +0200 Peter Zijlstra [off-list ref] wrote:
On Thu, 2012-07-26 at 17:47 +0200, Martin Schwidefsky wrote:quoted
A code review revealed another potential race in regard to TLB flushing on s390. See patch #2 for the ugly details. To fix this I would like to use the arch_enter_lazy_mmu_mode/arch_leave_lazy_mmu_mode but to do that the pointer to the mm in question needs to be added to the functions. To keep things symmetrical arch_flush_lazy_mmu_mode should grow an mm argument as well. powerpcI have a patch that makes sparc64 do the same thing.
That is good, I guess we are in agreement then to add the mm argument.
quoted
and x86 have a non-empty implementation for the lazy mmu flush primitives and tile calls the generic definition in the architecture files (which is a bit strange because the generic definition is empty). Comments?argh.. you're making my head hurt.
Fun, isn't it ?
I guess my first question is where is lazy_mmu_mode active crossing an mm? I thought it was only ever held across operations on a single mm.
My take is never, it is only ever used in a single mm.
The second question would be if you could use that detach_mm thing I proposed a while back ( http://marc.info/?l=linux-mm&m=134090072917840 ) or can we rework the active_mm magic in general to make all this easier?
No, that is not good enough. The issue I'm trying to fix is for a multi- threaded application where the same mm is attached to multiple cpus. To detach it on the local cpu won't help, it would have to be detached everywhere.
Your 2/2 patch makes me shiver..
Ask me about it :-/ -- blue skies, Martin. "Reality continues to ruin my life." - Calvin. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>