From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965375AbbDWMDM (ORCPT ); Thu, 23 Apr 2015 08:03:12 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34858 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965185AbbDWMDJ (ORCPT ); Thu, 23 Apr 2015 08:03:09 -0400 Message-ID: <5538DF55.30709@redhat.com> Date: Thu, 23 Apr 2015 14:02:29 +0200 From: Paolo Bonzini User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Marcelo Tosatti CC: Andy Lutomirski , Peter Zijlstra , Linus Torvalds , "linux-kernel@vger.kernel.org" , Gleb Natapov , kvm list , Ralf Baechle , Andrew Lutomirski Subject: Re: [GIT PULL] First batch of KVM changes for 4.1 References: <553100C1.5000408@redhat.com> <20150417131037.GG23123@twins.programming.kicks-ass.net> <55310CF2.6070107@redhat.com> <20150417190146.GA24395@amt.cnet> <55316598.908@redhat.com> <20150417201841.GA31302@amt.cnet> <55353058.2000008@redhat.com> <20150422212148.GA17494@amt.cnet> <5538B7B3.2020009@redhat.com> <20150423115117.GA32371@amt.cnet> In-Reply-To: <20150423115117.GA32371@amt.cnet> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. 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