From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1ED8BC433DF for ; Sat, 11 Jul 2020 19:43:52 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id BB3A22078B for ; Sat, 11 Jul 2020 19:43:51 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=dabbelt-com.20150623.gappssmtp.com header.i=@dabbelt-com.20150623.gappssmtp.com header.b="mylwVBf8" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BB3A22078B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=dabbelt.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 0650F6B0006; Sat, 11 Jul 2020 15:43:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0160A6B0007; Sat, 11 Jul 2020 15:43:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E476E6B0008; Sat, 11 Jul 2020 15:43:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0176.hostedemail.com [216.40.44.176]) by kanga.kvack.org (Postfix) with ESMTP id CBD2C6B0006 for ; Sat, 11 Jul 2020 15:43:50 -0400 (EDT) Received: from smtpin10.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 664BF1F06 for ; Sat, 11 Jul 2020 19:43:50 +0000 (UTC) X-FDA: 77026820220.10.bat82_4b059ae26ed9 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin10.hostedemail.com (Postfix) with ESMTP id A503F16A4A1 for ; Sat, 11 Jul 2020 19:43:49 +0000 (UTC) X-HE-Tag: bat82_4b059ae26ed9 X-Filterd-Recvd-Size: 5400 Received: from mail-pf1-f196.google.com (mail-pf1-f196.google.com [209.85.210.196]) by imf13.hostedemail.com (Postfix) with ESMTP for ; Sat, 11 Jul 2020 19:43:49 +0000 (UTC) Received: by mail-pf1-f196.google.com with SMTP id i14so4040964pfu.13 for ; Sat, 11 Jul 2020 12:43:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dabbelt-com.20150623.gappssmtp.com; s=20150623; h=date:subject:in-reply-to:cc:from:to:message-id:mime-version :content-transfer-encoding; bh=yw7ehmxORJy4sIbNya0u48Qorh9d3UtEM0gh14sgRLI=; b=mylwVBf8ZP2cYI+vTV2Iy0TSPoCBuUKKyI4kqGysYHwgxggSoRwfygWDMUMzv9ujyu pD4eMK9Luu4/KaXspRyW+FNGSxtLFk1h74sHUHFGQrL0DxfCBP02tgnqQ0cGQ/fe1dTG fIN5rFmGpXbSZCcN5ocYClQVRgVWqeZk+wGZE+lEm8LMJ1nD1NhY82a/ABi408RXk/Fo PA/1uOKMgMSaFnb+JUSYB1cL9LTMH014FiNk5/9GbQ2dZy5cgf0pp7EerFmUmiCViucE RdEQCmSOtMtXS/u/Cv3TZFEYae1JTMfmufBxxx/T1mXwll7GT/SNtQ3592IV34LhHBRT iRgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:subject:in-reply-to:cc:from:to:message-id :mime-version:content-transfer-encoding; bh=yw7ehmxORJy4sIbNya0u48Qorh9d3UtEM0gh14sgRLI=; b=iShLjiIe5NwKWZVow1cRBlYz6/P3jyVS1b7p9cm/DzizOf4uNLhZ4dfX5hgPV/ry/4 GI3fNmQVw4XCR8eW/BRvCG2Zcv0rpqq79vCFzUGr4KTxLP6WLytHpVZjJvmk5ZHfj++f MlqbrSU3WOuXEAn8Wch0/UTnL01sTlqnXtn0+3gCbCKdpjJR9sDYDmg6Iwtb1WQSmhmZ uhRXdtBs6jXQJmyMmIZjwElCBLt7+Yyf0fu9osqAjFlg+8HKwK4AXIqQ8mnz5eYn6EUd tHWlY3HO23Nu+Z2rJ0WFwXoCmkeKE2jN3dvWFv/d+Hcb79GFC7BsUWoxL/YkDNWYj86i xwHA== X-Gm-Message-State: AOAM531zY9Gg2XcGu4BmMaPp5c22wtpySmtDI4e7w7pFCngkMclPlMtE 438t1JtNQ862I1ssudORrvxeraJfD6P/tw== X-Google-Smtp-Source: ABdhPJzK9+khKr+Z9s7skyyuV7g90/sDvKB6R7Wtu2va4YLg1bmw3EyhtKykgJkirCYxta5YMCs4gQ== X-Received: by 2002:a63:cb03:: with SMTP id p3mr62374583pgg.444.1594496627665; Sat, 11 Jul 2020 12:43:47 -0700 (PDT) Received: from localhost (76-210-143-223.lightspeed.sntcca.sbcglobal.net. [76.210.143.223]) by smtp.gmail.com with ESMTPSA id t137sm9573449pgc.32.2020.07.11.12.43.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Jul 2020 12:43:47 -0700 (PDT) Date: Sat, 11 Jul 2020 12:43:47 -0700 (PDT) X-Google-Original-Date: Sat, 11 Jul 2020 12:35:18 PDT (-0700) Subject: Re: [PATCH 17/26] mm/riscv: Use general page fault accounting In-Reply-To: <20200626223625.199813-1-peterx@redhat.com> CC: linux-mm@kvack.org, linux-kernel@vger.kernel.org, peterx@redhat.com, akpm@linux-foundation.org, Linus Torvalds , gerald.schaefer@de.ibm.com, aarcange@redhat.com, will@kernel.org, mpe@ellerman.id.au, Paul Walmsley , aou@eecs.berkeley.edu, linux-riscv@lists.infradead.org From: Palmer Dabbelt To: peterx@redhat.com Message-ID: Mime-Version: 1.0 (MHng) Content-Type: text/plain; charset=utf-8; format=flowed X-Rspamd-Queue-Id: A503F16A4A1 X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam05 Content-Transfer-Encoding: quoted-printable X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Fri, 26 Jun 2020 15:36:25 PDT (-0700), peterx@redhat.com wrote: > Use the general page fault accounting by passing regs into handle_mm_fa= ult(). > It naturally solve the issue of multiple page fault accounting when pag= e fault > retry happened. > > CC: Paul Walmsley > CC: Palmer Dabbelt > CC: Albert Ou > CC: linux-riscv@lists.infradead.org > Signed-off-by: Peter Xu > --- > arch/riscv/mm/fault.c | 16 +--------------- > 1 file changed, 1 insertion(+), 15 deletions(-) > > diff --git a/arch/riscv/mm/fault.c b/arch/riscv/mm/fault.c > index 677ee1bb11ac..e796ba02b572 100644 > --- a/arch/riscv/mm/fault.c > +++ b/arch/riscv/mm/fault.c > @@ -110,7 +110,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs) > * make sure we exit gracefully rather than endlessly redo > * the fault. > */ > - fault =3D handle_mm_fault(vma, addr, flags, NULL); > + fault =3D handle_mm_fault(vma, addr, flags, regs); > > /* > * If we need to retry but a fatal signal is pending, handle the > @@ -128,21 +128,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs= ) > BUG(); > } > > - /* > - * Major/minor page fault accounting is only done on the > - * initial attempt. If we go through a retry, it is extremely > - * likely that the page will be found in page cache at that point. > - */ > if (flags & FAULT_FLAG_ALLOW_RETRY) { > - if (fault & VM_FAULT_MAJOR) { > - tsk->maj_flt++; > - perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MAJ, > - 1, regs, addr); > - } else { > - tsk->min_flt++; > - perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MIN, > - 1, regs, addr); > - } > if (fault & VM_FAULT_RETRY) { > flags |=3D FAULT_FLAG_TRIED; This still slightly changes the accounting numbers, but I don't think it = does so in a way that's meaningful enough to care about. SIGBUS is the only o= ne that might happen frequently enough to notice, I doubt anyone cares about whether faults are accounted for during OOM. Acked-by: Palmer Dabbelt Thanks!