From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753960AbdCPTLR (ORCPT ); Thu, 16 Mar 2017 15:11:17 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:46778 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753888AbdCPTLN (ORCPT ); Thu, 16 Mar 2017 15:11:13 -0400 Date: Thu, 16 Mar 2017 12:11:02 -0700 From: "Paul E. McKenney" To: Peter Zijlstra Cc: "Kirill A. Shutemov" , Linus Torvalds , Andrew Morton , x86@kernel.org, Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Dave Hansen , "Aneesh Kumar K . V" , Steve Capper , Dann Frazier , Catalin Marinas , linux-arch@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 7/7] x86/mm: Switch to generic get_user_page_fast() implementation Reply-To: paulmck@linux.vnet.ibm.com References: <20170316152655.37789-1-kirill.shutemov@linux.intel.com> <20170316152655.37789-8-kirill.shutemov@linux.intel.com> <20170316172046.sl7j5elg77yjevau@hirez.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170316172046.sl7j5elg77yjevau@hirez.programming.kicks-ass.net> User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-GCONF: 00 x-cbid: 17031619-0040-0000-0000-000002E9A748 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00006794; HX=3.00000240; KW=3.00000007; PH=3.00000004; SC=3.00000206; SDB=6.00834768; UDB=6.00409984; IPR=6.00612423; BA=6.00005215; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009; ZB=6.00000000; ZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00014676; XFM=3.00000013; UTC=2017-03-16 19:11:05 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17031619-0041-0000-0000-000006DDA7B9 Message-Id: <20170316191102.GM3637@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-03-16_15:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=2 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1702020001 definitions=main-1703160146 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Mar 16, 2017 at 06:20:46PM +0100, Peter Zijlstra wrote: > On Thu, Mar 16, 2017 at 06:26:55PM +0300, Kirill A. Shutemov wrote: > > +config HAVE_GENERIC_RCU_GUP > > + def_bool y > > + > > Nothing immediately jumped out to me; except that this option might be > misnamed. > > AFAICT that code does not in fact rely on HAVE_RCU_TABLE_FREE; it will > happily work with the (x86) broadcast IPI invalidate model, as you show > here. > > Architectures that do not do that obviously need HAVE_RCU_TABLE_FREE, > but that is not the point I feel. > > Also, this code hard relies on IRQ-disable delaying grace periods, which > is mostly true I think, but has always been something Paul didn't really > want to commit too firmly to. That is quite true! The only case where IRQ-disable is guaranteed to delay grace periods is when you are using RCU-sched, in other words synchronize_sched() and call_rcu_sched(). And even then, the CPU cannot be in the idle loop, cannot be offline, and cannot be a nohz_full CPU on its way to/from userspace execution. Thanx, Paul