Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp7832358ybi; Thu, 6 Jun 2019 02:09:53 -0700 (PDT) X-Google-Smtp-Source: APXvYqzA/+DXWfcxVtsih6rdMCelSWR9uB9hf72crL4DvfoO1XFSDA5vhLNwjuAQ3GwQ1Vs+L8X2 X-Received: by 2002:a17:90a:ac0e:: with SMTP id o14mr37756574pjq.142.1559812193774; Thu, 06 Jun 2019 02:09:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559812193; cv=none; d=google.com; s=arc-20160816; b=w15R0RorhcNJKNozzf1/EWx+jb9V8XfaARJVxaj0S2BUZHjCn7DvyjFywcj87uZTJo qigGeW9VC27d+FubsAe6ky7FGzMbPHSI823QJom60604xiikuPxrnVdI1x+SDNpK0qhy DKPATzD724RZ4G333WrHgArhkoDBrh7+F/MPcFoE/QhhRGKiCVcI1iVskc6/iSa4Ex+v Oi7TRTRY5WdiUBGdr1vgGSwfNy8eYgx8NPIACkq2bQAQxnTwyHfZmjmcUDeG01C+zvOu et9o0Zd8DrlJjZtd+x7zqVvAO6MXC/1ez412sR6FN9KBjZr7mHqPzjK8YVGfStkfHWnE 92bQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:user-agent:in-reply-to :content-disposition:mime-version:references:reply-to:subject:cc:to :from:date; bh=wnymwR9LvpQYgPnig/5Vw9UUNQCUTbW626ml0mguYVA=; b=J3ajRIYoTXL8RrXMD6uqVSFbRGpW7YAQ0bERnyRy1tmw0XCkTN8xQg2XQ3hvyTGiek +xJX0gCmJsxOj1ZfZ09g1DGa3mtKXtWOShbHq2m4H2Doeq9oqLGbjG1eVyT16rydjW2o X0gUXMXs3bAAYzC8ENDtGSSXbG9HDUCS+HXczEvvz2GWwaUOaq1xiasy0H8ImnDHfM/h T+hte8QIjAFOBBQrcUPAFV3sdyeUcCPEErYn1AKZCn38zRXZqhjFLv0O2qfi3NDjmeRv 217hGqqeJx9f1lF8+2CXyG1aIaJnbx0XnRB9QrjVqgmgTQ/68DQHFeytjJ/M2gPn5eWF e2AA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a14si1587645pgm.206.2019.06.06.02.09.35; Thu, 06 Jun 2019 02:09:53 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727705AbfFFJG1 (ORCPT + 99 others); Thu, 6 Jun 2019 05:06:27 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:38512 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727545AbfFFJG0 (ORCPT ); Thu, 6 Jun 2019 05:06:26 -0400 Received: from pps.filterd (m0098417.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x568vd0a089273 for ; Thu, 6 Jun 2019 05:06:25 -0400 Received: from e16.ny.us.ibm.com (e16.ny.us.ibm.com [129.33.205.206]) by mx0a-001b2d01.pphosted.com with ESMTP id 2sxx14x0p7-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 06 Jun 2019 05:06:25 -0400 Received: from localhost by e16.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 6 Jun 2019 10:06:24 +0100 Received: from b01cxnp22033.gho.pok.ibm.com (9.57.198.23) by e16.ny.us.ibm.com (146.89.104.203) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Thu, 6 Jun 2019 10:06:20 +0100 Received: from b01ledav003.gho.pok.ibm.com (b01ledav003.gho.pok.ibm.com [9.57.199.108]) by b01cxnp22033.gho.pok.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id x5696Jn623396806 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 6 Jun 2019 09:06:19 GMT Received: from b01ledav003.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C52C3B2066; Thu, 6 Jun 2019 09:06:19 +0000 (GMT) Received: from b01ledav003.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 92EA9B2064; Thu, 6 Jun 2019 09:06:19 +0000 (GMT) Received: from paulmck-ThinkPad-W541 (unknown [9.85.136.182]) by b01ledav003.gho.pok.ibm.com (Postfix) with ESMTP; Thu, 6 Jun 2019 09:06:19 +0000 (GMT) Received: by paulmck-ThinkPad-W541 (Postfix, from userid 1000) id 157B316C15CF; Thu, 6 Jun 2019 02:06:19 -0700 (PDT) Date: Thu, 6 Jun 2019 02:06:19 -0700 From: "Paul E. McKenney" To: Herbert Xu Cc: Alan Stern , Boqun Feng , Linus Torvalds , Frederic Weisbecker , Fengguang Wu , LKP , LKML , Netdev , "David S. Miller" , Andrea Parri , Luc Maranget , Jade Alglave Subject: Re: rcu_read_lock lost its compiler barrier Reply-To: paulmck@linux.ibm.com References: <20190603200301.GM28207@linux.ibm.com> <20190606045109.zjfxxbkzq4wb64bj@gondor.apana.org.au> <20190606060511.GA28207@linux.ibm.com> <20190606061438.nyzaeppdbqjt3jbp@gondor.apana.org.au> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190606061438.nyzaeppdbqjt3jbp@gondor.apana.org.au> User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-GCONF: 00 x-cbid: 19060609-0072-0000-0000-000004384692 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00011223; HX=3.00000242; KW=3.00000007; PH=3.00000004; SC=3.00000286; SDB=6.01213979; UDB=6.00638102; IPR=6.00995059; MB=3.00027204; MTD=3.00000008; XFM=3.00000015; UTC=2019-06-06 09:06:23 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 19060609-0073-0000-0000-00004C856DA7 Message-Id: <20190606090619.GC28207@linux.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-06-06_07:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1906060066 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jun 06, 2019 at 02:14:38PM +0800, Herbert Xu wrote: > On Wed, Jun 05, 2019 at 11:05:11PM -0700, Paul E. McKenney wrote: > > > > In case you were wondering, the reason that I was giving you such > > a hard time was that from what I could see, you were pushing for no > > {READ,WRITE}_ONCE() at all. ;-) > > Hmm, that's exactly what it should be in net/ipv4/inet_fragment.c. > We don't need the READ_ONCE/WRITE_ONCE (or volatile marking) at > all. Even if the compiler dices and slices the reads/writes of > "a" into a thousand pieces, it should still work if the RCU > primitives are worth their salt. OK, so I take it that there is additional synchronization in there somewhere that is not captured in your simplified example code? Or is your point instead that given the initial value of "a" being zero and the value stored to "a" being one, there is no way that any possible load and store tearing (your slicing and dicing) could possibly mess up the test of the value loaded from "a"? > But I do concede that in the general RCU case you must have the > READ_ONCE/WRITE_ONCE calls for rcu_dereference/rcu_assign_pointer. OK, good that we are in agreement on this part, at least! ;-) Thanx, Paul