From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2041.outbound.protection.outlook.com [40.107.223.41]) (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 76A9C8C11 for ; Fri, 17 Jan 2025 05:20:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.223.41 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737091240; cv=fail; b=t7AhWA+YZmIwLnwK2HobbGCbmBoajoXFcEz1zfiAABnGfHK8gZBzYS8yKSBtv0I8bPT9uHD+TcASbbckZLlZln+09cOgQNLtgrnCmg8FIRtOE3+TBi86Qw9C9sCl2Xcv+eYajSXH76l3M/hzRl4KNIYq104XvPleBQ80n++KqA8= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737091240; c=relaxed/simple; bh=56VAF9TLoqUOdTb+fnnwN065xIHq3GIXUeprqZFLloo=; h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To: Content-Type:MIME-Version; b=lb0cZeW/H5yOEftxJt3vZUyFVxhNbHeTHwrubiaVkLPj7QV69HzTua60AH3MkIV5K2pETLlxg1KaOeY8l5RHKF1Y2HAH+1L2/Oe+wihSQil419GiZU1AefOXclDhbpFlMiNDQXy1lNSDbVr22DWPBjdF+9CtRVQdPHS15YNN3cQ= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=DAqs13r1; arc=fail smtp.client-ip=40.107.223.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="DAqs13r1" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VgW+cvRWpBFvaYuQwCqaa0U0gYMDGnnGor/sAnTh2fpbsCt6o+CtRbffug/roPvHAAiQu94WYK4lQYyK7bAyJCB8jgowvtROpOqqo5U4jm4c8du2kgDrDMiOK0PEJzpzpfeUtltTMn7b2VreHP23gXM5H+g/9pCzhZNUPFSptQWlrAZeJfE3u+uD9rgZRvJNeQBIA2SlBIko97jJ4FAjhj8mpu0nEJnuAhQnzrW0qETo+blrHIfCz+pDia0dklspmQReIm0znjIrjYeDRJkPLBo7aDgiCQ20LG58Ww1XvSkUQa2HYGFBhvHrCioi24CJ224ZIlAebRq7mnaDwLtX0g== 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=ys4eU1An5HzA3M4rinXBtp7+iOKYNaEtvxDJsYxALDg=; b=rCYOrI1EBgic7tZL9pOZXZDripJzJX0cn3PC3EyflkZ8uRqrlDTWNkrdG+9FMdanAJC+gUy4fTVmRWijOKNWBjrtHyzTPelgms8KXTTc81rg9nvysUj3EVomxafzIi9/u1u3mBT+/BEgD2IyrhdDHdXOGeyQXPIKmoTog2h4JKJDSpX6Z83mipUeh0llKa6v63VEFFkwkwhaRmAUyECcVfYRPdIkLM5k9aNxgHC/WBg6TTLJ/6iOx2XNqC48w2/UTml1skfYbPUg62TwywrYYOqc09bw8cCu0dgP+LzzsNM+LPFmRGHZ0lyMOkxQ9lTdNZXItnGM13U8TOliTzBXCw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ys4eU1An5HzA3M4rinXBtp7+iOKYNaEtvxDJsYxALDg=; b=DAqs13r1UsIxB2qaSXoJEONz9sbHsgC3UzZC9QaAlSOP7FTUwdZg+tE/V3jiQUPJdBbC8g4bWt9TbwrLwngcaLA3cFz68ryx7AioIIs9S4oLAeTLEdw869c7oMDLryb794f96UhyBjrJyHnMr+5rF00419eca4hCRL273HoNyww= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from DS0PR12MB6584.namprd12.prod.outlook.com (2603:10b6:8:d0::6) by SA1PR12MB7173.namprd12.prod.outlook.com (2603:10b6:806:2b4::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8335.12; Fri, 17 Jan 2025 05:20:36 +0000 Received: from DS0PR12MB6584.namprd12.prod.outlook.com ([fe80::45e0:b675:7986:3305]) by DS0PR12MB6584.namprd12.prod.outlook.com ([fe80::45e0:b675:7986:3305%4]) with mapi id 15.20.8356.010; Fri, 17 Jan 2025 05:20:36 +0000 Message-ID: <795d9f60-73c8-48da-87a4-6336c170b388@amd.com> Date: Fri, 17 Jan 2025 10:50:26 +0530 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 19/19] perf: Make perf_pmu_unregister() useable To: Peter Zijlstra Cc: "mingo@kernel.org" , "lucas.demarchi@intel.com" , "linux-kernel@vger.kernel.org" , "willy@infradead.org" , "acme@kernel.org" , "namhyung@kernel.org" , "mark.rutland@arm.com" , "alexander.shishkin@linux.intel.com" , "jolsa@kernel.org" , "irogers@google.com" , "adrian.hunter@intel.com" , "kan.liang@linux.intel.com" , Ravi Bangoria References: <20241104133909.669111662@infradead.org> <20241104135519.715883982@infradead.org> <20241217091216.GK35539@noisy.programming.kicks-ass.net> <20241217115219.GH12500@noisy.programming.kicks-ass.net> <8c31f7bd-871d-4a38-ad15-a16a116e1f39@amd.com> <20250117000316.GB33629@noisy.programming.kicks-ass.net> Content-Language: en-US From: Ravi Bangoria In-Reply-To: <20250117000316.GB33629@noisy.programming.kicks-ass.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: PN3PR01CA0127.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:bf::17) To DS0PR12MB6584.namprd12.prod.outlook.com (2603:10b6:8:d0::6) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR12MB6584:EE_|SA1PR12MB7173:EE_ X-MS-Office365-Filtering-Correlation-Id: b5027340-d2a7-486c-5d41-08dd36b6ac1e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?eE0xZkthUFBadHNhUjZhdzF4dmptNzVHSlFiemx0NzFTUG1hSHZNdURTb0o0?= =?utf-8?B?WUFqQzF1b3AzWVVQeStNWjVBOHRTc0tuWExBckx0VUhOclhiZjlubW91OTBx?= =?utf-8?B?RzhTbkFtZDF6dC9FZ1p2QnJQNjIzRGRSdTdjR3RvOGNoZzVuNlBuaGpPckZj?= =?utf-8?B?S0hpenZYaGEzWWpXUmY4WUpJdTRDSWdWSEh3Zkcxb1VScjVUd3lCSUFrTjlx?= =?utf-8?B?M2R2K25vYkJoVGdsMmpLTC8vT1Y0bmdKeUxIRWsrclNzTjEwa2NSUUp5MnVk?= =?utf-8?B?R3IxR3FZU2JXREFQd1g1MUdHTHltTVBwTzVVRzBFUTFFNHJtc2hCSS9tMnVC?= =?utf-8?B?TXp6RmFUdkZxVVdyaFlkdGh2bmJXN0FIblpDdU5zOWVxVUIxRUo2RE1VdDdN?= =?utf-8?B?b0lYRnozTWliRG9NcFJnb0ZMRmxqRHVNQlBGbVJCSVcyNWdLd29uY2hLV0Vs?= =?utf-8?B?WGRvNW03Q25UNjQ5c245bkswVlpGSTBUTU1EbzJuV1ZCR1pDMzNLS1Z5MC9W?= =?utf-8?B?T0x3NkNFUXZyNlNSMm4xNW1kcSs4c05mYUxrVkloMjdURlh2ZUR0M2E3MXdO?= =?utf-8?B?VHV1dlBwZVcvOFFkLzZUVmYxOHA0S0s4eGwzWUpqTFJpbDBVUzVuUWxjdENv?= =?utf-8?B?TXdoMzlTVmtYRTVoV1J2aHFPclZiN3NaTzFZYmYxZXRPV1p1a2cxMWdmY1FE?= =?utf-8?B?a3Q0bjZvaFhOelllampkay84c0phWmk1azV5RG9rMVljdXo3dmJuZVJMSEJt?= =?utf-8?B?ZC9MakljMUR0Yzd0SWJ6OFlEYjRzZlBoaGFFeFNqRHF5bmZGVjlJTkd0d0JQ?= =?utf-8?B?WWkvang5TnJYclhjeGg4YXg0U0JtdmV1Umt0U1V0QzNVY3NMYWM4SlE2cWZZ?= =?utf-8?B?K1ZBTi9lVzRhbVo1QjdhZ1JTaGZYWFd5V1pyUU1BdXpIZ01ZdER5YVNIMm9t?= =?utf-8?B?Njk1eG1UeW40T3M4UG93K2ljc29ZaW55U1dSRFZTNGZHMzh5ZVJmdFQwOGhQ?= =?utf-8?B?aVhCa3NMellFTVJtU0FkMHR5azZEd0lIbnJNWEZxVXRTeFc4YXM5S0Zwa2My?= =?utf-8?B?cmVtV25DVkxKY2pBTjFYN0N0L2pjYlVZcmdVZUtvVUZiUEdJRnRpRXJVa1N4?= =?utf-8?B?SUZhaUNqWVViSmQ5SFdMcWF2SkRuVTJXM0tBVVl3NkJzMy9OV3MwY3VsUXF2?= =?utf-8?B?d1JpVm05Z2VpMXdtUE5iOTlnMW41T2RHemlXWHFCMXdRbW1tazd2SEVrdGdD?= =?utf-8?B?QUpabnhQYmpnZHlBWWxGQ045L0tVWUJwZCt5SDd0M09jeGNXclBxZTlXQzJQ?= =?utf-8?B?bkVxc3BsSHhBSnpPSEF5NEdScVg5ekVIVFpMdHhDUCs1VWdaS29jdnNFc29L?= =?utf-8?B?RGlrOEdBL0ZWMWw4Y3lwN3hUeSs2cnV2K1djSG9qSWVHNkZOUE83SSt3c1cx?= =?utf-8?B?MWg3blY3U2VUWko3QVk1VUsvTFJZRC9ZK1IzQVl2dXNWNlhSaWRTRTBpaGF3?= =?utf-8?B?bnlsVU9XTFNwTmNaeWFraHZMNnFvdjBjcTg5REFiVHQ1dERGVXM3YklaTzdk?= =?utf-8?B?TW5USWFacXRXNXVVbjlQUHZLNW9UckdEemI1MWJGcGJBb3RIRzJqa28xUGR6?= =?utf-8?B?dzlzMStMRm1oVTVZV1ZoeVFaL2dQL21LUDlab3Q2QjFEdGE4QTdwR3Y0ZGFi?= =?utf-8?B?ZitMOE1SNEg0MnBNdytzL3RqU09nRGIxVEdCR1RPVXZNY1d1Z25RQzlsRGE1?= =?utf-8?B?K3FKMTdYaGlpcEhpRWFQV3p4NmJjSHpRUEFqamRIVGplVG9obERycXNhMlkz?= =?utf-8?B?QVVyN0FsOGR5K0V4VjV1WGdJTHlJSzZjQ2plNFpaRGdtT1V2dWhFY1dPdG9j?= =?utf-8?Q?FqboYrLF19NHq?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS0PR12MB6584.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RENaUm0xaEU3S3pScmdhd1ZGVzBFcWVQM2tIS21nRjBsVFNtS2VtczY0QWlB?= =?utf-8?B?K0lxamdmQTZ2TFREUTdTVzQrNEc4clIvUmhQRUxFb1p0MFZpUXd6RUpLaDZm?= =?utf-8?B?QWZmOTNZajdyd0tLWTc2K1pzZ1JFU1RoVUE0bnk0dGhJWFNjTDIwdmFZRTFq?= =?utf-8?B?TC9BZDAyZ20ybXltRkFtUUdlWVNHVlNyRXJZZ1gwanBZS1dOQXdCcnZSdjc1?= =?utf-8?B?bUp0cTdwNWpINzJscEFMWk5YbXpUc0dFNDNyMjRERDVMWVdjOFc1OW4vODJr?= =?utf-8?B?SHdJdDBDMDBSTjQ1eTlsZmRyUlE5dTdPWmtnc3dLUGorSzJiSGpid0ZpU3ht?= =?utf-8?B?VVNiWTd1dCtEU1p3cFMxUkNTZ2xmaVhDTVNrN1ExSkJkUkEvYm1Sa3dUYjY4?= =?utf-8?B?WXZqQkVyTC9qYzJJOXBzQnE0d3VmTmEya0k1c3krc1FzeGxEUGRWRURpYlcx?= =?utf-8?B?bDdNcGNHdjMwZG5OMWdLZVoxdGZwb3l1WVJhVkthMk5oTis3UWRzb0cyM09B?= =?utf-8?B?bTNQQmlGVi9OWk5IUkpiSUVXdGhGZ2NHbXZKOGF5MkxzbWJESG5OM0VoZmVs?= =?utf-8?B?ZFJQSTdiT0RiWUpVMTNnVjJEZWZhL0J6K0dLVmdRcGRhK3lIc2xXRDNBQkNL?= =?utf-8?B?NHFNK1dFNmJ2eklkcVZGNi9kNE9peWt2YlRORUlsd29pRXdtVDBNSU13eFFE?= =?utf-8?B?MmJEOXhDN2lUTWJZaXpGWHloVmFaTlkzYVdMeE4xckRlZDNlYzExendtcDBK?= =?utf-8?B?cy91bFFlUEQwS1BKMDE3dU1SeEdhSEpVcFlRUmlRc0hkWFRXYVVpY056cnds?= =?utf-8?B?Y2JxZ1diUTVlRGt6ZXlnL2tCMldpY2pwa3hmejdQc1Y2eHlmdjEvb0JEb1Ir?= =?utf-8?B?S1ZrZHBsRHd5aXgzVThWWEk4V0RETjhQbEpFQnQ0QTUvRW1KRndsUExaNzdu?= =?utf-8?B?UWRidUdISklCcEtCQWtGZU9iakFDVHhOVE5ZcWszUnJ3STY2TjRjUXRwc3k5?= =?utf-8?B?TFRuVGtCanlUTlhBMnhGT1FRK2UyWVQwakFpL2NMZVRzRUNYRnJRMy81UmJ6?= =?utf-8?B?Mm9zSkcwa0NQWFdoQVhwWmw2cXdsYUo2TzU1eWJNZVNpeFRPVVBoaFJJRW1r?= =?utf-8?B?enVQb25wdnlEM2MxTTlBRHEvS01mS0ZodHZBWmw1Q1VvWitSa3cwRE51ZGI2?= =?utf-8?B?bnkvVWVUZ0FPbzZCTHNISGM3cHVIQ2ZpQmt4N3VxL0oyL0lndWhUL3RHVUlZ?= =?utf-8?B?M1N6VWJhb2pBMGpaZVVuK01MdlpQTGRoWVFiS3l6cHltT1NXOFFINWpobDBP?= =?utf-8?B?a01JL2EzMFlsR2lMOU1nbWVkbDl6bXhmQlQrTURmOTc2ZUF6K3V5N0FLUTV4?= =?utf-8?B?WUVCZVpjQk5JenlsTkdjaGEvN1Y4Ly9QYndaLzNGUFZwdDVHSHF1N3Bldjdm?= =?utf-8?B?Zm50MmJpVm8zcG1KS0Zyb1N2RXhSTTB0ZUsyQkdOaFdBTTdnMWlzM0kybWl5?= =?utf-8?B?MGpmUURXZUFQMWQwK1BQYlk5VlhnWk40QVUvSysyQjFUYjR2SjgveG9YRDIx?= =?utf-8?B?VjM3bVkrSlIxMEdoV3VWc2gxVWE3ZEdTTjZ5ZFNIdXQ4eEV3SGh0eVVONGVz?= =?utf-8?B?NHd3eHdEYjgvS3FEcGZSWHBkdWg5eU55Y0NuVEtyZWlBaVVDQ2kzZTRpeExX?= =?utf-8?B?S0QzYThmRkNCa1dibkFJSjIxb1czaUh6MGZ0RWhhZVY0OXBNSEFlSnpaQ2Qy?= =?utf-8?B?SVJoWHpvVkRPWkhJcEpTMDB4MXBvT1V4alhIcGFVaW9sc25OeFNjT2R6TkdT?= =?utf-8?B?ZzVaaTRTeEdwbiszL3BDejNjUC9YRjkzMzhMUWx0bXp4K25GcVdWdEhEWWd3?= =?utf-8?B?cGswK2NEelhVSUhoMksvV3AxNElzRHF0TWxUVEZuTXZpcEkvMXVNMUdEUTFu?= =?utf-8?B?WEQxM1d1bEZIYmRvc1pIa3JmYWVxZEo2WUQ4dStHM1g5Zlh1TGw5UGlvc2sy?= =?utf-8?B?cmpCMGh3UCtrY0pQbTducnZqRjlJWlpVbzJ2VW5NZEJDVi9KVDZXY3NPemhN?= =?utf-8?B?c3RsR0FiTVBpalh6ZUJuckorTHNpb1NZbXFQWmkrN2prUndPWUZLcEhRTHVj?= =?utf-8?Q?PdAIELjA7lmL64EusjwWNyYN1?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: b5027340-d2a7-486c-5d41-08dd36b6ac1e X-MS-Exchange-CrossTenant-AuthSource: DS0PR12MB6584.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2025 05:20:35.9156 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: DiMhFF9hXBruJ06qOmfRX6LqV6KJzAk7YsCzMt/G7uRENDBJChJs1LxtuxfoCZS+NJIe8IFoMS/tRpq+Sl9NWw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7173 Hi Peter, >> 4) A race with perf_event_set_bpf_prog(). perf_event_set_bpf_prog() might >> be in process of setting event->prog, where as perf_pmu_unregister(), >> which internally calls perf_event_free_bpf_prog(), will clear the >> event->prog pointer. >> >> perf_pmu_unregister() perf_event_set_bpf_prog() >> ... perf_event_set_bpf_handler() >> perf_event_free_bpf_prog() event->prog = prog; >> event->prog = NULL; >> >> I've yet to inspect other code paths, so there might be more races. > > Weird, that should be serialized by perf_event_ctx_lock(), both > __pmu_detach_event() and _perf_ioctl() are called under that. There are multiple code paths leading to perf_event_set_bpf_prog(). The one starting from _perf_ioctl() is serialized. However, this is not: __sys_bpf() link_create() bpf_perf_link_attach() perf_event_set_bpf_prog() perf_event_set_bpf_handler() event->prog = prog; Thanks, Ravi