On 03/12/2014 16:11, Jiri Slaby wrote: > On 10/13/2014, 03:00 PM, Paolo Bonzini wrote: >>> +static void edu_dma_timer(void *opaque) >>> +{ >>> + EduState *edu = opaque; >>> + bool raise_irq = false; >>> + >>> + qemu_mutex_lock(&edu->dma_mutex); >> >> dma_mutex and mutex and irq_mutex are not necessary. All I/O happens >> under the big QEMU lock (qemu_lock/unlock_iothread). I can certainly >> imagine that edu.c would be one of the first devices we make >> thread-safe, but... not yet. :) > > Hi, > > I finally got to it. I want to make sure that I understand this > correctly. So even timers are protected by the "BQL"?
Everything, unless you create a separate thread. Paolo