On Fri, Oct 11, 2019 at 10:18:18AM +0200, Paolo Bonzini wrote:
> On 11/10/19 08:05, Jan Glauber wrote:
> > On Wed, Oct 09, 2019 at 11:15:04AM +0200, Paolo Bonzini wrote:
> >>> ...but if I bump notify_me size to uint64_t the issue goes away.
> >>
> >> Ouch. :) Is this with or without my patch(es)?
>
> You didn't answer this question.
Oh, sorry... I did but the mail probably didn't make it out.
I have both of your changes applied (as I think they make sense).
> >> Also, what if you just add a dummy uint32_t after notify_me?
> >
> > With the dummy the testcase also runs fine for 500 iterations.
>
> You might be lucky and causing list_lock to be in another cache line.
> What if you add __attribute__((aligned(16)) to notify_me (and keep the
> dummy)?
Good point. I'll try to force both into the same cacheline.
--Jan
> Paolo
>
> > Dann, can you try if this works on the Hi1620 too?
On Fri, Oct 11, 2019 at 10:18:18AM +0200, Paolo Bonzini wrote:
> On 11/10/19 08:05, Jan Glauber wrote:
> > On Wed, Oct 09, 2019 at 11:15:04AM +0200, Paolo Bonzini wrote:
> >>> ...but if I bump notify_me size to uint64_t the issue goes away.
> >>
> >> Ouch. :) Is this with or without my patch(es)?
>
> You didn't answer this question.
Oh, sorry... I did but the mail probably didn't make it out.
I have both of your changes applied (as I think they make sense).
> >> Also, what if you just add a dummy uint32_t after notify_me? _((aligned( 16)) to notify_me (and keep the
> >
> > With the dummy the testcase also runs fine for 500 iterations.
>
> You might be lucky and causing list_lock to be in another cache line.
> What if you add __attribute_
> dummy)?
Good point. I'll try to force both into the same cacheline.
--Jan
> Paolo
>
> > Dann, can you try if this works on the Hi1620 too?