Thread (25 messages) 25 messages, 5 authors, 2011-08-12

Re: [ANNOUNCE] 3.0.1-rt8 - Regression to 3.0-rt7

From: Peter Zijlstra <peterz@infradead.org>
Date: 2011-08-11 12:42:02
Also in: lkml

On Thu, 2011-08-11 at 14:02 +0200, Peter Zijlstra wrote:
On Thu, 2011-08-11 at 13:30 +0200, Tim Sander wrote:
quoted
The error does not occur  when configured with 
CONFIG_PREEMPT_RT_FULL=y
but with 
CONFIG_PREEMPT_RTB=y.
The same error also happens with
CONFIG_PREEMPT_LL=y. (A log is appended after the other log just
search for CONFIG_PREEMPT_LL 
for starting point). 
Does the below (on top of -rt8) cure things for you? Shouldn't make a
difference for PREEMPT_LL though, so maybe there's something else busted
as well. But from what I can tell PREEMPT_BASE should be fine with such
things disabling preemption..
Gah, nevermind, I'm sleeping or so..

---
Index: linux-2.6/mm/filemap.c
===================================================================
--- linux-2.6.orig/mm/filemap.c
+++ linux-2.6/mm/filemap.c
@@ -2040,7 +2040,7 @@ size_t iov_iter_copy_from_user_atomic(st
 	char *kaddr;
 	size_t copied;
 
-	BUG_ON(!current->pagefault_disabled);
+	BUG_ON(!(in_atomic() || current->pagefault_disabled));
 	kaddr = kmap_atomic(page, KM_USER0);
 	if (likely(i->nr_segs == 1)) {
 		int left;
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help