Messages in this thread | | | Date | Tue, 4 Mar 2003 23:24:39 -0800 | From | William Lee Irwin III <> | Subject | Re: WARN_ON noise in 2.5.63's kernel/sched.c:context_switch |
| |
On Wed, Mar 05, 2003 at 04:13:48PM +0900, Miles Bader wrote: > Ok, I think I found the reason; sched.c cleans up some stuff in > schedule_tail, and in this code (arch/v850/kernel/entry.S): > C_ENTRY(ret_from_fork): > #if defined(CONFIG_SMP) || defined(CONFIG_PREEMPT) > mov r10, r6 // switch_thread returns the prev task. > jarl CSYM(schedule_tail), lp // ...which is schedule_tail's arg > #endif > mov r0, r10 // Child's fork call should return 0. > br ret_from_trap // Do normal trap return. > ... it only calls that if CONFIG_PREEMPT is turned on. If I remove the > #ifdef, then I get no warnings. > I take it that the call to schedule_tail should now be unconditional? > [some other archs have the same #ifdef]
Yeah, this is the root problem. You have to go through schedule_tail() to clean up the mm's etc.
-- wli - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |