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 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AF172C54E5D for ; Tue, 19 Mar 2024 04:47:04 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7670310E628; Tue, 19 Mar 2024 04:47:04 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="PHF9sDKG"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.12]) by gabe.freedesktop.org (Postfix) with ESMTPS id A128610E628 for ; Tue, 19 Mar 2024 04:47:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1710823623; x=1742359623; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=EHJYz1F9/uA7JQaOwgZSew1qyTSn1sxXyerldYcWdRA=; b=PHF9sDKGJ1XQEDAZzedLdoQHi2yJfTj/MSzf3B0OPIcKcnJ4Dh0b1Hgr uilLX6uxOPGME6oJtY4vCvwIbKssGe4A2cwN0RAxCr+2eRSUHsTy0Unr3 QyYvi7HqNjUW0LRaIFV4KTU67tU0HgntQznnuap+lWOu8l3GRQKo8yDRV sQgd3CGLQ/hmyhNcSneedwD4ndq305hBjeNbMwejKOMua3sYEcb+oStny rzLRfcvWA7e4SJT4QRldjcC5QE3MwXeCo+bIGpPIW7FNI2ab/J5cigPRo 5+2L+utIy0eCub2ynLiuTuOlNPL6zVXPAWn17GEzrH/ZC/lo7OFFmEaDY Q==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="17119904" X-IronPort-AV: E=Sophos;i="6.07,135,1708416000"; d="scan'208";a="17119904" Received: from fmviesa009.fm.intel.com ([10.60.135.149]) by orvoesa104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Mar 2024 21:47:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,135,1708416000"; d="scan'208";a="13673505" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmviesa009.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 18 Mar 2024 21:47:03 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 18 Mar 2024 21:47:02 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Mon, 18 Mar 2024 21:47:02 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.168) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Mon, 18 Mar 2024 21:47:02 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N/kHybh1tbmaKgOnfmzVeK+9i8tr8+8Xa1gxoDbo1UzZSFj4n02WZMhxnmM4VkrLeKldZwpJExhjZPeOR/5bOuH5nImF7KPsO38PrYfmWhE/ymJ1+lMfaT+wmdcUIEhRlIzbpZrCM1U2MHyO3KLNiFqIJY3Dgm9/3i9lo8JoijCZEfFr2SD4rHvXcdlRuXMteOGD4lkLRBzRJJfSweWyx7g1L1ceLwGlYa8yRJpFyJnd5E9ajMrWClOkxbShGCL5sQn5oo8ZmW4cFTR45DJgFK86mIBkUjqg1tD7LSsZm6eXk/cLIZhsVwej7p5PW65/pyaEKL1E7YHdJMvX9lSl/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=/l/nXRvMKJIOHfYvhB86jn60TT7nfFgYEp9xSRulUXA=; b=N8BHaNDawq/IsmGXa5rg46Mmp7JcViAJWbiDDVMCv6NOhRmqmbM71M/4Z2dqlyNNzVne7u7k/WGf7QCDEs5qZfTFEW5TBS9lbJKcDvaku5r9VeFFA744VKXk8HekOtWAdG8+nyuBHiHJqakQWsW2uHfQ6b3QYhWmJCrdch0yr09ff2iCuarJtvUt8PFrKVXISJyAUzFOx80mp6PjEEdOHeLHV6MiejNgzEX+zeXmWsQGt591IR/VWKcm2MCT+zmiGh5XQ1ltxuF4QerVWO3I/f0f+Svh3POIf1I9IiFJY42RoreI6UJ9nY+A4ODL7PFltLPTZRqVa14kT5ruxqDfGg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DS0PR11MB7958.namprd11.prod.outlook.com (2603:10b6:8:f9::19) by CO1PR11MB4867.namprd11.prod.outlook.com (2603:10b6:303:9a::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.13; Tue, 19 Mar 2024 04:46:54 +0000 Received: from DS0PR11MB7958.namprd11.prod.outlook.com ([fe80::bf36:ca7c:bb6f:68a5]) by DS0PR11MB7958.namprd11.prod.outlook.com ([fe80::bf36:ca7c:bb6f:68a5%4]) with mapi id 15.20.7409.010; Tue, 19 Mar 2024 04:46:54 +0000 Message-ID: Date: Tue, 19 Mar 2024 10:16:47 +0530 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 3/3] RFC drm/xe: add fault injection for lmem init check To: Rodrigo Vivi CC: , , , , References: <20240315100530.3051944-1-riana.tauro@intel.com> <20240315100530.3051944-4-riana.tauro@intel.com> Content-Language: en-US From: Riana Tauro In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: PN3PR01CA0084.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:9a::10) To DS0PR11MB7958.namprd11.prod.outlook.com (2603:10b6:8:f9::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR11MB7958:EE_|CO1PR11MB4867:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FtmlrkzK9jWeu8q92lHP0fbaVtA+x39CmwroZjCphjyeLOMyOsgZe4eMIoa6G3WIwwys32hqDb7NMbL8DMja9xvJgXhK22DqadCf0hWoKyylGSyNuypyLki7ofE0YR1ppxLdqqQ8vM+6wO/iS9v16SHjI4RKlemwrA8MoyP5LDXbmN13lRqRjb0p8oRcB7NjlUAryxqiJR6lv+Jd14Ojvd2n/NmniGTZCkZON7ou+4WZ3ZwAe6XCwZdI0RUOCaz5Zd/mEFLKMmVmwxnwoxFJqqDvUcCDI48nDP9MBqJCBuNFm9qwSTMXo5rQ0T3TPOBNJ7xQjbwql7XCiGqCIKJwq3LGFVxNwfagg+pQ77x/4dooQLidRi3B8wkr+0YU1l2h01YbopS5kEXUfveUapoqWuW9qEICWcOzCRDawOw7+bMae84WIDjJ75Nu64GslzvmdaFU329tPKlasvMCNb/VCw/duweIMEyNqXtx3sgwq2ko3LlVQhrdVZhIoHT2rs6ghlId3QltAhiQOocLy7INoNuC7QzCN9UVPoMvHBL/nHPxbrO3i2tPZRHnZYzEnXW2ZkQaU753yUvkuU4l+ewKEvVWcGFpZ+5WI0vS2NLs2+o= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS0PR11MB7958.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376005)(1800799015)(366007); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MkhPbFpGaElMOTFsT01raktXZmFjanN0bnM3VFp4SnVjM295eER5d2MrTmpO?= =?utf-8?B?b2h5Nkx2QklHMHllS2hCVlZCMDg1a3FTMHp0SDBTdWRoWFpHcmZHNnljUHQv?= =?utf-8?B?bGk5SGFxUFhaTnBIUUZUcHdhL3prQmdXeENCYlRnVFIvbXBoem5rOGZ0ek9z?= =?utf-8?B?K2pqcTQ4NU9tSFkyQ0UrWWYzWFljSVJ2dEdkOXhpMk90ME5mYmdYSGlMck5R?= =?utf-8?B?bzJFZ1lGaHVDbU9mUU1tT2VCM3FzMFlONWNMY2NocUVtOUo2d1g3dXJ0bFhB?= =?utf-8?B?dHVkMUFqcSsyMDhtcEorei9DSThQcFMxNVdWYlZLSitLbGYramJ1dW05ekIv?= =?utf-8?B?Uk9iMFFRQXJnNTJFMFR1S1B1SnBVdjVqbXVpMllqNWcveDhTUEdlMmVSWEJm?= =?utf-8?B?R3g5eEEwUjFpa0tGcmt2ZTc3TUxVL0JaZHNqc0RBdytUUzVaenFXRkFBd0pn?= =?utf-8?B?c3BLWWJqZFVlQlhtOU1wOGZtU2d0eVFjcndUTXJtRHg3MUFwenFuaUlsSDhP?= =?utf-8?B?NHo3c0pqNFhkeStPQ3VkQndIaWh4ZWFyWlhva3NiRVJoeEp4M1dmVndmQ3JN?= =?utf-8?B?UGxQb2NvbkRESGh4UU50TmgxUFBGS216SW1RS1cxWDZlQThQb045elBKMHpT?= =?utf-8?B?OTByRFRHQlpIUG9MMGVPMmN4bExFcm55b2hRa3FrbllGOWIrcGxBclExa21s?= =?utf-8?B?K01LMFplWWJOOGt2YTBDQzF6VGROL3VCR1NCY2tUWm1mUHd0TXd0dlNhUE9R?= =?utf-8?B?SnhkMjc1R2NXR3hzTEdVOXZldVBQM3c4TGJQWTJ2ZkErU2R1blJRTzFwN1Ux?= =?utf-8?B?T1RNQklMQmFLdnpWQnlTTXNKY2swV0M3S05ScEVaRVJXWlY1VXZ2MFhzVDNO?= =?utf-8?B?QkJmeWdBdHQwRnF0VEk3Uk1DbklVTXFUM0Y0K3hSK0RUK1lEbFlaMXJvd3o4?= =?utf-8?B?NkZ1UEo3WDZyYkhydFQ1cFZGK1ViSXE0cnZTYU1DdXhCbm9OZ3BQMkpOTTZC?= =?utf-8?B?RlpicnBtQU96R3J4ZjBaelA2M1RIdDFOczZUT2NQS3FSTWNGTlo3RWxBVktz?= =?utf-8?B?MDhWbGF1V3VkUnNvTks1MCs5U0w1bVpZU1dISHBhQ3hNWDhNNnJHeDZmZDU2?= =?utf-8?B?a1NESHdiYVRQMG53QklnazJNd2NKWjBsZ3poMTZLWkVLbUdUek9jb3JGVXpO?= =?utf-8?B?QjVCbmNYQTRJelc0TDZnL0ppeEhNT1U0VXFPUHR0TTR4SjBnVDliOThMd2pr?= =?utf-8?B?TU9tVnpncjl0SkdEbDVNN0xTMWtZQWN1S29LWjVHY3hKbWIxN0kxTVgyZHdH?= =?utf-8?B?UzVxN3ZLNklJd09wZEhBZ1NHNUk3MFBsQ1pSblRTNWx3dWI2N1I5c3dybWF4?= =?utf-8?B?NnZ4d1dDUURHM3pNajRzdHF6T25TdGV2SnJGcmxwVGFBbEFLVzUzVXlMMzJl?= =?utf-8?B?Ymo1RW4yM2V4WktHZE1YMjI5VW5IUUpvdnNNRFdlUVVyMnQ1eXNWWk1BMmdr?= =?utf-8?B?bU9OUTJCbFdHRXV5VG1ORVBwcmUzeXc4RVlVYm5qWndJd2N6QkRiQklaMDRN?= =?utf-8?B?eFlNQzNMeFBydC9jUlZQKzBGMFhRL1hoU0FNVXpNdnBPWWw3R0hVM1BpaHYr?= =?utf-8?B?ZGVlNGx0QWhUL3lDUVRzU05YeGlhckJpQ24vcTZQTjM0ZlJtZ0RCM3ZrUldl?= =?utf-8?B?dVhhZjEvbmMzSytXZFN6VmdFbVI2ZGdFVC85QVJnMFhENldEbVN6MVlVdnI3?= =?utf-8?B?MmJqdFVLenRWN3dLWVZzejIzZFpyR3dHVGNDT2xnSEtPU2FTbVJscGhkYzJ1?= =?utf-8?B?YUp0SEFjdnVlYUpTa0JZRnZrazRMVlRFQTd6dVJWc2pFMVdXM3JXTmJEZDRp?= =?utf-8?B?aDRoOUg2UzVMbmZBcG5UOEFqMEJWWGZmRVdiWGQwdWEyb24vMGtZMGcrNjdE?= =?utf-8?B?YlZHVVVCZGxVcXZuZ3FEU2xiaTdRS3E4dGFrbm9pcXNEdHhkVkpNUmk0Z3FC?= =?utf-8?B?RXM3N0Vpbm13NnhTQUFlRHFyci95a3p1alEybzB0dExRR09SVDM4YTBTMlZh?= =?utf-8?B?WXUyK3JaZU9DdExWRjVDckdnRzlPOUhWaUxWUWNvUWVEakdKNE83dXI5Q2ww?= =?utf-8?Q?JaBqaE3kySEK3GEtc/Ky6YJi4?= X-MS-Exchange-CrossTenant-Network-Message-Id: e1d34634-34ee-4982-6b8b-08dc47cf997f X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7958.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2024 04:46:54.2419 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 1OL+X9S5KN+j87YuxW97/wPHp5QiQFaZu89LCMIhPR/MwuoakWW6eeO3viIX8dlmf04B+jvBGinzk6tB02gcpw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB4867 X-OriginatorOrg: intel.com X-BeenThere: intel-xe@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Xe graphics driver List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-xe-bounces@lists.freedesktop.org Sender: "Intel-xe" Hi Rodrigo On 3/19/2024 2:45 AM, Rodrigo Vivi wrote: > On Fri, Mar 15, 2024 at 03:35:30PM +0530, Riana Tauro wrote: >> add a boot time fault injection for lmem init check. >> This can be triggered by adding a modparam fail_lmem_init >> >> xe.fail_lmem_init=,,, > > Please let's avoid module parameters as much as we can. > > Let's use the CONFIG_FAULT_INJECTION_DEBUG_FS > similarly to > > fault_create_debugfs_attr("fail_gt_reset", root, >_reset_f\ > ailure); > lmem init check is done during early probe. We cannot set debugfs before probe completes. So i added the module parameter. I can try to set static values before injecting fault if module param is not needed. lmem_init_fail.times = 1; lmem_init_fail.probability = 100; Thanks Riana > And then use it like this: > > https://lore.kernel.org/all/20240315010843.194335-1-rodrigo.vivi@intel.com/ > >> >> Adding this causes the lmem init check to fail causing >> the probe to defer. >> >> v2: add fault injection (Lucas) >> >> Signed-off-by: Riana Tauro >> --- >> drivers/gpu/drm/xe/xe_device.c | 21 +++++++++++++++++++++ >> drivers/gpu/drm/xe/xe_module.c | 5 +++++ >> drivers/gpu/drm/xe/xe_module.h | 3 +++ >> 3 files changed, 29 insertions(+) >> >> diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c >> index 50473329cce7..393610e95bd1 100644 >> --- a/drivers/gpu/drm/xe/xe_device.c >> +++ b/drivers/gpu/drm/xe/xe_device.c >> @@ -51,6 +51,10 @@ struct lockdep_map xe_device_mem_access_lockdep_map = { >> }; >> #endif >> >> +#ifdef CONFIG_FAULT_INJECTION >> +DECLARE_FAULT_ATTR(lmem_init_fail); >> +#endif >> + >> static int xe_file_open(struct drm_device *dev, struct drm_file *file) >> { >> struct xe_device *xe = to_xe_device(dev); >> @@ -431,6 +435,23 @@ static int wait_for_lmem_ready(struct xe_device *xe) >> if (IS_SRIOV_VF(xe)) >> return 0; >> >> +#ifdef CONFIG_FAULT_INJECTION >> + /* >> + * use fault injection to cause a lmem init failure to validate >> + * deferred probe. Set the verbose to 0 to avoid dump stack >> + */ >> + if (xe_modparam.fail_lmem_init) { >> + setup_fault_attr(&lmem_init_fail, xe_modparam.fail_lmem_init); >> + lmem_init_fail.verbose = 0; >> + if (should_fail(&lmem_init_fail, 1)) { >> + /* add delay to reduce the number of deferred probe attempts */ >> + msleep(500); >> + drm_dbg(&xe->drm, "Fault Injection lmem init failure\n"); >> + return -EPROBE_DEFER; >> + } >> + } >> +#endif >> + >> if (verify_lmem_ready(gt)) >> return 0; >> >> diff --git a/drivers/gpu/drm/xe/xe_module.c b/drivers/gpu/drm/xe/xe_module.c >> index 110b69864656..c4efbab430a7 100644 >> --- a/drivers/gpu/drm/xe/xe_module.c >> +++ b/drivers/gpu/drm/xe/xe_module.c >> @@ -48,6 +48,11 @@ module_param_named_unsafe(force_probe, xe_modparam.force_probe, charp, 0400); >> MODULE_PARM_DESC(force_probe, >> "Force probe options for specified devices. See CONFIG_DRM_XE_FORCE_PROBE for details."); >> >> +#ifdef CONFIG_FAULT_INJECTION >> +module_param_named_unsafe(fail_lmem_init, xe_modparam.fail_lmem_init, charp, 0400); >> +MODULE_PARM_DESC(fail_lmem_init, "Fault injection. fail_lmem_init=,,,"); >> +#endif >> + >> struct init_funcs { >> int (*init)(void); >> void (*exit)(void); >> diff --git a/drivers/gpu/drm/xe/xe_module.h b/drivers/gpu/drm/xe/xe_module.h >> index 88ef0e8b2bfd..ccbeacbc3efb 100644 >> --- a/drivers/gpu/drm/xe/xe_module.h >> +++ b/drivers/gpu/drm/xe/xe_module.h >> @@ -18,6 +18,9 @@ struct xe_modparam { >> char *huc_firmware_path; >> char *gsc_firmware_path; >> char *force_probe; >> +#if IS_ENABLED(CONFIG_FAULT_INJECTION) >> + char *fail_lmem_init; >> +#endif /* CONFIG_FAULT_INJECTION */ >> }; >> >> extern struct xe_modparam xe_modparam; >> -- >> 2.40.0 >>