Re: [Qemu-devel] [PATCH] atomics: add volatile_read/volatile_set

2016-07-18 Thread Paolo Bonzini
On 18/07/2016 21:04, Sergey Fedorov wrote: > How much performance do we really need and how much performance can we > loose introducing such a flag? We should yet gain something reducing > tb_lock contention. Maybe it is worthwhile to use a dedicated flag to > keep code more clear? There's always

Re: [Qemu-devel] [PATCH] atomics: add volatile_read/volatile_set

2016-07-18 Thread Sergey Fedorov
On 18/07/16 20:58, Paolo Bonzini wrote: > > On 18/07/2016 19:31, Sergey Fedorov wrote: >> On 18/07/16 20:28, Paolo Bonzini wrote: >>> On 18/07/2016 19:25, Sergey Fedorov wrote: >> @@ -753,14 +753,14 @@ static inline void >> cpu_get_invalid_tb_cpu_state(target_ulong *pc, >>

Re: [Qemu-devel] [PATCH] atomics: add volatile_read/volatile_set

2016-07-18 Thread Sergey Fedorov
On 18/07/16 20:28, Paolo Bonzini wrote: > > On 18/07/2016 19:25, Sergey Fedorov wrote: @@ -753,14 +753,14 @@ static inline void cpu_get_invalid_tb_cpu_state(target_ulong *pc, target_ulong *cs_base,

Re: [Qemu-devel] [PATCH] atomics: add volatile_read/volatile_set

2016-07-18 Thread Paolo Bonzini
On 18/07/2016 19:17, Sergey Fedorov wrote: > On 18/07/16 20:11, Paolo Bonzini wrote: >> >> On 18/07/2016 19:07, Sergey Fedorov wrote: >>> On 18/07/16 20:00, Paolo Bonzini wrote: On 18/07/2016 18:57, Sergey Fedorov wrote: > On 18/07/16 19:53, Paolo Bonzini wrote: >> On 18/07/2016 18:5

Re: [Qemu-devel] [PATCH] atomics: add volatile_read/volatile_set

2016-07-18 Thread Paolo Bonzini
On 18/07/2016 19:31, Sergey Fedorov wrote: > On 18/07/16 20:28, Paolo Bonzini wrote: >> >> On 18/07/2016 19:25, Sergey Fedorov wrote: > @@ -753,14 +753,14 @@ static inline void > cpu_get_invalid_tb_cpu_state(target_ulong *pc, > target_

Re: [Qemu-devel] [PATCH] atomics: add volatile_read/volatile_set

2016-07-18 Thread Sergey Fedorov
On 18/07/16 20:00, Paolo Bonzini wrote: > > On 18/07/2016 18:57, Sergey Fedorov wrote: >> On 18/07/16 19:53, Paolo Bonzini wrote: >>> On 18/07/2016 18:52, Sergey Fedorov wrote: So how are we going to use them? >>> Instead of atomic_read/atomic_set when marking invalid TBs. >> But shouldn't the

Re: [Qemu-devel] [PATCH] atomics: add volatile_read/volatile_set

2016-07-18 Thread Paolo Bonzini
On 18/07/2016 19:25, Sergey Fedorov wrote: >> > @@ -753,14 +753,14 @@ static inline void >> > cpu_get_invalid_tb_cpu_state(target_ulong *pc, >> > target_ulong *cs_base, >> > uint32_t *flags) >> > {

Re: [Qemu-devel] [PATCH] atomics: add volatile_read/volatile_set

2016-07-18 Thread Paolo Bonzini
On 18/07/2016 19:07, Sergey Fedorov wrote: > On 18/07/16 20:00, Paolo Bonzini wrote: >> >> On 18/07/2016 18:57, Sergey Fedorov wrote: >>> On 18/07/16 19:53, Paolo Bonzini wrote: On 18/07/2016 18:52, Sergey Fedorov wrote: > So how are we going to use them? Instead of atomic_read/atom

Re: [Qemu-devel] [PATCH] atomics: add volatile_read/volatile_set

2016-07-18 Thread Sergey Fedorov
On 18/07/16 20:22, Paolo Bonzini wrote: > > On 18/07/2016 19:17, Sergey Fedorov wrote: >> On 18/07/16 20:11, Paolo Bonzini wrote: >>> On 18/07/2016 19:07, Sergey Fedorov wrote: On 18/07/16 20:00, Paolo Bonzini wrote: > On 18/07/2016 18:57, Sergey Fedorov wrote: >> On 18/07/16 19:53, Pa

Re: [Qemu-devel] [PATCH] atomics: add volatile_read/volatile_set

2016-07-18 Thread Sergey Fedorov
On 18/07/16 20:11, Paolo Bonzini wrote: > > On 18/07/2016 19:07, Sergey Fedorov wrote: >> On 18/07/16 20:00, Paolo Bonzini wrote: >>> On 18/07/2016 18:57, Sergey Fedorov wrote: On 18/07/16 19:53, Paolo Bonzini wrote: > On 18/07/2016 18:52, Sergey Fedorov wrote: >> So how are we going t

Re: [Qemu-devel] [PATCH] atomics: add volatile_read/volatile_set

2016-07-18 Thread Paolo Bonzini
On 18/07/2016 18:57, Sergey Fedorov wrote: > On 18/07/16 19:53, Paolo Bonzini wrote: > > On 18/07/2016 18:52, Sergey Fedorov wrote: > > > So how are we going to use them? > > Instead of atomic_read/atomic_set when marking invalid TBs. > But shouldn't they be atomic to avoid reading torn writes?

Re: [Qemu-devel] [PATCH] atomics: add volatile_read/volatile_set

2016-07-18 Thread Sergey Fedorov
On 18/07/16 19:53, Paolo Bonzini wrote: > > On 18/07/2016 18:52, Sergey Fedorov wrote: >> So how are we going to use them? > Instead of atomic_read/atomic_set when marking invalid TBs. But shouldn't they be atomic to avoid reading torn writes? Thanks, Sergey > > diff --git a/cpu-exec.c b/cpu-exe

Re: [Qemu-devel] [PATCH] atomics: add volatile_read/volatile_set

2016-07-18 Thread Paolo Bonzini
On 18/07/2016 18:52, Sergey Fedorov wrote: > So how are we going to use them? Instead of atomic_read/atomic_set when marking invalid TBs. diff --git a/cpu-exec.c b/cpu-exec.c index fd43de8..1275f3d 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -292,10 +292,10 @@ static inline TranslationBlock *tb

Re: [Qemu-devel] [PATCH] atomics: add volatile_read/volatile_set

2016-07-18 Thread Sergey Fedorov
So how are we going to use them? Thanks, Sergey On 18/07/16 17:17, Paolo Bonzini wrote: > Signed-off-by: Paolo Bonzini > --- > docs/atomics.txt | 19 --- > include/qemu/atomic.h | 17 + > 2 files changed, 33 insertions(+), 3 deletions(-) > > diff --git a/doc

[Qemu-devel] [PATCH] atomics: add volatile_read/volatile_set

2016-07-18 Thread Paolo Bonzini
Signed-off-by: Paolo Bonzini --- docs/atomics.txt | 19 --- include/qemu/atomic.h | 17 + 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/docs/atomics.txt b/docs/atomics.txt index c95950b..1f21d2e 100644 --- a/docs/atomics.txt +++ b/docs/atomic