Messages in this thread |  | | Date | Sat, 23 Sep 2000 02:45:38 +1100 | From | Andrew Morton <> | Subject | Re: stuck on TLB IPI wait (CPU#0) at 2.2.17+reiserfs+ide+raid |
| |
Andi Kleen wrote: > > On Mon, Sep 18, 2000 at 10:06:37AM -0600, Andreas Dilger wrote: > > Chris, you write: > > > > my box sometimes hang up at high load avarage with "stuck on TLB > > > > IPI wait (CPU#0)" messages. > > > > > > This is a known issue with the way reiserfs uses the scheduler task queue. > > > The following patch from Andi Kleen should take care of it for you: > > > > > > --- linux/kernel/sched.c-o Wed Feb 9 14:27:20 2000 > > > +++ linux/kernel/sched.c Wed Mar 29 12:53:41 2000 > > > @@ -803,6 +803,7 @@ > > > goto handle_bh_back; > > > > > > handle_tq_scheduler: > > > + __sti(); > > > run_task_queue(&tq_scheduler); > > > goto tq_scheduler_back; > > > > Does this have an impact on the system when not using reiserfs? What > > is it that reiserfs does that affects the scheduler? > > reiserfs has a slightly longer tq_scheduler function to do the slow part > of the end_io handler. Some kernel subsystems enter the scheduler inside > __cli() and it does no good to execute the reiserfs task queue function > with interrupts off (causing the stuck on TLB IPI wait messages)
The __sti() can be moved right up to the start of schedule() and then removed from release_kernel_lock().
Or just find out who is calling schedule() with interrupts disabled and make them stop it. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |