Re: [PATCH 1/3] kvm tools: Lock job_mutex before signalling
On Sat, 2011-04-30 at 16:30 +0300, Sasha Levin wrote: Locking mutex before signalling to prevent unexpected scheduling. Signed-off-by: Sasha Levin levinsasha...@gmail.com Yeah, I think we need to do this but the changelog is not really adequate for this kind of change. Care to elaborate more why it's needed? -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/3] kvm tools: Lock job_mutex before signalling
On Sun, 2011-05-01 at 10:10 +0300, Pekka Enberg wrote: On Sat, 2011-04-30 at 16:30 +0300, Sasha Levin wrote: Locking mutex before signalling to prevent unexpected scheduling. Signed-off-by: Sasha Levin levinsasha...@gmail.com Yeah, I think we need to do this but the changelog is not really adequate for this kind of change. Care to elaborate more why it's needed? By holding the mutex while signaling, we can expect predictable scheduling between the worker threads. This will make debugging various thread pool related issues much easier (and maybe solve some obscure bugs too). -- Sasha. -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 1/3] kvm tools: Lock job_mutex before signalling
Locking mutex before signalling to prevent unexpected scheduling. Signed-off-by: Sasha Levin levinsasha...@gmail.com --- tools/kvm/threadpool.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/tools/kvm/threadpool.c b/tools/kvm/threadpool.c index c584ec7..700c08f 100644 --- a/tools/kvm/threadpool.c +++ b/tools/kvm/threadpool.c @@ -166,5 +166,7 @@ void thread_pool__signal_work(void *job) thread_pool__job_info_push_locked(job); mutex_unlock(jobinfo-mutex); + mutex_lock(job_mutex); pthread_cond_signal(job_cond); + mutex_unlock(job_mutex); } -- 1.7.5.rc3 -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html