From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH] kvm: fix waitqueue_active without memory barrier in virt/kvm/async_pf.c Date: Fri, 9 Oct 2015 12:24:11 +0200 Message-ID: <561795CB.30006@redhat.com> References: <17EC94B0A072C34B8DCF0D30AD16044A028747C1@BPXM09GP.gisp.nec.co.jp> <56177EAC.2070601@redhat.com> <20151009085040.GZ7520@twins.programming.kicks-ass.net> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: Kosuke Tatsukawa , Gleb Natapov , "kvm@vger.kernel.org" , "linux-kernel@vger.kernel.org" To: Peter Zijlstra Return-path: Received: from mail-wi0-f182.google.com ([209.85.212.182]:33369 "EHLO mail-wi0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753524AbbJIKYP (ORCPT ); Fri, 9 Oct 2015 06:24:15 -0400 In-Reply-To: <20151009085040.GZ7520@twins.programming.kicks-ass.net> Sender: kvm-owner@vger.kernel.org List-ID: On 09/10/2015 10:50, Peter Zijlstra wrote: > Not having actually read or thought about the issue at hand, its > perfectly valid to pair an smp_mb() with either spin_lock() or > spin_unlock(). > > IOW. MB <-> {ACQUIRE, RELEASE} is a valid pairing. In this case it's an smp_mb() (store-load barrier) being paired with another smp_mb(), so spin_unlock()'s release is not enough. Paolo