From patchwork Thu May 28 11:01:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: hui yang X-Patchwork-Id: 11575581 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8857492A for ; Thu, 28 May 2020 11:02:07 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 5550D20888 for ; Thu, 28 May 2020 11:02:07 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="tmtHBLEe" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5550D20888 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 0BDC8800C1; Thu, 28 May 2020 07:01:51 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id F3F6C800BE; Thu, 28 May 2020 07:01:50 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CF0CD800C1; Thu, 28 May 2020 07:01:50 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0020.hostedemail.com [216.40.44.20]) by kanga.kvack.org (Postfix) with ESMTP id B432F800BE for ; Thu, 28 May 2020 07:01:50 -0400 (EDT) Received: from smtpin30.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 652024DD9 for ; Thu, 28 May 2020 11:01:50 +0000 (UTC) X-FDA: 76865837580.30.crack74_6751081ed2d56 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin30.hostedemail.com (Postfix) with ESMTP id 4B13C180B3C8B for ; Thu, 28 May 2020 11:01:50 +0000 (UTC) X-Spam-Summary: 2,0,0,8491ee11e4b407d6,d41d8cd98f00b204,yanghui.def@gmail.com,,RULES_HIT:41:355:379:541:800:960:973:988:989:1260:1345:1437:1534:1540:1711:1730:1747:1777:1792:2393:2559:2562:2693:3138:3139:3140:3141:3142:3352:3865:3867:3868:3870:3871:3872:4321:5007:6261:6653:7514:7576:7901:8957:9413:10004:11026:11473:11658:11914:12043:12296:12297:12517:12519:12555:12679:12895:13069:13311:13357:14096:14181:14384:14394:14687:14721:21080:21444:21451:21627:21666:21990:30012:30054,0,RBL:209.85.214.195:@gmail.com:.lbl8.mailshell.net-62.50.0.100 66.100.201.100,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fp,MSBL:0,DNSBL:neutral,Custom_rules:0:0:0,LFtime:23,LUA_SUMMARY:none X-HE-Tag: crack74_6751081ed2d56 X-Filterd-Recvd-Size: 3537 Received: from mail-pl1-f195.google.com (mail-pl1-f195.google.com [209.85.214.195]) by imf50.hostedemail.com (Postfix) with ESMTP for ; Thu, 28 May 2020 11:01:49 +0000 (UTC) Received: by mail-pl1-f195.google.com with SMTP id x18so10318803pll.6 for ; Thu, 28 May 2020 04:01:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=7t9LKEkWg2ilNK70yl4+TcteBpvH9ibUZ/Akr6Tv+Fo=; b=tmtHBLEeeGbTcGvbFdXbE13zi+xklxBJTnJy0IfNObt4PXR4BycFEADOSKgV47GoDJ VVmPowr3pYoqmaUynuWNgu6k3E4DECbfb3hNRcYru8s7ubb62LzF3g4ZQYFwDmlFtUdb +gKb2MIm8hxjryji4ulo9IB85f3VC7D02+c3Z4+BII+vpA2YblQz2NTp7pCiewE0b9WO hfa8hz1cxj/GaL8UwJyXTnPpF/0F/8ytAdJGiZYvVsTpcEnhe+17b0BgEP/U5780bzJw 8bOuQ0C77JQKa18m/IhKSEaQ1cf/B/792yJ9Bsl0N88YNF1c1PoCgBDAgJVyBW/y6g9H Moqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=7t9LKEkWg2ilNK70yl4+TcteBpvH9ibUZ/Akr6Tv+Fo=; b=Oe9DdZ3ngELdnlaS5ptKj6GSPAFmrXqiAbx7AnOU82VNLLYUbHNB6lbrqmsWJ23iax pVMl1fH3v59iLMVdgY/9sR7I8x0Q6i7EUshqXVN2LQdd087kPKlhQy4aMGk+CyY4q/k2 itPviqYKt9PzghLqizTq0a4ui1+ANwFZYSB/AOIp44jP9EESIuBICKz53CSfWVll2DMh UilfWAWDBsRVa0MEQFebXi02oNGEKGX3mm/3ISZdEgfYs3eL59OCFsWf+RV8u2yEkDg3 EXgJJCUHLWrcD9yoyw7vGWQPqgYBcmoWw2GFBtNBb44Zg7kgyotY+efngHxuiOqc0g0e k9QQ== X-Gm-Message-State: AOAM533pko0M1AkBlhnE6xpAoyDT/tUM0H901SYdLleKF3FnaSik1KNL 2st42va7Xialat4IYnC/CFQ= X-Google-Smtp-Source: ABdhPJyA4TqXuo1kQVGSpz6X9ENxtK6XLSgF2v/Gl/p7iy5XQyo7dKmINnsDXnWD7QMekIHnXAiMbw== X-Received: by 2002:a17:902:684f:: with SMTP id f15mr2995154pln.237.1590663708876; Thu, 28 May 2020 04:01:48 -0700 (PDT) Received: from ubuntu.localdomain ([118.193.245.26]) by smtp.gmail.com with ESMTPSA id k24sm4463618pfk.134.2020.05.28.04.01.46 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 May 2020 04:01:48 -0700 (PDT) From: hui yang To: willy@infradead.org Cc: akpm@linux-foundation.org, linux-mm@kvack.org, YangHui Subject: [PATCH] mm page_fault: Reduce code complexity Date: Thu, 28 May 2020 19:01:39 +0800 Message-Id: <1590663699-4541-1-git-send-email-yanghui.def@gmail.com> X-Mailer: git-send-email 2.7.4 X-Rspamd-Queue-Id: 4B13C180B3C8B X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam05 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: YangHui if pte_alloc_one failed alloc a page, do_fault_around will return 0. and it will come into __do_fault(), it also pte_alloc_one a page. in __do_fault and do_fault_around, pte_alloc_one did the same thing, if do_fault_around alloc page filed,we just let it return. there is no need to come into __do_fault to do repetitive pte_alloc_one. Signed-off-by: YangHui --- mm/memory.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mm/memory.c b/mm/memory.c index f703fe8..a2d50a9 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -3799,8 +3799,10 @@ static vm_fault_t do_fault_around(struct vm_fault *vmf) if (pmd_none(*vmf->pmd)) { vmf->prealloc_pte = pte_alloc_one(vmf->vma->vm_mm); - if (!vmf->prealloc_pte) + if (!vmf->prealloc_pte) { + ret = VM_FAULT_OOM; goto out; + } smp_wmb(); /* See comment in __pte_alloc() */ }