2014-11-03 19:15 GMT+04:00 Hans Verkuil <hverkuil@xxxxxxxxx>: > Hi Andrey, > > On 10/29/2014 05:03 PM, Andrey Utkin wrote: >> The used approach actually cannot prevent new encoder interrupt to >> appear, because interrupt handler can execute in different thread, and >> in current implementation there is still race condition regarding this. > > I don't understand what you mean with 'interrupt handler can execute in > different thread'. Can you elaborate? > > Note that I do think that this change makes sense, but I do like to have a > better explanation. > Hi Hans, thanks for response. I'm not proficient in linux kernel, so it's hard to make sure and strict statements regarding this. In the commit justification I mean that solo_ring_thread(), which is edited, runs in a thread started with kthread_run(). Interrupt hander is executed on random kernel thread (whichever is currently running, is it correct?). So temporarily disabling interrupts from video encoders by writing to special register cannot be used for "processing serialization", for "fixation of state" or anything useful at all, thus it should be removed from code. Is it clear now? Please feel free to push the patch with edited description, even without resubmission from me. -- Andrey Utkin _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel