Received: by 10.192.165.148 with SMTP id m20csp3539384imm; Mon, 23 Apr 2018 08:12:51 -0700 (PDT) X-Google-Smtp-Source: AIpwx496wHqhEPW2soXVqwAzBRUmj+FUw6+AwluBk5VnPtc9jcRmOZgDfsfm7EXVWxkz4f7K32LH X-Received: by 10.98.35.215 with SMTP id q84mr13249445pfj.31.1524496370898; Mon, 23 Apr 2018 08:12:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524496370; cv=none; d=google.com; s=arc-20160816; b=IP083CfIPbq0Z5ltCA/o42F5+zKul8CS+KCpKz2UKdDJOzgXpUEvXhOeLVGPQB7ki1 IIctHOkKLaPa3QJSnYkP3pqqt4s9j0wzLm6yq9KyHrBtEx2P2u9zD2RBpm/R9d5el+Vw G/tiyGVEwv9HryKN8mBz5X6fpqnUHvJYlknEwxqbJZvyDTIXcHpzcQhN++n5AbaFQv3G Xa83oz48/uU6w1aMSZbxXC8F3mFB4vR5YhHnVfi4C7JoEXriXz6+Jbvbau7D3aT7h+S6 VFNx1L+3lggD1ZjYD3wxJPE/P5pmOBd+TIrNR1gun1FKuFrD0MZXUsguM+QUSCY4Xlh/ Amxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date:from :references:cc:to:subject:arc-authentication-results; bh=d4lt2gapII9inueikJmPY2uaJ2h3Zo1Z2ux8TcPzyCU=; b=h7z9Sk6PRg0lBhv266A6qo9jCC2XngCxD0WGUFcNnilMvodq7bVVL/2jCa5k7+mtUA dsR/sl82Fda90Ipcv4N4bGu8tJKqO8P8cAo+zc3L5HPUcOnGveJPErE9H5axDPCVhRAX 5rpesQICkbKRSCQnZUN/AHvMrT6Ny46lfOOX9dDTirYLLmV9Tz1b4aZfIylLLf1jiljt NDxBMZGUOY+W5tRYzr97DpUIqj7xsc5rTiiDhiDTu5Fdy72iT3JMvl2Zjvt/2z9wCGpK yruHfgXuo9GKQyg99150m81JEabmHFBCXtUtOMQx/3umuQYMw22kjNBECoGeiS0U12up 3brQ== 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 a16si4856498pgn.39.2018.04.23.08.12.35; Mon, 23 Apr 2018 08:12:50 -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 S1755711AbeDWPKo (ORCPT + 99 others); Mon, 23 Apr 2018 11:10:44 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:51118 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755680AbeDWPKi (ORCPT ); Mon, 23 Apr 2018 11:10:38 -0400 Received: from pps.filterd (m0098399.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w3NF9BQm048736 for ; Mon, 23 Apr 2018 11:10:37 -0400 Received: from e06smtp11.uk.ibm.com (e06smtp11.uk.ibm.com [195.75.94.107]) by mx0a-001b2d01.pphosted.com with ESMTP id 2hhgjhvku0-1 (version=TLSv1.2 cipher=AES256-SHA256 bits=256 verify=NOT) for ; Mon, 23 Apr 2018 11:10:37 -0400 Received: from localhost by e06smtp11.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 23 Apr 2018 16:10:33 +0100 Received: from b06cxnps3074.portsmouth.uk.ibm.com (9.149.109.194) by e06smtp11.uk.ibm.com (192.168.101.141) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Mon, 23 Apr 2018 16:10:24 +0100 Received: from d06av21.portsmouth.uk.ibm.com (d06av21.portsmouth.uk.ibm.com [9.149.105.232]) by b06cxnps3074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w3NFAOW910944864; Mon, 23 Apr 2018 15:10:24 GMT Received: from d06av21.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id AD28A52050; Mon, 23 Apr 2018 15:01:04 +0100 (BST) Received: from [9.145.46.93] (unknown [9.145.46.93]) by d06av21.portsmouth.uk.ibm.com (Postfix) with ESMTP id BC30B52041; Mon, 23 Apr 2018 15:00:57 +0100 (BST) Subject: Re: [PATCH v10 01/25] mm: introduce CONFIG_SPECULATIVE_PAGE_FAULT To: Minchan Kim Cc: akpm@linux-foundation.org, mhocko@kernel.org, peterz@infradead.org, kirill@shutemov.name, ak@linux.intel.com, dave@stgolabs.net, jack@suse.cz, Matthew Wilcox , benh@kernel.crashing.org, mpe@ellerman.id.au, paulus@samba.org, Thomas Gleixner , Ingo Molnar , hpa@zytor.com, Will Deacon , Sergey Senozhatsky , Andrea Arcangeli , Alexei Starovoitov , kemi.wang@intel.com, sergey.senozhatsky.work@gmail.com, Daniel Jordan , David Rientjes , Jerome Glisse , Ganesh Mahendran , linux-kernel@vger.kernel.org, linux-mm@kvack.org, haren@linux.vnet.ibm.com, khandual@linux.vnet.ibm.com, npiggin@gmail.com, bsingharora@gmail.com, paulmck@linux.vnet.ibm.com, Tim Chen , linuxppc-dev@lists.ozlabs.org, x86@kernel.org References: <1523975611-15978-1-git-send-email-ldufour@linux.vnet.ibm.com> <1523975611-15978-2-git-send-email-ldufour@linux.vnet.ibm.com> <20180423055809.GA114098@rodete-desktop-imager.corp.google.com> From: Laurent Dufour Date: Mon, 23 Apr 2018 17:10:15 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <20180423055809.GA114098@rodete-desktop-imager.corp.google.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 x-cbid: 18042315-0040-0000-0000-00000450926A X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18042315-0041-0000-0000-000020F4FA75 Message-Id: <10b5f8da-9c53-f833-1212-7a1eb215d534@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-04-23_05:,, 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=1011 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1804230152 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 23/04/2018 07:58, Minchan Kim wrote: > Hi Laurent, > > I guess it's good timing to review. Guess LSF/MM goes so might change > a lot since then. :) Anyway, I grap a time to review. Hi, Thanks a lot for reviewing this series. > On Tue, Apr 17, 2018 at 04:33:07PM +0200, Laurent Dufour wrote: >> This configuration variable will be used to build the code needed to >> handle speculative page fault. >> >> By default it is turned off, and activated depending on architecture >> support, SMP and MMU. > > Can we have description in here why it depends on architecture? The reason is that the per architecture page fault code must handle the speculative page fault. It is done in this series for x86 and ppc64. I'll make it explicit here. > >> >> Suggested-by: Thomas Gleixner >> Suggested-by: David Rientjes >> Signed-off-by: Laurent Dufour >> --- >> mm/Kconfig | 22 ++++++++++++++++++++++ >> 1 file changed, 22 insertions(+) >> >> diff --git a/mm/Kconfig b/mm/Kconfig >> index d5004d82a1d6..5484dca11199 100644 >> --- a/mm/Kconfig >> +++ b/mm/Kconfig >> @@ -752,3 +752,25 @@ config GUP_BENCHMARK >> performance of get_user_pages_fast(). >> >> See tools/testing/selftests/vm/gup_benchmark.c >> + >> +config ARCH_SUPPORTS_SPECULATIVE_PAGE_FAULT >> + def_bool n >> + >> +config SPECULATIVE_PAGE_FAULT >> + bool "Speculative page faults" >> + default y >> + depends on ARCH_SUPPORTS_SPECULATIVE_PAGE_FAULT >> + depends on MMU && SMP >> + help >> + Try to handle user space page faults without holding the mmap_sem. >> + >> + This should allow better concurrency for massively threaded process >> + since the page fault handler will not wait for other threads memory >> + layout change to be done, assuming that this change is done in another >> + part of the process's memory space. This type of page fault is named >> + speculative page fault. >> + >> + If the speculative page fault fails because of a concurrency is >> + detected or because underlying PMD or PTE tables are not yet >> + allocating, it is failing its processing and a classic page fault >> + is then tried. >> -- >> 2.7.4 >> >