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=-6.9 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=ham 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 87765C433E0 for ; Wed, 8 Jul 2020 14:31:07 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 3C23F206DF for ; Wed, 8 Jul 2020 14:31:07 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="Z109u7dx" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3C23F206DF Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id CAC156B00C0; Wed, 8 Jul 2020 10:31:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C35F36B00C4; Wed, 8 Jul 2020 10:31:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AFE906B00C7; Wed, 8 Jul 2020 10:31:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0220.hostedemail.com [216.40.44.220]) by kanga.kvack.org (Postfix) with ESMTP id 976BD6B00C0 for ; Wed, 8 Jul 2020 10:31:06 -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 193B82C78 for ; Wed, 8 Jul 2020 14:31:06 +0000 (UTC) X-FDA: 77015145732.30.shake39_08028d026ebd Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin30.hostedemail.com (Postfix) with ESMTP id D3AE5180B31D1 for ; Wed, 8 Jul 2020 14:31:02 +0000 (UTC) X-HE-Tag: shake39_08028d026ebd X-Filterd-Recvd-Size: 6313 Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) by imf48.hostedemail.com (Postfix) with ESMTP for ; Wed, 8 Jul 2020 14:31:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594218661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=rKC2bx14eHyjb/gYKwLehiBR3K2qmjX+EfAM9GW8MbE=; b=Z109u7dxUxr93Wk8jPEuNCQtOEuYSqj0yFXLAUd9n/auKhSrp/Kln29B0PKriL47FV0kPI b9a3orzOqTov6KVQUyN8RIPxCuxB06X1k3WEsvnTJPNM9S70E0wXXMaRO+7XgHSEbeKoe1 JrZk/sixfvEbV7zwtnaVfZVI0nQ/2XU= Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-146-GaofhHXANia2TOWlzDDGEg-1; Wed, 08 Jul 2020 10:30:59 -0400 X-MC-Unique: GaofhHXANia2TOWlzDDGEg-1 Received: by mail-qv1-f69.google.com with SMTP id j4so29380236qvt.20 for ; Wed, 08 Jul 2020 07:30:59 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=rKC2bx14eHyjb/gYKwLehiBR3K2qmjX+EfAM9GW8MbE=; b=Hj5+rcL1tscJlB00S6Mk7va+wJQYqkzCnHQusQmltoZ4/7wk51XrIl39sQ4SGnGUd9 4qH5lwaBoHCYrwlai33BxFEYKafYBe/FHfME5AibMU585m1VN8HMLOrTD0inspZeK6tF y+RAbBAjF/Lsj5gxiAWG0QRNHemISiD4l5qCFo/Kl21FTy5PMO+18Xhl2VlJf/7rPRfz FCs6/XKWHW/yt+CarTl1udUuwUImNWfOV2CqyqfwnwtVjIgwcQENvowvyyEnlzFuf6AU NLBctpmzaYwb/52HN7W6iZd81rS15zM9ze8nVPzj2UNp0H6H61tNhIAWKyYL48/vIaGM vqDA== X-Gm-Message-State: AOAM531/FIuC8FY+srgIxDWSPmAXHzgn7rj5WM384h31SJ1mxB/AiWq5 suvO5wlV4dwrTq1CqqnxUira9J61qMJI3iXFF2r6QpOa4oggF3/D+UyiDlLKEP8SzGU5ASeMVse g4fUs5d0Vo6A= X-Received: by 2002:ac8:1c09:: with SMTP id a9mr60809773qtk.64.1594218658618; Wed, 08 Jul 2020 07:30:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwYk2B2LITzgr08qVHFrCF5xDdaTXbhzj9HDMucSD4irg5jJk6wCgXMZq2DMNXcOuiETUUD8A== X-Received: by 2002:ac8:1c09:: with SMTP id a9mr60809747qtk.64.1594218658367; Wed, 08 Jul 2020 07:30:58 -0700 (PDT) Received: from xz-x1 ([2607:9880:19c8:6f::1f4f]) by smtp.gmail.com with ESMTPSA id k18sm25951849qki.30.2020.07.08.07.30.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jul 2020 07:30:57 -0700 (PDT) Date: Wed, 8 Jul 2020 10:30:54 -0400 From: Peter Xu To: Alexander Gordeev Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Gerald Schaefer , Linus Torvalds , Andrew Morton , Will Deacon , Andrea Arcangeli , David Rientjes , John Hubbard , Michael Ellerman , Heiko Carstens , Vasily Gorbik , Christian Borntraeger , linux-s390@vger.kernel.org Subject: Re: [PATCH v5 18/25] mm/s390: Use general page fault accounting Message-ID: <20200708143054.GB199122@xz-x1> References: <20200707225021.200906-1-peterx@redhat.com> <20200707225021.200906-19-peterx@redhat.com> <20200708054947.GA4026@oc3871087118.ibm.com> MIME-Version: 1.0 In-Reply-To: <20200708054947.GA4026@oc3871087118.ibm.com> Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=peterx@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspamd-Queue-Id: D3AE5180B31D1 X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam04 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 Wed, Jul 08, 2020 at 07:49:47AM +0200, Alexander Gordeev wrote: > On Tue, Jul 07, 2020 at 06:50:14PM -0400, Peter Xu wrote: > > Use the general page fault accounting by passing regs into handle_mm_fault(). > > It naturally solve the issue of multiple page fault accounting when page fault > > retry happened. > > > > CC: Heiko Carstens > > CC: Vasily Gorbik > > CC: Christian Borntraeger > > CC: linux-s390@vger.kernel.org > > Reviewed-by: Gerald Schaefer > > Acked-by: Gerald Schaefer > > Signed-off-by: Peter Xu > > --- > > arch/s390/mm/fault.c | 16 +--------------- > > 1 file changed, 1 insertion(+), 15 deletions(-) > > > > diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c > > index fc14df0b4d6e..9aa201df2e94 100644 > > --- a/arch/s390/mm/fault.c > > +++ b/arch/s390/mm/fault.c > > @@ -478,7 +478,7 @@ static inline vm_fault_t do_exception(struct pt_regs *regs, int access) > > * make sure we exit gracefully rather than endlessly redo > > * the fault. > > */ > > - fault = handle_mm_fault(vma, address, flags, NULL); > > + fault = handle_mm_fault(vma, address, flags, regs); > > if (fault_signal_pending(fault, regs)) { > > fault = VM_FAULT_SIGNAL; > > if (flags & FAULT_FLAG_RETRY_NOWAIT) > > @@ -488,21 +488,7 @@ static inline vm_fault_t do_exception(struct pt_regs *regs, int access) > > if (unlikely(fault & VM_FAULT_ERROR)) > > goto out_up; > > > > - /* > > - * 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) { > > Shouldn't this check ^^^ be dropped as well? > > Since commit 4064b9827063 ("mm: allow VM_FAULT_RETRY for multiple times") > FAULT_FLAG_ALLOW_RETRY never gets unset, so no need to check.. I agree, but it should be out of the scope of the accounting changes that this patch wants to address. Maybe more suitable for a work on top? This should also exist for most of the archs too, and I'm also not sure whether compiler could be smart enough to optimize this directly since it seems to have all the knowledge. Thanks, -- Peter Xu