From patchwork Tue Jul 7 22:50:16 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Xu X-Patchwork-Id: 1324775 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=sparclinux-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=HWI0SCET; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4B1d3120qkz9sTm for ; Wed, 8 Jul 2020 08:51:25 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728441AbgGGWvV (ORCPT ); Tue, 7 Jul 2020 18:51:21 -0400 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:50680 "EHLO us-smtp-delivery-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729742AbgGGWvC (ORCPT ); Tue, 7 Jul 2020 18:51:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594162261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=goLnSgg43tg59jYNEWM6oaQtVeQ81wyjekL4b1iRhCw=; b=HWI0SCETIKWO6lFhXtY7HVlOdKVYg6f/TkFh5KlzcgOGxFe/uVA0cUaYDAkZlLeBAlmlPA bZfXjQzeCF4bYOBL/9YZ/P09nEmigYFiT6spmKPwfzHRcsgJE884+FInO9lKCZsx4posMl IjhHpwaCLWTRqbGrLdJU2Hal3ZV20Dg= Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-152-lgt0VzKkMVyKNjc4R95tVA-1; Tue, 07 Jul 2020 18:50:57 -0400 X-MC-Unique: lgt0VzKkMVyKNjc4R95tVA-1 Received: by mail-qt1-f199.google.com with SMTP id t36so13853021qtc.16 for ; Tue, 07 Jul 2020 15:50:57 -0700 (PDT) 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=goLnSgg43tg59jYNEWM6oaQtVeQ81wyjekL4b1iRhCw=; b=ihd9/UAA8XayvxJNRBt1ZLoPs88Ljky905NaiTpNkmaNUGA3Jk9fKpGPo8it6GiBCM a8MLHqqovxPjdAABVT5i3YmO24XmKvjrA5lmgoanbK0kfy/bSPT7dkCiyHHLpbHxSVDn 5p/0cALHxfRYwH+esMMtwbAyvLHjvirgIjt3C+Km8+aXz0Z/vaU124M26cR3hCMS2fhr MTDCaPXq0hYyBHAF7NEnPsWnRrwKOZ4YZv90oD2vygvkeyo8TO0lyn5spLhCXF0cXEwz QzPUyagVu4YNEQfjLslFYjdT2y2HYDczIBi12jFB7ldaSgk3rEm7rkEkTYNugxYfDW5d 3zUQ== X-Gm-Message-State: AOAM530r87JLaQWhecfxGf7i/yzxmryvzT1GuUOBYViz+F4QBYcOmfwh vb+IoUsS8B8g8ltlov6j8fPvFu8Qfh7aHjlwH6U4JCu11DCd+tyzO5R3GPg58ygtzIHzdoIfhlA NxcAZuFj2dpu4OknbhqgTFg== X-Received: by 2002:a37:c246:: with SMTP id j6mr51752075qkm.444.1594162257352; Tue, 07 Jul 2020 15:50:57 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy/jy6TEpSsbY6d9HXsHHh/wU6lHsQhKJI3A8F2vFrC2VOLnGIMx4NbmWJ0GFeoTMgVhdK5UA== X-Received: by 2002:a37:c246:: with SMTP id j6mr51752065qkm.444.1594162257119; Tue, 07 Jul 2020 15:50:57 -0700 (PDT) Received: from xz-x1.redhat.com ([2607:9880:19c0:32::2]) by smtp.gmail.com with ESMTPSA id j16sm26267642qtp.92.2020.07.07.15.50.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jul 2020 15:50:56 -0700 (PDT) From: Peter Xu To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: Gerald Schaefer , Linus Torvalds , peterx@redhat.com, Andrew Morton , Will Deacon , Andrea Arcangeli , David Rientjes , John Hubbard , Michael Ellerman , "David S . Miller" , sparclinux@vger.kernel.org Subject: [PATCH v5 20/25] mm/sparc32: Use general page fault accounting Date: Tue, 7 Jul 2020 18:50:16 -0400 Message-Id: <20200707225021.200906-21-peterx@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200707225021.200906-1-peterx@redhat.com> References: <20200707225021.200906-1-peterx@redhat.com> MIME-Version: 1.0 Sender: sparclinux-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: sparclinux@vger.kernel.org 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: David S. Miller CC: sparclinux@vger.kernel.org Acked-by: David S. Miller Signed-off-by: Peter Xu --- arch/sparc/mm/fault_32.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/arch/sparc/mm/fault_32.c b/arch/sparc/mm/fault_32.c index 06af03db4417..8071bfd72349 100644 --- a/arch/sparc/mm/fault_32.c +++ b/arch/sparc/mm/fault_32.c @@ -234,7 +234,7 @@ asmlinkage void do_sparc_fault(struct pt_regs *regs, int text_fault, int write, * 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)) return; @@ -250,15 +250,6 @@ asmlinkage void do_sparc_fault(struct pt_regs *regs, int text_fault, int write, } if (flags & FAULT_FLAG_ALLOW_RETRY) { - if (fault & VM_FAULT_MAJOR) { - current->maj_flt++; - perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MAJ, - 1, regs, address); - } else { - current->min_flt++; - perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MIN, - 1, regs, address); - } if (fault & VM_FAULT_RETRY) { flags |= FAULT_FLAG_TRIED; From patchwork Tue Jul 7 22:50:17 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Xu X-Patchwork-Id: 1324774 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=sparclinux-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=UHmiCZt9; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4B1d2f0kT5z9sRR for ; Wed, 8 Jul 2020 08:51:06 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729764AbgGGWvF (ORCPT ); Tue, 7 Jul 2020 18:51:05 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:42537 "EHLO us-smtp-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729707AbgGGWvE (ORCPT ); Tue, 7 Jul 2020 18:51:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594162263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rPMcfxrEZ236mfezmh1VLu12AnYLZCZwUp1nicTiMR4=; b=UHmiCZt9gevQq4dI007uHXwiXYkKXvAHUPaCCkrC9DkaSY0AGJikbS6e14XH/lVl/eLCdI k2uWdIRtO9zRVwxIy07h2UIRx/A4XyG8Za6U6MVXMtnxAvhfzcFwk6uS0d+RNhsJ2ffcAG YcjFIFHteQfSKma20lcprvhJpHALE4s= Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-153-1U01RAjxOSadH2UBglZ6iA-1; Tue, 07 Jul 2020 18:50:59 -0400 X-MC-Unique: 1U01RAjxOSadH2UBglZ6iA-1 Received: by mail-qk1-f199.google.com with SMTP id s5so10848342qkj.1 for ; Tue, 07 Jul 2020 15:50: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:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rPMcfxrEZ236mfezmh1VLu12AnYLZCZwUp1nicTiMR4=; b=ouy82MMgS+xCdsS5wnQ5ypc8DMJ9C8BurAiYFn2mIwt3EVQGqT8vZU/g8H7WrR2M8+ EN3dU2z6CkypxLlx19X2OvIwBBuLwKcp9d/ErmtJa50rV9UgIcYTlA7HVCDAENbOXuab WGyoVCOQ+bDuwdexV6SeJ+1FcA7tqx2t24GnHJsW5irtMqgWaf1LfeblRB8wo0wzxKwy tdocAsSxcbrk3Ze93LNuCYJWJ++5McDPnaJJXQqOja2FzRRwuX235zAmVPhLGIEmp5JS /FWHbgt6g+ylz9cuGHLizCO5YQlrxYYQKoO9GVAAamvfEZH+G1FesDt2A64D0oT2zG6v 6yTQ== X-Gm-Message-State: AOAM530bVdzw6dKtIUyJQ0Yv3JOugPsOzabGRmvEIcDYzO+hxQKvPTBf qnlTuxtyD3fMh178w2Lu0HMra2TQ9oEN0Js28HWadd4qagVsCBeJVCxKqbGqsMbEvjw9NhStCOZ 5vF9wBY2ZZH/SA404+DFlXA== X-Received: by 2002:a05:620a:b1a:: with SMTP id t26mr55133333qkg.473.1594162258930; Tue, 07 Jul 2020 15:50:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz2J0ngM7MXGA4Cel+DD1H81KUpKJX7/J++AxGaN1fxx6mcf6hQbpqhfEsYybz9zmsLxfBU8g== X-Received: by 2002:a05:620a:b1a:: with SMTP id t26mr55133309qkg.473.1594162258730; Tue, 07 Jul 2020 15:50:58 -0700 (PDT) Received: from xz-x1.redhat.com ([2607:9880:19c0:32::2]) by smtp.gmail.com with ESMTPSA id j16sm26267642qtp.92.2020.07.07.15.50.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jul 2020 15:50:58 -0700 (PDT) From: Peter Xu To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: Gerald Schaefer , Linus Torvalds , peterx@redhat.com, Andrew Morton , Will Deacon , Andrea Arcangeli , David Rientjes , John Hubbard , Michael Ellerman , "David S . Miller" , sparclinux@vger.kernel.org Subject: [PATCH v5 21/25] mm/sparc64: Use general page fault accounting Date: Tue, 7 Jul 2020 18:50:17 -0400 Message-Id: <20200707225021.200906-22-peterx@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200707225021.200906-1-peterx@redhat.com> References: <20200707225021.200906-1-peterx@redhat.com> MIME-Version: 1.0 Sender: sparclinux-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: sparclinux@vger.kernel.org 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: David S. Miller CC: sparclinux@vger.kernel.org Acked-by: David S. Miller Signed-off-by: Peter Xu --- arch/sparc/mm/fault_64.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/arch/sparc/mm/fault_64.c b/arch/sparc/mm/fault_64.c index 9ebee14ee893..0a6bcc85fba7 100644 --- a/arch/sparc/mm/fault_64.c +++ b/arch/sparc/mm/fault_64.c @@ -422,7 +422,7 @@ asmlinkage void __kprobes do_sparc64_fault(struct pt_regs *regs) goto bad_area; } - fault = handle_mm_fault(vma, address, flags, NULL); + fault = handle_mm_fault(vma, address, flags, regs); if (fault_signal_pending(fault, regs)) goto exit_exception; @@ -438,15 +438,6 @@ asmlinkage void __kprobes do_sparc64_fault(struct pt_regs *regs) } if (flags & FAULT_FLAG_ALLOW_RETRY) { - if (fault & VM_FAULT_MAJOR) { - current->maj_flt++; - perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MAJ, - 1, regs, address); - } else { - current->min_flt++; - perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MIN, - 1, regs, address); - } if (fault & VM_FAULT_RETRY) { flags |= FAULT_FLAG_TRIED;