[RFC 0/2] Reenable might_sleep() checks for might_fault() when atomic
David Hildenbrand
dahi at linux.vnet.ibm.com
Fri Nov 28 02:19:05 AEDT 2014
> OTOH, there is no reason why we need to disable preemption over that
> page_fault_disabled() region. There are code pathes which really do
> not require to disable preemption for that.
>
> We have that seperated in preempt-rt for obvious reasons and IIRC
> Peter Zijlstra tried to distangle it in mainline some time ago. I
> forgot why that never got merged.
>
Of course, we can completely separate that in our page fault code by doing
pagefault_disabled() checks instead of in_atomic() checks (even in add on
patches later).
> We tie way too much stuff on the preemption count already, which is a
> mightmare because we have no clear distinction of protection
> scopes.
Although it might not be optimal, but keeping a separate counter for
pagefault_disable() as part of the preemption counter seems to be the only
doable thing right now. I am not sure if a completely separated counter is even
possible, increasing the size of thread_info.
I am working on a prototype right now.
Thanks!
>
> Thanks,
>
> tglx
>
More information about the Linuxppc-dev
mailing list