Re: [GIT PULL] First batch of KVM changes for 4.1

Marcelo Tosatti
2015-04-23T17:07:11Z

On Thu, Apr 23, 2015 at 02:02:29PM +0200, Paolo Bonzini wrote:
>
>
> On 23/04/2015 13:51, Marcelo Tosatti wrote:
> >>> > > https://bugzilla.redhat.com/show_bug.cgi?id=1174664
> >> >
> >> > That was the missing volatile in an asm. Older compilers didn't catch
> >> > it. :(
> > How do you know that? It looks like memory corruption (look at the
> > pattern at the end).
>
> I suspect some kind of operator error there, it makes no sense.

if (unlikely(s->flags & SLAB_POISON))
memset(start, POISON_INUSE, PAGE_SIZE << order);

* Padding is done using 0x5a (POISON_INUSE)

> On the other hand, bug 1178975 is much clearer and the symptoms are the
> same. In that bug, you can see that the same kernel source works on f20
> (package version 3.17.7-200.fc20.x86_64) and fails on f21 (package
> version 3.17.7-300.fc21.x86_64). Of course the compiler is different.
> The newer one hoists the lsl out of the loop; if you get a CPU migration
> at the wrong time, the cpu != cpu1 condition will always be true the
> loop will never exit.
>
> Paolo