On Wed, 2007-05-23 at 09:13 -0700, Kevin Hilman wrote: > Note that my patch simply adds an enable to match the disable added by > the -rt patch. I'm not sure where the disable originally came from, but > there are disable/enable pairs scattered throughout tlbflush.h in the > -rt patch. > > If this one isn't necessary, then the others probably are not either. > In most cases there are 2 mcr instructions inside the critical section. > One for the dsb() and the other for the actual function. > > Russell, is there a reason any of these sections should be atomic?
Under normal preempt modes those functions would end running with preemption disabled , but with PREEMPT_RT enabled they become preemptive .. I may have been mistaken , but my impression was that one mcr instruction was executed and it was atomic , so there was no need for additional protection there.. If there are two mcr instructions then you could be preempted between the two, which may be unsafe depending on what those instructions are doing .. Daniel - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/