Thread (38 messages) 38 messages, 6 authors, 2015-05-07

Re: [PATCH RFC 00/15] decouple pagefault_disable() from preempt_disable()

From: David Hildenbrand <hidden>
Date: 2015-05-07 06:23:59
Also in: linux-mm, lkml

quoted
This series therefore does 2 things:


1. Decouple pagefault_disable() from preempt_enable()

...

2. Reenable might_sleep() checks for might_fault()
All seems sensible to me.  pagefault_disabled has to go into the
task_struct (rather than being per-cpu) because
pagefault_disabled_inc() doesn't disable preemption, yes?
Right, we can now get scheduled while in pagefault_disable() (if preemption
hasn't been disabled manually). So we have to store it per task/thread not per
cpu.

Actually even the preempt disable counter is only per-cpu for x86 and lives in
thread_info for all other archs (which is also not 100% clean but doesn't
matter at that point).

I had that pagefault disable counter in thread_info before, but that required
messing with asm-offsets of some arch (I had a proper version but this one
feels cleaner).

Thanks for having a look!

David
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help