On Wed, 2009-10-28 at 22:19 +0300, Valentine wrote:

> I'm just not sure that we need to clear HARDIRQEN here, since we don't 
> really hard-disable the the interrupts.

We do, or rather, we come in with the interrupts hard disabled, no ?

Ben.

> Thanks,
> Val.
> 
> > +   TRACE_DISABLE_INTS
> > +
> > +   /* Call the scheduler with soft IRQs off */
> > +1: bl      .preempt_schedule_irq
> > +
> > +   /* Hard-disable interrupts again (and update PACA) */
> >  #ifdef CONFIG_PPC_BOOK3E
> > -   wrteei  1
> > -   bl      .preempt_schedule
> >     wrteei  0
> >  #else
> > -   ori     r10,r10,MSR_EE
> > -   mtmsrd  r10,1           /* reenable interrupts */
> > -   bl      .preempt_schedule
> >     mfmsr   r10
> > -   clrrdi  r9,r1,THREAD_SHIFT
> > -   rldicl  r10,r10,48,1    /* disable interrupts again */
> > +   rldicl  r10,r10,48,1
> >     rotldi  r10,r10,16
> >     mtmsrd  r10,1
> >  #endif /* CONFIG_PPC_BOOK3E */
> > +   li      r0,0
> > +   stb     r0,PACAHARDIRQEN(r13)
> > +
> > +   /* Re-test flags and eventually loop */
> > +   clrrdi  r9,r1,THREAD_SHIFT
> >     ld      r4,TI_FLAGS(r9)
> >     andi.   r0,r4,_TIF_NEED_RESCHED
> >     bne     1b
> >     b       restore
> >  
> >  user_work:
> > -#endif
> > +#endif /* CONFIG_PREEMPT */
> > +
> >     /* Enable interrupts */
> >  #ifdef CONFIG_PPC_BOOK3E
> >     wrteei  1


_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to