From patchwork Tue Apr 15 01:18:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Junxuan Liao X-Patchwork-Id: 14051283 Received: from mx0b-007b0c01.pphosted.com (mx0b-007b0c01.pphosted.com [205.220.177.71]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2DFED199947; Tue, 15 Apr 2025 01:19:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.71 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744679971; cv=fail; b=jCim4hnNfDKJaUYsC1ZPmgulg+ycmcnsyzrEc3qozFRtlenmntc6jF6aE9D9JCMjOXXGW6ZvJ9U9n6rxwWdEiIcl6riXCK1cfDB2G2tRSRqBlt/dA49O5nkFJ0jZTYqw52jQuQHA/9af+zbHVXvGK2bZ9MTr6NiPw0zbY5oNCE8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744679971; c=relaxed/simple; bh=v0htc9iXuOjwf/xeepH3vLtqGKOi6g56Cz6xBERX6xE=; h=Message-ID:Date:From:Subject:To:Cc:Content-Type:MIME-Version; b=hFDNktcxGuPc2PAXw/ZzNqOazikQ30FEYkGFkvrvt2mY6MRS7T0rlxed2uZomzRMqefT1ivSSPwmTWfPC9z6czkFtlC6678tiYk9OGjfYRSQasx5zgKLysuCAEx4yPe87nmtvAoICTH5/fbfHB05my+XX31djqHvXC4Q0mK6lTA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=cs.wisc.edu; spf=pass smtp.mailfrom=cs.wisc.edu; dkim=pass (2048-bit key) header.d=cs.wisc.edu header.i=@cs.wisc.edu header.b=jIZFoJbu; arc=fail smtp.client-ip=205.220.177.71 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=cs.wisc.edu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=cs.wisc.edu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cs.wisc.edu header.i=@cs.wisc.edu header.b="jIZFoJbu" Received: from pps.filterd (m0316047.ppops.net [127.0.0.1]) by mx0b-007b0c01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53EIU1oZ017454; Mon, 14 Apr 2025 20:19:03 -0500 Received: from ch1pr05cu001.outbound.protection.outlook.com (mail-northcentralusazlp17010007.outbound.protection.outlook.com [40.93.20.7]) by mx0b-007b0c01.pphosted.com (PPS) with ESMTPS id 46080vurr8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 14 Apr 2025 20:19:02 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=liyj877kNKUF0VKRN8ixw8myGTBkZQ+zlSazWexUVqjhQOUOYcwe7PGizDDq+IcLZp1+oVV1Di+GfbWoPppdqFU/YOkpEAKcU3wasZ30AzU6bZMym7WGe5L8D8d/JkWIa6xPgAFQUsnyuAOb/FkkxmYx1icMWTrwY2OfzY9xjLqTBvMN/rnyDatI0t73aiAAsPL00oYxTq2Pp1blRfNKcVpFB8RC46mmPbuB8AVAbyhLxG9ofGN78f9vO0yv+ZJIHoYLquJxaDQalCMIHfwLb63ABMxXbSiRXLGTl5yPD9mHSpfL66tNHFrXtjlNxBkbCeDVQMEqEjsYBjd6zCSQiQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Qf3hZUhyjyqM8cCQGmdHIB72qrl2QRtTAG1MGGEMg9o=; b=cM0+Ag2rfimI1nWHZYpvNbLE76Bmvljr7iwGkIAUouscRQe26W3j6s84/wDhxrqBPYiKBk9WumnsjeBR5AKOyWLF0GUOy4Q0Mdnoh7kY1Vr9KtIcR2qHV3xBZ4u2xhy1IU3qKOsdurKOd1987DWkl1ubqsZlJgfR5IAJjNA81vmpHZcBiM7Hi9x5jFszqmfslbVlDU/6fAFpGveagyyAr3kZ/z4xjLP62l4L4zm+lYwdvClLfXRnJ/5crsCB1j8eiEqweQyOdraoOfz4WW2OR4cNB67h03EgXVgx9wRcL7hVPZ2ILJrvNVJ9sjLsZVZGP9WgQIpeqCPhflCqW7oYVQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cs.wisc.edu; dmarc=pass action=none header.from=cs.wisc.edu; dkim=pass header.d=cs.wisc.edu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.wisc.edu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Qf3hZUhyjyqM8cCQGmdHIB72qrl2QRtTAG1MGGEMg9o=; b=jIZFoJbuIGY+GbHWZfoAzrj62oicdqckFlFI/JWHyVsgtjuEFlr3RgkRbaaoNisq+6/NSoS781FKAJF8rJjA+KNNDPIw14nLybJf0RbIWi+LzgSKv5dKS2ZMHhyuo8l+vAQn9XaPIpHsUbCMaaODbIRCHS2YBmvuCJemTIT50R9d9rRCDwhvvBblvwQLMuiYJmSyNSXZpR8r8Y6IQ3S2a5lIQB7Z+oZvlSTYytDcdnIrRo1la0w2CnWcsu0fggcI906B++N/uV4ZXcr7FgWE3pvqkbqpemc1KxlNefbDHzQprv1lz5MbB1/LBHXnsvbZUnxX89HVz+38cnM03XnWUQ== Received: from DS7PR06MB6808.namprd06.prod.outlook.com (2603:10b6:5:2d2::10) by CH2PR06MB6454.namprd06.prod.outlook.com (2603:10b6:610:81::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.33; Tue, 15 Apr 2025 01:18:59 +0000 Received: from DS7PR06MB6808.namprd06.prod.outlook.com ([fe80::76b2:e1c8:9a15:7a1c]) by DS7PR06MB6808.namprd06.prod.outlook.com ([fe80::76b2:e1c8:9a15:7a1c%5]) with mapi id 15.20.8632.030; Tue, 15 Apr 2025 01:18:57 +0000 Message-ID: <6cd4879b-5cb8-4f1e-b662-d9470a95a46c@cs.wisc.edu> Date: Mon, 14 Apr 2025 20:18:55 -0500 User-Agent: Mozilla Thunderbird From: Junxuan Liao Subject: [PATCH v2] x86/tracing: introduce enter/exit tracepoint pairs for page faults To: linux-trace-kernel@vger.kernel.org, linux-kernel@vger.kernel.org, x86@kernel.org Cc: Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" , Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , "Paul E. McKenney" Content-Language: en-US X-ClientProxiedBy: BL1PR13CA0363.namprd13.prod.outlook.com (2603:10b6:208:2c0::8) To DS7PR06MB6808.namprd06.prod.outlook.com (2603:10b6:5:2d2::10) Precedence: bulk X-Mailing-List: linux-trace-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR06MB6808:EE_|CH2PR06MB6454:EE_ X-MS-Office365-Filtering-Correlation-Id: fee95bf7-7666-4922-43f5-08dd7bbb7e5c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|41320700013|1800799024|7416014|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?/Of2FF3qZXZqKklNm+28VlMktHKA/ct?= =?utf-8?q?FFEo9rlvEB1M450VZmkCyEjvX4geevLW3Z0RwDznT5Xv2NGs46MCwV7jpmegU+9vH?= =?utf-8?q?aTF6GX3dnKt9nalKv5AsuMEOHjt7YIUGvfooJD5s5piUHBzs93J5hrGJEcN2g8BKA?= =?utf-8?q?NKV6zqTXj8zPd7DpqoL9AGAv/ctwIY7C8+u1dU3sfMdwFBSI57IbGbcA/NJkH9lXK?= =?utf-8?q?IegEEKQUwPaTKrJWFkU7t0jDUMuBXn4kfl9cPwFfI/UTxH2oCb2gkConN/1FFOgZO?= =?utf-8?q?/yUPT0U5yxrhTRwE+IkwXSDHO4yNwVMaE3rF9IHgnhsMkh9tRgqg8Qpv4ubkOHKSs?= =?utf-8?q?D2u0GCr4+XjUGUTUhNDEqHQEUJ/2ya7wFV1hij0wJ5Ck22toj2/syZaWK2P2gJYAI?= =?utf-8?q?W8GSGfPkRtr9/wUNHNEf4t5j7MJ2VOY9wfZNt3T2hwbRHTFA8Wfjx+0F1Sgp3zxev?= =?utf-8?q?M2chLdS/A6+3G2orJdm9Abf0D0MgR+uDHpPXDsCbgbE7/CcXTdT2cP3jVHVUJxWa2?= =?utf-8?q?lvIP86raBuOys7YjgXkUYxl5NdNbrdqrY8j+4p6xgnKIO7wzhUq5gN15uhY3yOIb0?= =?utf-8?q?lGHuEcA+UaxSBlA68ub+1azGCMkyUdB8dv94OBL3onKvjtZJaEb7a3Rfh4D4JfyjR?= =?utf-8?q?iwTkDa0jeSuvhKYDWlT7TMD1ROnlFPp+AE+44RZqmuNHxWqiu1dS+Z9Y8L5IDCi//?= =?utf-8?q?ISjmJ2r+7NqrJvo2rsUYnsQRad55Dlt+fkekC+8Yaz1MsFIW84J4BRG6BC5P/rrNm?= =?utf-8?q?rzvxMhIo0x3oTxoE2g+/5tgtIOcwOPNQkgvXl6qLBfqMQXt5qlywnlmhSFISSlaJB?= =?utf-8?q?Z9N74yMCarnMFmZEAixzCqQ29EVMKKoWmdtHw3xBwB7zrz6qW+TIXDq3dsrZOO0K6?= =?utf-8?q?AbdaqSVOW+ZUTqojNhNg1gGj+MvQcjLIQzkZCkyU8LoCb2e6FTd3PW+V6rQmVAzZZ?= =?utf-8?q?OCxqnlYtuvnGCAtEYtQ6wleiW3eC2/sGUG6neh755z/FrSeTdEj/hQ50Sh/Va62V9?= =?utf-8?q?0Lh+V6aZpjs7kxrEoMWk6mET7gXFSqVn3QaOjvVMdQwUdubdHCxGJThD98h72rR25?= =?utf-8?q?Q6LvzvkNrrcRPsp/c7DUov4L0LjGKsQ4xQhRl8jfOO1KkX9e2ezZvhkpp9AGM5lhb?= =?utf-8?q?5v0qMJYyIErWQg5+gAIAWfd9yvFwV7gGO4t5OJCheKuobEGzCvB/QrtG5aH+XtL+M?= =?utf-8?q?rW1GLyvXV//aTq/BjhIqlXbvAKAHzr8J5kk/N1HOsNqB7W5akS80C4OQoTnoO0bXQ?= =?utf-8?q?GSJuohiRl8unLqLJtIm4cO08lwWjX0TrT+9iaSg+gF4ea3DhpTgbwPC9GU7t9m+pZ?= =?utf-8?q?GjIUkL+WKLWNuIyIF9vA02/cEWgMfWhbZjTXmYBeP5l7XqZS1XzKFzw=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR06MB6808.namprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(41320700013)(1800799024)(7416014)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?PajSB5VC7O+B7JAr9rjqt4uT319F?= =?utf-8?q?OAGOWc1PPKpZ9EObPbo1MOAC7sOpBfzGxsrmHLokpW6xB9uwo5tQw6b7TG5pz578l?= =?utf-8?q?R4DCyudmtTcKzbGQylYlryR9MmJxLOi1D5Y4ERT0l6R1RCDW9BYzzfHYS6Y/45lAi?= =?utf-8?q?Lfdd8onWoDlEFQUc9Y1p1T6l/6A30V2SgfcnGoFOOXSpOFIcGL49G4D+ZZ9Kl4CRZ?= =?utf-8?q?+0bwafP9bWKvaXJPZB1TNk343OgTbthKNQTTJIP9gOsdm33IceEt8RNW2QEQYzkJE?= =?utf-8?q?v3Nyt2jaXs9arKDgMJNsriX7xWZ1kxcJh5hMDADjjuzY0AWy7Ng/uSH/RwOlmh/Mi?= =?utf-8?q?8J7C5OKmg/mcCabOvCwDsIzzpwmw19gx72/C2qzsCjK4gwpkJntzjOKGHeAkVRe6J?= =?utf-8?q?+tEl6d6dwhyXn0rwhtdBPkhF/6nsF4kxQPBVpEnAkBaOJOfdj3UgLVE4EUvvuTllU?= =?utf-8?q?21wbgz+ci40mV/UBwh9Xr82mm89NN9pquIqwCEra9fs6a7D2zWwXlI0tm4/5/6SKs?= =?utf-8?q?71l4ficYTNYJkEQg7EZPxiuhryPma4IqOR4JTOHvflDALgtFVhHZ5G3LMfsHAsAwe?= =?utf-8?q?+anfR4KR2Kue1/JtZfqj4Ir+uhGRRR0wT2OF5Py3588nqpmoG3iY0EHzQ/Vk6/GUo?= =?utf-8?q?h/FlZHs0Z6EU5rcCpeDiKdy1LeET0tyFBwOcrJngSpRpFcEgeXq/kOAQL19A4J6Wu?= =?utf-8?q?sacu5SbYOsWRm5IyzezYWv72DdL/VZ1vVC3hufkrzcQvutCHaZC8UStGLWEt6t5Jo?= =?utf-8?q?ZulTqgxMDhDN5dqNRCmhhcuRIqGCqbiyI0429KBffJZ8+3FW4+7zQUzp0YL/RaiX8?= =?utf-8?q?Blf/PG9ubCx15oOOa5DUzyCNnN8Vz6VU28CzvMaLwkJBj7g1mi87dct3osDuvvzYt?= =?utf-8?q?pKzFB8L2/FKJsg6w+JdDy5C0AdgzeUTyNPgRkpoI7tQrAJbZyedkiWF3wv0GB7q4r?= =?utf-8?q?Dcauwsfn1w0/qlNc5CRF+TnxNrrIG6FFnS7Lzd6/PfSS9ykU6eFtlRUKqABL5/9cP?= =?utf-8?q?8cx09Pv7E/s4a6ciXvM8quhxLyUbjoK5nyHhipddchx9ow5P6jek0qjKi2c2uDcvd?= =?utf-8?q?pJJNKrMGb3OOXTTpBoKCL2mkXgBwjAiCg2EBa+mMbCGcHfY0ZsHMrXAEqVul45U35?= =?utf-8?q?hBk42LMXxfrK7qFHAdQkJNUK5NM6AGSJe4K909Xyt1QOopz0KiXhOxlCHfwIR+UMO?= =?utf-8?q?LiM6iHf5iK1M9NFlH3lGXt9maWtmlpdIhTtnI1S7Q7c8tvYA8MSaMNVUHacGzvGqJ?= =?utf-8?q?BEwW+t41YKoR6z/ijJX6fm5JCZTNVQuFOnjNp/mK1574NLh704qisNu5RNXJEQ90L?= =?utf-8?q?JJXZ93xH0YpQ6/ojDHFWf00BguL4fP9FMsgvipGyzVp3rCLjjIO1gpWJCyKyD3emr?= =?utf-8?q?xVNj8ttlb0NoSU/rHj5ZzrhZJHsWilUjsyECZXpz9OzoBHYkM0VSowaOzDEIHYkE8?= =?utf-8?q?x42wQze6wsiUv7OrME/0mFPXK4sdoa2e43NniwaUt1fPBqb+dT4pHchQ=3D?= X-OriginatorOrg: cs.wisc.edu X-MS-Exchange-CrossTenant-Network-Message-Id: fee95bf7-7666-4922-43f5-08dd7bbb7e5c X-MS-Exchange-CrossTenant-AuthSource: DS7PR06MB6808.namprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Apr 2025 01:18:56.8887 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 2ca68321-0eda-4908-88b2-424a8cb4b0f9 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 0hqBXE32NoLH59n+BEc2V+bgP7dfBua49rrqqXGUhUlEnmq+4mhKbaRLqmZQDgdJ6XyFa2wUppBufAyxSMEXSw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR06MB6454 X-Authority-Analysis: v=2.4 cv=TozmhCXh c=1 sm=1 tr=0 ts=67fdb406 cx=c_pps a=2D6/CIrCIWs5X5ruZf5FWQ==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=3-xYBkHg-QkA:10 a=VwQbUJbxAAAA:8 a=x30EXVXcAAAA:8 a=LuFYPtAr6PD7joxTrIIA:9 a=QEXdDO2ut3YA:10 a=yI8jHdU-MAB4nH2QTHtW:22 X-Proofpoint-GUID: jRPyeeLZ79g6m-f4FIPmvIHbbA_mLCgB X-Proofpoint-ORIG-GUID: jRPyeeLZ79g6m-f4FIPmvIHbbA_mLCgB X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-14_08,2025-04-10_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 phishscore=0 malwarescore=0 clxscore=1015 mlxlogscore=917 adultscore=0 mlxscore=0 suspectscore=0 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504150004 Merge page_fault_{user,kernel}, rename it page_fault_enter, and add page_fault_exit. This pair is useful for measuring page fault handling latencies. Add a new field to the merged tracepoints to indicate whether the page fault happened in userspace. We no longer need the static key associated, since it was used just to avoid checking user_mode when the tracepoints were disabled. Signed-off-by: Junxuan Liao Link: https://lore.kernel.org/9e2ac1e3-d07d-4f17-970e-6b7a5248a5bb@cs.wisc.edu --- v1 -> v2: Merge the user and kerenl tracepoints. Remove the static keys. arch/x86/include/asm/trace/common.h | 12 ------------ arch/x86/include/asm/trace/exceptions.h | 15 +++++++-------- arch/x86/include/asm/trace/irq_vectors.h | 1 - arch/x86/kernel/Makefile | 2 -- arch/x86/kernel/tracepoint.c | 21 --------------------- arch/x86/mm/fault.c | 16 ++-------------- 6 files changed, 9 insertions(+), 58 deletions(-) delete mode 100644 arch/x86/include/asm/trace/common.h delete mode 100644 arch/x86/kernel/tracepoint.c diff --git a/arch/x86/include/asm/trace/common.h b/arch/x86/include/asm/trace/common.h deleted file mode 100644 index f0f9bcdb74d9..000000000000 --- a/arch/x86/include/asm/trace/common.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef _ASM_TRACE_COMMON_H -#define _ASM_TRACE_COMMON_H - -#ifdef CONFIG_TRACING -DECLARE_STATIC_KEY_FALSE(trace_pagefault_key); -#define trace_pagefault_enabled() \ - static_branch_unlikely(&trace_pagefault_key) -#else -static inline bool trace_pagefault_enabled(void) { return false; } -#endif - -#endif diff --git a/arch/x86/include/asm/trace/exceptions.h b/arch/x86/include/asm/trace/exceptions.h index 6b1e87194809..f98c9024cbe3 100644 --- a/arch/x86/include/asm/trace/exceptions.h +++ b/arch/x86/include/asm/trace/exceptions.h @@ -6,10 +6,6 @@ #define _TRACE_PAGE_FAULT_H #include -#include - -extern int trace_pagefault_reg(void); -extern void trace_pagefault_unreg(void); DECLARE_EVENT_CLASS(x86_exceptions, @@ -21,17 +17,20 @@ DECLARE_EVENT_CLASS(x86_exceptions, TP_STRUCT__entry( __field( unsigned long, address ) __field( unsigned long, ip ) + __field( bool , user_mode) __field( unsigned long, error_code ) ), TP_fast_assign( __entry->address = address; __entry->ip = regs->ip; + __entry->user_mode = user_mode(regs); __entry->error_code = error_code; ), - TP_printk("address=%ps ip=%ps error_code=0x%lx", + TP_printk("address=%ps ip=%ps %s error_code=0x%lx", (void *)__entry->address, (void *)__entry->ip, + __entry->user_mode ? "user" : "kernel", __entry->error_code) ); #define DEFINE_PAGE_FAULT_EVENT(name) \ @@ -39,10 +38,10 @@ DEFINE_EVENT_FN(x86_exceptions, name, \ TP_PROTO(unsigned long address, struct pt_regs *regs, \ unsigned long error_code), \ TP_ARGS(address, regs, error_code), \ - trace_pagefault_reg, trace_pagefault_unreg); + NULL, NULL) -DEFINE_PAGE_FAULT_EVENT(page_fault_user); -DEFINE_PAGE_FAULT_EVENT(page_fault_kernel); +DEFINE_PAGE_FAULT_EVENT(page_fault_enter); +DEFINE_PAGE_FAULT_EVENT(page_fault_exit); #undef TRACE_INCLUDE_PATH #undef TRACE_INCLUDE_FILE diff --git a/arch/x86/include/asm/trace/irq_vectors.h b/arch/x86/include/asm/trace/irq_vectors.h index 88e7f0f3bf62..7408bebdfde0 100644 --- a/arch/x86/include/asm/trace/irq_vectors.h +++ b/arch/x86/include/asm/trace/irq_vectors.h @@ -6,7 +6,6 @@ #define _TRACE_IRQ_VECTORS_H #include -#include #ifdef CONFIG_X86_LOCAL_APIC diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile index b43eb7e384eb..69edc88e0f2c 100644 --- a/arch/x86/kernel/Makefile +++ b/arch/x86/kernel/Makefile @@ -102,7 +102,6 @@ obj-$(CONFIG_FUNCTION_TRACER) += ftrace_$(BITS).o obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace.o obj-$(CONFIG_FTRACE_SYSCALLS) += ftrace.o obj-$(CONFIG_X86_TSC) += trace_clock.o -obj-$(CONFIG_TRACING) += trace.o obj-$(CONFIG_RETHOOK) += rethook.o obj-$(CONFIG_VMCORE_INFO) += vmcore_info_$(BITS).o obj-$(CONFIG_KEXEC_CORE) += machine_kexec_$(BITS).o @@ -139,7 +138,6 @@ obj-$(CONFIG_OF) += devicetree.o obj-$(CONFIG_UPROBES) += uprobes.o obj-$(CONFIG_PERF_EVENTS) += perf_regs.o -obj-$(CONFIG_TRACING) += tracepoint.o obj-$(CONFIG_SCHED_MC_PRIO) += itmt.o obj-$(CONFIG_X86_UMIP) += umip.o diff --git a/arch/x86/kernel/tracepoint.c b/arch/x86/kernel/tracepoint.c deleted file mode 100644 index 03ae1caaa878..000000000000 --- a/arch/x86/kernel/tracepoint.c +++ /dev/null @@ -1,21 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * Copyright (C) 2013 Seiji Aguchi - */ -#include -#include - -#include - -DEFINE_STATIC_KEY_FALSE(trace_pagefault_key); - -int trace_pagefault_reg(void) -{ - static_branch_inc(&trace_pagefault_key); - return 0; -} - -void trace_pagefault_unreg(void) -{ - static_branch_dec(&trace_pagefault_key); -} diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c index 296d294142c8..eda312707fde 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c @@ -1451,24 +1451,10 @@ void do_user_addr_fault(struct pt_regs *regs, } NOKPROBE_SYMBOL(do_user_addr_fault); -static __always_inline void -trace_page_fault_entries(struct pt_regs *regs, unsigned long error_code, - unsigned long address) -{ - if (!trace_pagefault_enabled()) - return; - - if (user_mode(regs)) - trace_page_fault_user(address, regs, error_code); - else - trace_page_fault_kernel(address, regs, error_code); -} - static __always_inline void handle_page_fault(struct pt_regs *regs, unsigned long error_code, unsigned long address) { - trace_page_fault_entries(regs, error_code, address); if (unlikely(kmmio_fault(regs, address))) return; @@ -1535,7 +1521,9 @@ DEFINE_IDTENTRY_RAW_ERRORCODE(exc_page_fault) state = irqentry_enter(regs); instrumentation_begin(); + trace_page_fault_enter(address, regs, error_code); handle_page_fault(regs, error_code, address); + trace_page_fault_exit(address, regs, error_code); instrumentation_end(); irqentry_exit(regs, state);