s/safaty/safety/ ? On Thu, Mar 24, 2016 at 11:39 AM, <sergey.fedo...@linaro.org> wrote: > From: Sergey Fedorov <serge.f...@gmail.com> > > The check does not give an absolute guarantee of thread safety because > there still may be a race condition between two threads which both have > just read zero from jmp_list_next[n] and proceed with list modification. > Clarify this in the comment to attract here some attention. > > Signed-off-by: Sergey Fedorov <serge.f...@gmail.com> > Signed-off-by: Sergey Fedorov <sergey.fedo...@linaro.org> > --- > include/exec/exec-all.h | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h > index cd96219a89e7..4f36d109ac7f 100644 > --- a/include/exec/exec-all.h > +++ b/include/exec/exec-all.h > @@ -390,7 +390,10 @@ static inline void tb_set_jmp_target(TranslationBlock > *tb, > static inline void tb_add_jump(TranslationBlock *tb, int n, > TranslationBlock *tb_next) > { > - /* NOTE: this test is only needed for thread safety */ > + /* FIXME: This test provides only some probablistic "thread safety" for > + * user-mode emulation; appropriate synchronization/locking scheme should > + * be implemented. > + */ > if (!tb->jmp_list_next[n]) { > /* patch the native jump address */ > tb_set_jmp_target(tb, n, (uintptr_t)tb_next->tc_ptr); > -- > 2.7.3 > >
-- Regards, Artyom Tarasenko SPARC and PPC PReP under qemu blog: http://tyom.blogspot.com/search/label/qemu