Re: [RFC PATCH 13/13] m68k: mvme16x: Convert to clocksource APIy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 13 Nov 2018, Thomas Gleixner wrote:

On Wed, 14 Nov 2018, Finn Thain wrote:

What I mean by that is, the interrupt level (IPL) prevents interrupt 
handlers from being re-entered. But a handler can still get 
interrupted by a higher priority interrupt request. In the past I've 
had to add defensive locking because of this.

In these patches I've assumed it was possible for some higher priority 
interrupt handler to perform a clocksource read after the timer 
handler started executing. Hence the use of local_irq_save/restore.

To be sure, I've just run a quick test and confirmed that the timer 
handler can indeed get interrupted by the ethernet interrupt handler.

Urgh. Then you have more serious trouble. If the interrupting handler 
calls any of the time accessor functions then you can actually live lock 
when the interrupt happens in the middle of the write locked section of 
the core timekeeping update.

Does this apply to arch_gettimeoffset also? If so, that would mean another 
bug fix patch for -stable...

So you really want to disable interrupts across the whole timer 
interrupt function or make sure that the timer interrupt is the highest 
priority one on the system.


The timer interrupt priority isn't always what one would hope. 

But I can certainly disable interrupts for timer_interrupt() execution 
(that is, xtime_update() etc.)

-- 

Thanks,

	tglx




[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux