From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030459AbbKDQBM (ORCPT ); Wed, 4 Nov 2015 11:01:12 -0500 Received: from bombadil.infradead.org ([198.137.202.9]:52108 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S964926AbbKDQBL (ORCPT ); Wed, 4 Nov 2015 11:01:11 -0500 Date: Wed, 4 Nov 2015 17:01:04 +0100 From: Peter Zijlstra To: Dmitry Vyukov Cc: Paul McKenney , Linus Torvalds , Ingo Molnar , Linux Kernel Mailing List , Thomas Gleixner , Andrew Morton Subject: Re: [GIT PULL] locking changes for v4.4 Message-ID: <20151104160104.GN17308@twins.programming.kicks-ass.net> References: <20151103091636.GA23350@gmail.com> <20151104041644.GO29027@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Nov 04, 2015 at 03:51:01PM +0100, Dmitry Vyukov wrote: > To clarify, yes, documentation and tooling was my main motivation. Right; I don't object to having _ctrl() methods purely for documentation purposes, I keep finding places we rely on them. Having them stand out better might be useful. > It is usually helpful to see acquire/release, rmb/wmb pairs, and so it > is useful to know that something below is ordered wrt this load by > means of a control dependency (which effectively becomes an acquire, > and there must be a pairing release somewhere). You need at least a trailing smp_rmb() before you cover the ACQUIRE semantics -- or have no trailing reads at all of course.