On 07/10/2015 04:26 PM, Alexander Sverdlin wrote: > Hi! > > On 10/07/15 15:17, ext Vignesh R wrote: >>>> I would propose you to throw away spinlocks. Convert threaded IRQ to Agree. Looks like spinlock is not needed. >>>>>> just one hardirq handler. And continue debugging. You will reduce the >>>>>> load of the system with the above measures, maybe it will not happen >>>>>> any more, maybe you'll figure out that problem is somewhere else. >>>> >>>> Or this. >> I am not convinced with moving entire code at hardirq context. I believe >> its better to keep hardirq as small as possible. > > How deep is the controller's FIFO? 1 byte? 2 bytes? Other drivers can perfectly fill > next byte in hardirq handler. If you need to do 10 opcodes more in hardirq handler, > it's much better for the whole system than to trigger scheduler and thread and and and > just because of these 10 opcodes. > 1) TRM: Built-in configurable FIFOs (8, 16, 32, 64 bytes) for buffered read or write. 2) We trying to be as much compatible with RT kernel as possible where all IRQ are threaded. And yes. This patch is u.. WA which tries to fix symptom and not an issue. -- regards, -grygorii -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html