From patchwork Mon Feb 24 11:55:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Garry X-Patchwork-Id: 868085 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (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 03EF32571B4 for ; Mon, 24 Feb 2025 11:55:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740398156; cv=fail; b=chHHotSPvHMFjh+XbrGz48D99NEWY/0HkpOv9s25EOCIZUUsZILzEXi++Kojmk2BIfItCo72g3ZW0tUcs/YfO7f9fkmZeRdawmWPk4gCQi6NGjM9MSQ95lHJLBOz+eQPMYHETqzkOTY/sGZjqlezbKU/9e4kgB4kuyxkWkrtIQM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740398156; c=relaxed/simple; bh=RKhhQfabzipcijve6P75vPzRvRFdrasUceMYhe3aKYE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=lAzHzJU4yG8ONI0Fv9X4kqioMptuioyZeuAD1m7l8oVRPjlfJ0eUypFSYX8ty5mtX3dViOhxUxnm/mRnZyBumH2Ohln3I0nQvVSxUfTdjolhFEnCxuKYA1wc1ihTuIKIDbXLT3PYljWuaKZBmYmqNGxIh3Or0m0XeJ0VGYKqw/k= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=VSWcnaGo; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=RVNWq6eQ; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="VSWcnaGo"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="RVNWq6eQ" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 51OBMaFo012846; Mon, 24 Feb 2025 11:55:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=LLzd461u8ojAP8OXiBNI1LZwig0K/vjU6c95FFIbJfs=; b= VSWcnaGo5iOM9EvIt987QrMvsKnFnoIEzuJ7F//5/q8zLsGLBpfVbYgGjAEIvnEk TWT6O0U0GzxJdWCZHu0YCDZGXKBmAzBOvVWyJHUncdoMU5iev8ROy3OFqVEoL44G 2nOzx+a79V48Gi0KvDJnOFrSMRJFe6PUNBg6PSswIasYfudD10y3Vo5EDBOcSB+x 0WP5/OWqFJ7gk1wHIEyhtAF/ReBhIpS64eELVOzX0U3ZQ/Yat9c7CT8oA1kpAFPb N/RRfA/6kCdLYlqR0SgbOFJDIVHvfsJtMfQ2oRlFYtLpYoWF3+EuxIJYpNiJ0YAW Vn/j+jeP19KwEliaIM+K/w== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 44y50bjdd7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Feb 2025 11:55:34 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 51OAESsD025436; Mon, 24 Feb 2025 11:55:33 GMT Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04lp2045.outbound.protection.outlook.com [104.47.74.45]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 44y51e29xd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Feb 2025 11:55:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rJtZg7QvA4MXyDjo8FnAcjtP9e8GakLV8GvugLaeQ4ZilLgbnxsQtMZJNVKmVEuYR59Wkwng0ij0fdlkwIRxqhMsADy+4iJ4awDwj171r5RUOGQn6MIMy2GbhNo37tn+qTO6TcLMuTN/f2oUp87+vTbJSe9ZpfCLmOTRjo8irvWPdGXKwwjFmkwtDBOLFpSth3KYIBKu3tEyGXzxD48pZmWQIC6z+33TiICfYGBIZGmN7tduaD/UPpZSRU47CvEY2pgjWokM+XAGnak0MiIqv3QdUKjvaoxasVgpIe+Pq0L+US2AfLwHgYDk8eeCuj91AQt9VHbHFPyihJQf6xVM3A== 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=LLzd461u8ojAP8OXiBNI1LZwig0K/vjU6c95FFIbJfs=; b=Cd4gkszH1na3/un2MbA51Sd7u7AFrtLi78FVznZGpcBPTZqqHDKelckIcfjcZqcKaDBaE5HHOhSlBSCBUGlbvMjSLJzTbU+F7HMvf+DrhJEMtU/b/rAri2ST6m2nRw8ihvkQeae5tlEvtgSOyE9o9WQX5aLIuJIWVOX942/FN2lwhdcDN3SAdeBOZFI465hJ1so/IunkLGAzVMaGFltY1ktpw6XlX8RvHJg8/zrqYAV5KvYLFGXthePhQc+mKRfj3xDt82pkR8N4zCo9ar6G1NzbTmqTSKYwctizzwizuX0Rov1kl399NxXdVLJdCF3MCgvUlHma9cdWMNaWa52SAg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LLzd461u8ojAP8OXiBNI1LZwig0K/vjU6c95FFIbJfs=; b=RVNWq6eQpaSzehk6SspOAH7Muz8/xlTDaYtT6jFXwN1QIlcijVVTHfCCqrq8cEB2JhJ0FdRaibOdYVESZP133iYsjqWqhDZueaQh+wYpHPkWQ+695blbkD0YeMGTyvvEeiSrZ4qDyoNTXcgdngmO/LlMEj9EtY4OzeDrbIwa1Zc= Received: from DM6PR10MB4313.namprd10.prod.outlook.com (2603:10b6:5:212::20) by CY8PR10MB7218.namprd10.prod.outlook.com (2603:10b6:930:76::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.20; Mon, 24 Feb 2025 11:55:28 +0000 Received: from DM6PR10MB4313.namprd10.prod.outlook.com ([fe80::4f45:f4ab:121:e088]) by DM6PR10MB4313.namprd10.prod.outlook.com ([fe80::4f45:f4ab:121:e088%6]) with mapi id 15.20.8466.020; Mon, 24 Feb 2025 11:55:28 +0000 From: John Garry To: James.Bottomley@HansenPartnership.com, martin.petersen@oracle.com Cc: linux-scsi@vger.kernel.org, bvanassche@acm.org, John Garry Subject: [PATCH 2/4] scsi: scsi_debug: Remove a reference to in_use_bm Date: Mon, 24 Feb 2025 11:55:15 +0000 Message-Id: <20250224115517.495899-3-john.g.garry@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20250224115517.495899-1-john.g.garry@oracle.com> References: <20250224115517.495899-1-john.g.garry@oracle.com> X-ClientProxiedBy: BN8PR07CA0034.namprd07.prod.outlook.com (2603:10b6:408:ac::47) To DM6PR10MB4313.namprd10.prod.outlook.com (2603:10b6:5:212::20) Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6PR10MB4313:EE_|CY8PR10MB7218:EE_ X-MS-Office365-Filtering-Correlation-Id: b26d2e34-9611-491f-8138-08dd54ca21d3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: DUUdtyPcf6ppVzrV9DdQ13EI7FY6rjc25hNz++vf97RFzj8veDu0t9g2LiOs0yEd16LrP1sbNfhslxGMt5VrWY1HHj+NbbdcrNPks4WWv6TEHcKigTj6Y7bDE0eq097JZCiG9pbqMrpy8y4eWi//WEO7UyXojii6nbjyGWWFA+ZX4UP0EWKcZKfR+798kaosgfwBruLDFU3Okxj8o/wHg0icknhFrocSA8mIiHTeCWPtfV1LmMWY3vfemM8yFccO/GqWVrt0sKU6PuceUk0V/OOynO2tmTM0ErM7oTfd9f1qx4QRhm5gG4BcBJeaNgyYBRKALs/O5fT3WMGp7AX3W3o2UX03i1AXM0U8li1kndLQW3HUdqaxtdnS1gwaXHMVhV0YM7X0+b0xBJcToF7I1TA02XV92gqshoKq+vEVO1VhYPxzP3FAIi83y3wcbeuS8QRmoLEivL62RbOy1TTFPiik99jPhfkVEVHJdEJyH/fPmVrdt+PAB6BAmsfZCY3akbKQpSFuPg/cg7sMK0hcahROMCv00Rrp81PUQ2F0Nl/FAaDGSWhmfV/qwLSRLARgbUabPV9YRCoADTCgOqnCYewpOTI9oJrVEPXKayfqNirogfV2gffOhvQGi88maNARzUBQuqQX9hYbdSYR9FfrhAd01tzfqK9Skaoi0dFhvdtAenNrsuK7lYR+l7QFLA6S/yHp3ZHzcUoHSlruynt0QAp5OB6wwxRsPeSgli/mB2iFK5I1nejwITiAhCVOv4eTksVF7xyxR/EH6q/6uaIA7OWNFCWogvLGhPEcQ4BoXJuiV8jSJd/+Pb2jzI7PYsNJ5HYgUXlG8NWP2Qh1Fo+izvM0c8OH6FXp7Y7IysWJQ8pluFiK4m9b1aNBJU660JEfvU1S96OeLHkLj7JW9y7OpJanxGu5cW7Csloi8ENAd3DCxuBk6cISg7Dvz78ZuzQgfSHVEC02J6AK8312xpkHAU50xdVhpYRaSic0zIlk/VaidiOdADHsLVyDZoiVKfdbhKoAlovd66bLsHfHDCOGUok5OVR7sus8EZbqLk7+G+FCw6EzMaUwLvud6hipowCtnydjtbAsGNa9M1SdvQ5ieEeMLapWrWoWXoCk3vKA+LffUTF+yfM895LnYKIaZfn0dosYygJyphQyX3ZRpfyzaSHzXVRDAAXmeRcBnjKxcQxE57Qnky3fCrHKJaERy/bh0bNqKQbNJqyT87FEoXC2UmV9sDWoygT4QVEGWpYR+wI4qbBpfNB25yQ1qrMeaTg928id7+/oTwFrSAL3gE+veDFmKMbfNtBoxI9f65pcIADcm7JVg1W0hZ44ZLVAuP4Ek7OQDc3HXtfOCeao3BM9lyBQWniGgw2A5RxuyLUrwijsmwlP8pUydNahK+fymw0s X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR10MB4313.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: wg0g1+GYDdspHe+wfQB8diTxs6dGeuqX00JV4/8aDrPArsKr6yI8FmCfNeWAZwiMpeJXtEZ4s8sPQmh2VP07/TMHI5Lh3JTS1Mgd5lXkwOyDFfcSV6BHiMMGCnfNNFVtfRz6U4Ao/YI2/PoIstdCEuPPBjj31J8NUmrGvbRpxcGDNJZzNkDYt/s6UyNOHTsycBqOrp9GgdfwJ/nZ8rv6SeA/VxM5E/tbJNJH6PGJwXQXRTn1lWkYCKXtSFNApEPlgu3Rx/SbMfOpOcZKoN6lF5whmFrQIskMWzcTzVSyb0CgXulMtDsbXs6FJAcizqNMxatq8hK+eS0IauVxzTxcEbwShiKRL07ki05guB8CZpk5BiF8EV6JqzrVozLx6wX+KMlqQYAmMEZ0LCsV3XnTV33m/WZ3J6FYJOICTXYMaqI7V57PvXnRViepFuSsCoXtsZ+kSrRAt2j7QoeiHFGLI7LapztfNcQeoa4tZfvvv9+fWLw6q82dRZu6CsWdCgEhSM619BjhN1BW6XEQ72GR7s7LATa04SiCNYMiRTDGAtuGgbl7oksgmh/WBQkxjb8YcI0OFbVEbnbFs5uBLzJwLcNsSlKN0vhem6B2k5VlHCX4epLwyfthfwodP9t8c1r96B5QijdeXmmoD5U8EoTAaBmDwJRwsVkSPJZOnumD8epmsYIasJKdFxoXdCsXybxMyIwy0RdGCq9s6hBbSgf9U9W20It/zmoccGqXFH8PL22rk6ohwvIfOkwtq2r7lQyriNNX8xFFtvftcUgRiBdPxYISaWrv1Ja5xent9246WwzkZO4i8x7yAss0aPL7u1Ts4fMQn88tbXsVqtJSJJXawLAwHUulRvFRItRKrMjC7bqYrE1PT8yIL+QSJIMTVPPshY7vXCNYwthztstA+BPcJ4EAJD0BNLtpupKWI7nxZ2BoAjAUfwmoBwWhvUeZmd2twfPvmBWHwPAmRqL2b1qN8gWSSUNurqD2VIyZZNTyLau+4UE9zSNrmMdokGnVfG5v4zZMK53Z7WkZHmPtHCbwdq5SJHv/CxbLNOdpUJVT6VVAK1UjqSxB3hnbHaau6yGX6pMs0bTv2lIF6eNRt133hMy5SMZKM2sP+i2kDYwa6FhZiD3OVvfN3bBcMEJVCds2ek3FxoUcQ/GvBs+DewUgDklaWIByAV32dVCEXAVmTaov2QDpn3hVuCftZBHYGk927G/dC6KM8uom1b9A2xUgo6//YE4FIOFVapq5xCLs3pyUiLC6yQPw3tfWy3tAjBlm7SOqLEvrNhgcEhbdevWP2MZxKDzLrXFO1PVIUytcdfF5o1EjaG4lIBPyaDore+2AJ0ZxqvAdluktW2tuy+OQnOLWmtfL+gQ8+tTS0y9rLd7kfBPPle6sc3Kl1+mESfumtR5I4i6iGReN8/HxoQdmKFkuRnsmORMsJ8ZRHTSdRzYBFNAdZuUGsxtYzjqIoWXKWeIgmZ1EqE07mjELy+tvM++4NJTp4kmuofJTItvHx9Ywq18JmkmNMTt8495uQloPa0KP48bVUk5il3J7CZM5G0LPvaEvg85DKx8mKWmmsTa1GRX+k9p412Sdgr9qhlsvqwgt44BysBjwIKBlfsmZ8Q== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 9FlN0dqOyELddyKIqm7ROq+f0RLyfMBbBY4ceidmvo/JRAnaXWfx9NvZNjwgimzEO9aSwtJU/KxZi7UT9NakTHJrtRVryQp1tTHvCdgydvz8K0ue8gaioh4WlkxsMXjzMoZ57yquekdexYtZEA8YcBn3L9SDGWHOU4hmvPZEAtTKm3fudU+HqXWd7ZxChtY5lOMb0GakKLeCBZO/e06+sRzDDPYjcN8S3x8hBF/f6cu+YdyplOsn1Tv/I0mFiu7/ijy1fGRChU0BcWp/YrauV25f5vxmx8sfEw0j/0uXVdwrW7byRoVl4PPwcRXHMK858RumhyoN99Md8iHoc30tn8EYZ/ZJEEI4yPASx+dKP0GSSgIJT6cdc6Qk9y/Ecw0fgpz2KsDqx38hms8Nt5O9tBTqXNccveHJfFaL2g7wOoZJGpZ0v+Zs6GePQnwQ5oL+ECLDnQWlp1T19uD4N9ZzoE8z+xKib3eTZCLRRsNOMSgzd/2Jwc6uhj3xS77adlLAb6zAO96Ye3kTye9tR8300doBiaymvZCKdEEVCmYe3e1n0w8fQCqa4sN9XJrWQKP1nIWwl9JfHhjjK9kTtNHHYM08K666Qji9N86oYiFNbjU= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: b26d2e34-9611-491f-8138-08dd54ca21d3 X-MS-Exchange-CrossTenant-AuthSource: DM6PR10MB4313.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Feb 2025 11:55:28.5753 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WcXXy50hsdAjdDuy5TaTHJRp50cXERvvXpfvbnEqs3zS1iM3a5OjhCiwIFNGlDMjPbegng2WUy1yNoTsYNugSQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB7218 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-02-24_05,2025-02-24_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 spamscore=0 mlxlogscore=999 phishscore=0 mlxscore=0 suspectscore=0 adultscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502100000 definitions=main-2502240087 X-Proofpoint-ORIG-GUID: P9Q5KGdgji75Z3vLFxTeohNdnO90xoZM X-Proofpoint-GUID: P9Q5KGdgji75Z3vLFxTeohNdnO90xoZM From: Bart Van Assche Commit f1437cd1e535 ("scsi: scsi_debug: Drop sdebug_queue") removed the 'in_use_bm' struct member. Hence remove a reference to that struct member from the procfs host info file. Fixes: f1437cd1e535 ("scsi: scsi_debug: Drop sdebug_queue") Signed-off-by: Bart Van Assche Signed-off-by: John Garry --- drivers/scsi/scsi_debug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c index e3ebb6710d41..7631c2c46594 100644 --- a/drivers/scsi/scsi_debug.c +++ b/drivers/scsi/scsi_debug.c @@ -7575,7 +7575,7 @@ static int scsi_debug_show_info(struct seq_file *m, struct Scsi_Host *host) blk_mq_tagset_busy_iter(&host->tag_set, sdebug_submit_queue_iter, &data); if (f >= 0) { - seq_printf(m, " in_use_bm BUSY: %s: %d,%d\n", + seq_printf(m, " BUSY: %s: %d,%d\n", "first,last bits", f, l); } } From patchwork Mon Feb 24 11:55:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Garry X-Patchwork-Id: 868083 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (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 B99E02571A0 for ; Mon, 24 Feb 2025 11:56:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740398174; cv=fail; b=iebYQ+o+U98SGTawVNyc/ZxQ3aQSPPI6CcUPOfZHaSD69XeC4STn1tYUo/ao/WD/337dN0KiRqEODHI/ykGzlvyrr3fFwGGjFS4x/SsR2iwcWODgVkQF0p8FT5p7Kub9l2p/Zvi1g3vjrPHvfXlfQ/0fouljBWkdie0c+d9ERtU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740398174; c=relaxed/simple; bh=iExKoeEHTNLUOPWbcrdiv9MVVUg1RyAjP7oB+J5+WtY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=sETIxLv0goP8b3x5qKqP1H+l9RkMVDhSDQZ3QOv5z7Xi8ycYZsJrLuxjNrLet4lj85Ihf1stHvqvvrywia4EhsdWGzQ0Xcz38eu4wzx8IGrhAxC36rtDhmlE8GVGnXSfwmc153HttUJ4Qr5fUh0h/4ckhCIzLH8AKm3Vsqo1F/s= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=BtvtOFvV; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=LdaIRGi/; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="BtvtOFvV"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="LdaIRGi/" Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 51OBMkJ2010111; Mon, 24 Feb 2025 11:55:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=AAA7bO5gH9ikPkQXJ1dLfrdm4Lat2pkNuKtFCygQfSY=; b= BtvtOFvVsBPjMn5Ptl+In2VjDd9bPlHTFkZWqWDyHtL/CpK/UqQwLQRJ+iK/57tG aQGBhDooAqPeONEYvyJqQqP+IsavL0uY5+HrbfiXEbxwrxoHrIA2B/1UTL4z8Dsp n5skUevfuN+aYxfzaPvuEPdwmgEnHgd2y3+nP9p1XZwhcBp8eqZT52OfCloeiGBv vTzZRaqSFHrwr4y6LFxYxeVQzQbwKYsj8yw2tnPW5AO5pMURqBnRE+c/GqEwCOyS eCMImkyxwtgYAMUTfD9TEN/M8e9KeU5INTKKVvzTOP7vYnILLDI9qllwitLWcD9S /QR/kOBWUGaSNih3p4xB7w== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 44y6mbjdd3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Feb 2025 11:55:43 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 51OB1bjM012641; Mon, 24 Feb 2025 11:55:42 GMT Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04lp2044.outbound.protection.outlook.com [104.47.74.44]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 44y518tapp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Feb 2025 11:55:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=u7fWatjy2RM9SnZhhfBfh4Jd5W8tdDvlfUUqX+VG++RaOCay/MA0fFHVtFea8TutpYjToVAYhA4/r4ECswIRgjS/jDWIhP6M+oafzLJEBHYyUFcqX4Otcg2T+FdNViQznD9AfZ7cTwLWRNTupOsyBNVD9eyWaDnHodjbYKHoHdOmH65wsLpqbb4UhiGfDOZ75rZP5cI0T+O5exkEMRorAg+aKY+AzslZKbeH3+adYwNQHaFKApex0xQaAcDqAAHuIqzSJs4lmFFGL+E2VEHnojQoB1hGceUglAw4TGCH01j9SvYvGDIJ8ixE+XPNSIjQCfEF+o0RVGI+Faf/B2zScw== 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=AAA7bO5gH9ikPkQXJ1dLfrdm4Lat2pkNuKtFCygQfSY=; b=ZI/ga1UHOlq9OrxdeiM895UxclRqxNELBJHv1A56GQVt3Gh8LXMKtKsghbDr5oP9Ttadcr9C0ep8JZKgZy+HdYMTP13p5U2dE1GtpdgKZX/tq6Lq1ftXOvY3p+OyspG9AiOtHirBbKxBnG8kDQ7cbsq6Sll/mZ0fPjV/tMydo3fyT9Tpgs+hiTGTurr7v70V6B/RLevSGpE/zEo8NY1U71AtduUBNJmTbEFq/rtyWaTOJptlp9fD768OePrmxjheNKPnyr64lZx5bgF9VtW6XFi9SFz405Z3PJACHFB38aFq/4v73xUsex69HAUFq1hPO/mlFTS1QZwZD0/Gk2z8TA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AAA7bO5gH9ikPkQXJ1dLfrdm4Lat2pkNuKtFCygQfSY=; b=LdaIRGi/6u/Tyhwtk17n5dQzKHdDdn8qQeKxGTSmvo2WzFW/HL1p5/xtSZBYS/2k9pSlPU+R6+YD43X8aw3lbjNQtgxZ2H/JlRva/1vSp6OTWg1Xhr+dFt7modjeos99D4VNgVsMgCWXKkkuT13TDLjDO2IxplgKIFSxMiwL0Ss= Received: from DM6PR10MB4313.namprd10.prod.outlook.com (2603:10b6:5:212::20) by CY8PR10MB7218.namprd10.prod.outlook.com (2603:10b6:930:76::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.20; Mon, 24 Feb 2025 11:55:30 +0000 Received: from DM6PR10MB4313.namprd10.prod.outlook.com ([fe80::4f45:f4ab:121:e088]) by DM6PR10MB4313.namprd10.prod.outlook.com ([fe80::4f45:f4ab:121:e088%6]) with mapi id 15.20.8466.020; Mon, 24 Feb 2025 11:55:30 +0000 From: John Garry To: James.Bottomley@HansenPartnership.com, martin.petersen@oracle.com Cc: linux-scsi@vger.kernel.org, bvanassche@acm.org, John Garry Subject: [PATCH 3/4] scsi: scsi_debug: Simplify command handling Date: Mon, 24 Feb 2025 11:55:16 +0000 Message-Id: <20250224115517.495899-4-john.g.garry@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20250224115517.495899-1-john.g.garry@oracle.com> References: <20250224115517.495899-1-john.g.garry@oracle.com> X-ClientProxiedBy: BN0PR04CA0096.namprd04.prod.outlook.com (2603:10b6:408:ec::11) To DM6PR10MB4313.namprd10.prod.outlook.com (2603:10b6:5:212::20) Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6PR10MB4313:EE_|CY8PR10MB7218:EE_ X-MS-Office365-Filtering-Correlation-Id: 470d23ac-b9d6-4818-45af-08dd54ca22f9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: /UrPSLo/0lshJSlBq+wuP07LcF/tibWUss5MxhK9QEDVBrZf4jgsI87KHxQ0yN9ibENHIA0Ft/6e9gyasDgfbH38b+G8UrPRm6bzp8OIg5Stds47lX9fpQfaduhirJpPIx99hTrhRCD03XpCoMNbmJxUrZbwuAzALW6r0lywO0GGssHGbMBBxmkurTwFYM7/FZYHJBCbfqEV/zBae0iV5kCdZreWMrhogBtvgREPNtfPB5JSlnRoaM2oV3YeIr6da0JXfNehRFPiihVpmgKHxiqpfRuOx6qpfZV+KGFihzmkhKSTVue4TddUEcoXh4RlkQAANKPaDeGK9p8BncM/R8c5b3dxSeCTfjlqx1MLFk1xdDtQCKeukofLWJhGFMuL0g7r4xxj/+1qOZqhs7TPwN+zMouvUJ/QJzLsGdxoabGZ5FXYtK3yNESpJL0tt3TWwa7r8kZWj9QV2fzWdzq/LuwQvfI0BECsJYsrKpzrn36i3XiXNVuC/qwHcyO2rpDjWGGcaxt/MGQ/PhtEcLLnnuEUcbIQWhXTuB1h8kXqQ/5iiq9C9QHyvX4NqPWkMGcurwtDNNCD3jZSkaO7JR2qS4xr/PtdpjBXmQ2yCf6HzR2PamfDmauNYAObj0TZhIpVLW9t/5bReI9msPoVKlh8aFw/dzX0t7xesrKQfPjnBFfMH2yR6ELA8RJ2bnICoAU+9uSdPHPUSthanzprY68wiXyBQa5hL/o+qTAuqf1DcBfvoKAm4Tckg5kVbfCTgBJKVNMc0P86jFNqU4iT9fzccJxdxUnH+2jXNb5InhVFuQQZZ0rHatD+5WBgQ9wU8gVwAA2iXdpcTUxCE2xbRcx8QIz27Qe/q3YMsEwRdoI/qpBVIzHLjubyMLbJTwkSX90iIGc8WqchkpzZNgX545ikuXf5W+40/G/IY9OtlH3jFF1YPfqjA05N12vXjt6UGrXeuH77PTmn5ZYhYrZ9diNBLC1S8JLBrYeEvN66IcMvvEfJEX2xBjZoO7SXiNUjPtTYC4OkzQ7fN0RSe9BvOW7nGoVWJOl0uZgOxRS1Lz4eR7EVckIHaXKV7liG3FHQ7WPhtsIEJ9PcCepeIy4j0mJbuWtufBE1/YDiziTucrEfWzg77Gw+ho6gKBAZ/jfNc+etbE/Joa9q/oHxuFEcB7XTiIyh7Y1d0ger31lkRagmTsS7xdRCqKbjsyLyYSe+GMh9pVACtzlOUELpTNMA9tI3V9pxuGUN/vK6XPlOWV6ueFD+MfNiM4s5l1zjFVrwF8+0zALC5hpba/+ZC7LeYcm1Fwrr5vg0gNBGR5P57/3a/h+We0krIA33/tWJswAf0jRWT/Lr+YHBmQ93T+5Oe0UU7iCMJfGrST6B9xTRqb5DGsW/cy9NbA0IhXa9GFwSelFb X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR10MB4313.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: pbkkTlk8NdAnANqLiZiefnfvTrJ3URdLmyOnpQyYok6YJkT216JzecmWNFuveRjYTC1S0v5cckl/E1mf8h13dlhuSlVM5PUwxYyU7xmYnRNk+StpTczc+IPGABH8UcNXnflcj6QOdwWW9DJ0mH4GJykhbJqSAp1IWGPeEpdxcpcMvXDA5tPKUoQ/cOIXG7zpOBxbwmjs5rM7dI1q6BQ06Q7ciDxKKFK53mwEO7mimY/tAcNyzXudaYkJW6lBPjnz4rZJyoVGPX1GiUMj1W2Z6LlnhbFRUN56h4QE65wzpZcF363vnTf7vVtkaoT53uef7JAInHTJD0LocPJmAK8i4K3HV8rspzzBdxHXkUiOcJ0yVuTex1iNkEe+vKSv6C9Erap8mV81DBOU1qMkCADg4jKauwiuX3T6JFezgrI/Z5AgOh4v11hptJm66uykkgUKnQTMw0Gue7sbpZboYzSfRobQ+6S5v97bXwJax2AZdPxXxEW2PZDfuRN0hwt2N5+Bjhxv6gVqgPhEGwF2tJoAG/jFhPPmH3IxE7pRbS2wFxwu4PhXXS+t/fFVVq5r7NEFq3/8yUnXWzIrdmtyG5ZZr6xCu23W49zb0rQd+w80vh+Fo+bWcHhBhF8mbY85r5ADaAEyBRaZc0IVfJ40TDbMP+bDRxnJSojVHB/lrfnRlExBZaPzn+fXjKHyU9CVQrMqysUFZThTQtsNOqKzGZeqnzByZdGG7JDIQOdKKrD8Y3jjJgvZHhoXf4fw/Wfyc6kjYXIq1EHbzPHejSTVwMmUYrlvjCVtHsKYrDrMkLVmyOi1jpz77s6dlVt/Cev33nClBefJQ2bBqO46R0AeqDW7RZBOln+kQzARTKTDAucBqqZwpoK4hgMZXgZiEXWrWstA0fxQ2bRbqCeX/Onxl3aqUHk0y66NPfJkOUNHTiufQ0dMQmwP1DXO28OwXeqEc52JwDBMzpep06121xkkwjwOYD6LB8u9WKohLRXX1Wb3Y8yNeKeKwkNXyk6DsUh+LStcX4ZkEJB3FxNQyd7mps4oaNFawGJRrD/LxMotw5veCihc1vEXu/uo9INhhJ+MF4hcq5uipJdrAAozp0r7+MPspDpbVT93kIuHkDZT+BvaGli+caBep7dJmgzUBR6VsE4Hh0AyabtyEF43j/krEcvbJJ4GOKa0HXXAGsv8mJvptG8eIs9hAYxCftdNuxsPKOULvIoFxZJGBzw0dGMk4n6u+Vbg8dexYzuuVgAXfB0nRqurVLbZUN7NG6cCfDzf0wtS4XAueLCJuonBfhQMaw+Sbj3dCb/bR9VDWmJlA7INkmeAO98cbGwrjfyJFlNglajbiLJSx2l8jKQJZVyjQkupHb+4k/0TspnXo1vMjHbdaZWeR/g0QsntJZ2CU5w4EYg8y/PgPGUfKVuslqGwtOdTL7VA8apD6olu8AQoHGPmVd1fjIxinV0DgfPTrQH+wBAD/SYiYbJymFT/7Ks+s004znKIbY1hc5425x6rV5zjSZKLmHHOoqsHfbsJvv1/HK+iRSEywwj5UUudUUfgm8EoScu+VJdVtSsPVuMUHl28Q38yD3LDmT0JCWl8OUC98BJRhro5FsFGmeLzhI47BPSfSw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: qjC2TMq9TkIeQ5t6aVBSNGwHQsNy/aGgnXO9Sk5Gep9TZ1u7HEONVMnBcYgNL7bBBLopsMRS+JCNSlqQl/mRibkCy4iftNo8O301WlIGiDS5Ldkqzc0ZOsAUunc/VGM4q/UZOaBA0GUBAOE4RV9fmX/umxhqyF3rXAja5bu98+Q81ROrE9lfHtImIKCYlJprhiqPotXOkoB5k1nw7mdSfNOEb6MeUfwY7E6X43jNHjnqU1rMzn1HHlVC+/F7e0SYoHmB6xUx6v1ufBywnTaWV7LoaLnhDaXD3xdtkYcrMhqYw9InD6DKXziByCkuQSMkKbKO68yoC3H3UMzD7kdEgeEFs7+kxRRwS5W1hQ9OhXO/3dlt//x6elmhzsn7FcdbXxdqyuDH5wBrSOxQ4H4uPFE5KSb8mmGJNU2b3e1rdhzeg+E5xxIIr+XAmR6rV76FA2RNycWpUCmDxGQgku7P5XX9ywqYyn9Ylfe6zfRjvxugGIyIa7Be+janUs1m6SYY4iKBqKjfkpNCEFObC1U2JoeTJKKnOnGlkgZ1xdBnY6UxjW39f898U+d+l154Lfxog6CQJSiPoDlXFBu+mBy2pMhl/BDHPuM0mUTWQFvYpLk= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 470d23ac-b9d6-4818-45af-08dd54ca22f9 X-MS-Exchange-CrossTenant-AuthSource: DM6PR10MB4313.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Feb 2025 11:55:30.5079 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ecTeOoVDSZtEUenHYz6ldIYEVteopuQr8XrVgS9fthTfEoJIsLvJPRyOHtY9U+TVQU5Hdf+DIl3PKhd7nqUpvA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB7218 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-02-24_05,2025-02-24_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 spamscore=0 mlxscore=0 adultscore=0 bulkscore=0 mlxlogscore=999 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502100000 definitions=main-2502240087 X-Proofpoint-ORIG-GUID: xxfL34XJiS5S8U1uC2K5FkDCdvP5m9nh X-Proofpoint-GUID: xxfL34XJiS5S8U1uC2K5FkDCdvP5m9nh From: Bart Van Assche Simplify command handling by moving struct sdebug_defer into the private SCSI command data instead of allocating it separately. The only functional change is that aborting a SCSI command now fails and is retried at a later time if the completion handler can't be cancelled. See also commit 1107c7b24ee3 ("scsi: scsi_debug: Dynamically allocate sdebug_queued_cmd"; v6.4). Signed-off-by: Bart Van Assche Signed-off-by: John Garry --- drivers/scsi/scsi_debug.c | 130 ++++++-------------------------------- 1 file changed, 20 insertions(+), 110 deletions(-) diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c index 7631c2c46594..c1a217b5aac2 100644 --- a/drivers/scsi/scsi_debug.c +++ b/drivers/scsi/scsi_debug.c @@ -300,11 +300,6 @@ struct tape_block { #define SDEB_XA_NOT_IN_USE XA_MARK_1 -static struct kmem_cache *queued_cmd_cache; - -#define TO_QUEUED_CMD(scmd) ((void *)(scmd)->host_scribble) -#define ASSIGN_QUEUED_CMD(scmnd, qc) { (scmnd)->host_scribble = (void *) qc; } - /* Zone types (zbcr05 table 25) */ enum sdebug_z_type { ZBC_ZTYPE_CNV = 0x1, @@ -460,17 +455,9 @@ struct sdebug_defer { enum sdeb_defer_type defer_t; }; - -struct sdebug_queued_cmd { - /* corresponding bit set in in_use_bm[] in owning struct sdebug_queue - * instance indicates this slot is in use. - */ - struct sdebug_defer sd_dp; - struct scsi_cmnd *scmd; -}; - struct sdebug_scsi_cmd { spinlock_t lock; + struct sdebug_defer sd_dp; }; static atomic_t sdebug_cmnd_count; /* number of incoming commands */ @@ -636,8 +623,6 @@ static int sdebug_add_store(void); static void sdebug_erase_store(int idx, struct sdeb_store_info *sip); static void sdebug_erase_all_stores(bool apart_from_first); -static void sdebug_free_queued_cmd(struct sdebug_queued_cmd *sqcp); - /* * The following are overflow arrays for cdbs that "hit" the same index in * the opcode_info_arr array. The most time sensitive (or commonly used) cdb @@ -6333,10 +6318,10 @@ static u32 get_tag(struct scsi_cmnd *cmnd) /* Queued (deferred) command completions converge here. */ static void sdebug_q_cmd_complete(struct sdebug_defer *sd_dp) { - struct sdebug_queued_cmd *sqcp = container_of(sd_dp, struct sdebug_queued_cmd, sd_dp); + struct sdebug_scsi_cmd *sdsc = container_of(sd_dp, + typeof(*sdsc), sd_dp); + struct scsi_cmnd *scp = (struct scsi_cmnd *)sdsc - 1; unsigned long flags; - struct scsi_cmnd *scp = sqcp->scmd; - struct sdebug_scsi_cmd *sdsc; bool aborted; if (sdebug_statistics) { @@ -6347,27 +6332,23 @@ static void sdebug_q_cmd_complete(struct sdebug_defer *sd_dp) if (!scp) { pr_err("scmd=NULL\n"); - goto out; + return; } - sdsc = scsi_cmd_priv(scp); spin_lock_irqsave(&sdsc->lock, flags); aborted = sd_dp->aborted; if (unlikely(aborted)) sd_dp->aborted = false; - ASSIGN_QUEUED_CMD(scp, NULL); spin_unlock_irqrestore(&sdsc->lock, flags); if (aborted) { pr_info("bypassing scsi_done() due to aborted cmd, kicking-off EH\n"); blk_abort_request(scsi_cmd_to_rq(scp)); - goto out; + return; } scsi_done(scp); /* callback to mid level */ -out: - sdebug_free_queued_cmd(sqcp); } /* When high resolution timer goes off this function is called. */ @@ -6674,10 +6655,15 @@ static void scsi_debug_sdev_destroy(struct scsi_device *sdp) sdp->hostdata = NULL; } -/* Returns true if we require the queued memory to be freed by the caller. */ -static bool stop_qc_helper(struct sdebug_defer *sd_dp, - enum sdeb_defer_type defer_t) +/* Returns true if it is safe to complete @cmnd. */ +static bool scsi_debug_stop_cmnd(struct scsi_cmnd *cmnd) { + struct sdebug_scsi_cmd *sdsc = scsi_cmd_priv(cmnd); + struct sdebug_defer *sd_dp = &sdsc->sd_dp; + enum sdeb_defer_type defer_t = READ_ONCE(sd_dp->defer_t); + + lockdep_assert_held(&sdsc->lock); + if (defer_t == SDEB_DEFER_HRT) { int res = hrtimer_try_to_cancel(&sd_dp->hrt); @@ -6702,28 +6688,6 @@ static bool stop_qc_helper(struct sdebug_defer *sd_dp, return false; } - -static bool scsi_debug_stop_cmnd(struct scsi_cmnd *cmnd) -{ - enum sdeb_defer_type l_defer_t; - struct sdebug_defer *sd_dp; - struct sdebug_scsi_cmd *sdsc = scsi_cmd_priv(cmnd); - struct sdebug_queued_cmd *sqcp = TO_QUEUED_CMD(cmnd); - - lockdep_assert_held(&sdsc->lock); - - if (!sqcp) - return false; - sd_dp = &sqcp->sd_dp; - l_defer_t = READ_ONCE(sd_dp->defer_t); - ASSIGN_QUEUED_CMD(cmnd, NULL); - - if (stop_qc_helper(sd_dp, l_defer_t)) - sdebug_free_queued_cmd(sqcp); - - return true; -} - /* * Called from scsi_debug_abort() only, which is for timed-out cmd. */ @@ -7106,33 +7070,6 @@ static bool inject_on_this_cmd(void) #define INCLUSIVE_TIMING_MAX_NS 1000000 /* 1 millisecond */ - -void sdebug_free_queued_cmd(struct sdebug_queued_cmd *sqcp) -{ - if (sqcp) - kmem_cache_free(queued_cmd_cache, sqcp); -} - -static struct sdebug_queued_cmd *sdebug_alloc_queued_cmd(struct scsi_cmnd *scmd) -{ - struct sdebug_queued_cmd *sqcp; - struct sdebug_defer *sd_dp; - - sqcp = kmem_cache_zalloc(queued_cmd_cache, GFP_ATOMIC); - if (!sqcp) - return NULL; - - sd_dp = &sqcp->sd_dp; - - hrtimer_init(&sd_dp->hrt, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED); - sd_dp->hrt.function = sdebug_q_cmd_hrt_complete; - INIT_WORK(&sd_dp->ew.work, sdebug_q_cmd_wq_complete); - - sqcp->scmd = scmd; - - return sqcp; -} - /* Complete the processing of the thread that queued a SCSI command to this * driver. It either completes the command by calling cmnd_done() or * schedules a hr timer or work queue then returns 0. Returns @@ -7149,7 +7086,6 @@ static int schedule_resp(struct scsi_cmnd *cmnd, struct sdebug_dev_info *devip, struct sdebug_scsi_cmd *sdsc = scsi_cmd_priv(cmnd); unsigned long flags; u64 ns_from_boot = 0; - struct sdebug_queued_cmd *sqcp; struct scsi_device *sdp; struct sdebug_defer *sd_dp; @@ -7181,12 +7117,7 @@ static int schedule_resp(struct scsi_cmnd *cmnd, struct sdebug_dev_info *devip, } } - sqcp = sdebug_alloc_queued_cmd(cmnd); - if (!sqcp) { - pr_err("%s no alloc\n", __func__); - return SCSI_MLQUEUE_HOST_BUSY; - } - sd_dp = &sqcp->sd_dp; + sd_dp = &sdsc->sd_dp; if (polled || (ndelay > 0 && ndelay < INCLUSIVE_TIMING_MAX_NS)) ns_from_boot = ktime_get_boottime_ns(); @@ -7234,7 +7165,6 @@ static int schedule_resp(struct scsi_cmnd *cmnd, struct sdebug_dev_info *devip, if (kt <= d) { /* elapsed duration >= kt */ /* call scsi_done() from this thread */ - sdebug_free_queued_cmd(sqcp); scsi_done(cmnd); return 0; } @@ -7247,13 +7177,11 @@ static int schedule_resp(struct scsi_cmnd *cmnd, struct sdebug_dev_info *devip, if (polled) { spin_lock_irqsave(&sdsc->lock, flags); sd_dp->cmpl_ts = ktime_add(ns_to_ktime(ns_from_boot), kt); - ASSIGN_QUEUED_CMD(cmnd, sqcp); WRITE_ONCE(sd_dp->defer_t, SDEB_DEFER_POLL); spin_unlock_irqrestore(&sdsc->lock, flags); } else { /* schedule the invocation of scsi_done() for a later time */ spin_lock_irqsave(&sdsc->lock, flags); - ASSIGN_QUEUED_CMD(cmnd, sqcp); WRITE_ONCE(sd_dp->defer_t, SDEB_DEFER_HRT); hrtimer_start(&sd_dp->hrt, kt, HRTIMER_MODE_REL_PINNED); /* @@ -7277,13 +7205,11 @@ static int schedule_resp(struct scsi_cmnd *cmnd, struct sdebug_dev_info *devip, sd_dp->issuing_cpu = raw_smp_processor_id(); if (polled) { spin_lock_irqsave(&sdsc->lock, flags); - ASSIGN_QUEUED_CMD(cmnd, sqcp); sd_dp->cmpl_ts = ns_to_ktime(ns_from_boot); WRITE_ONCE(sd_dp->defer_t, SDEB_DEFER_POLL); spin_unlock_irqrestore(&sdsc->lock, flags); } else { spin_lock_irqsave(&sdsc->lock, flags); - ASSIGN_QUEUED_CMD(cmnd, sqcp); WRITE_ONCE(sd_dp->defer_t, SDEB_DEFER_WQ); schedule_work(&sd_dp->ew.work); spin_unlock_irqrestore(&sdsc->lock, flags); @@ -8650,12 +8576,6 @@ static int __init scsi_debug_init(void) hosts_to_add = sdebug_add_host; sdebug_add_host = 0; - queued_cmd_cache = KMEM_CACHE(sdebug_queued_cmd, SLAB_HWCACHE_ALIGN); - if (!queued_cmd_cache) { - ret = -ENOMEM; - goto driver_unreg; - } - sdebug_debugfs_root = debugfs_create_dir("scsi_debug", NULL); if (IS_ERR_OR_NULL(sdebug_debugfs_root)) pr_info("%s: failed to create initial debugfs directory\n", __func__); @@ -8682,8 +8602,6 @@ static int __init scsi_debug_init(void) return 0; -driver_unreg: - driver_unregister(&sdebug_driverfs_driver); bus_unreg: bus_unregister(&pseudo_lld_bus); dev_unreg: @@ -8699,7 +8617,6 @@ static void __exit scsi_debug_exit(void) for (; k; k--) sdebug_do_remove_host(true); - kmem_cache_destroy(queued_cmd_cache); driver_unregister(&sdebug_driverfs_driver); bus_unregister(&pseudo_lld_bus); root_device_unregister(pseudo_primary); @@ -9083,7 +9000,6 @@ static bool sdebug_blk_mq_poll_iter(struct request *rq, void *opaque) struct sdebug_defer *sd_dp; u32 unique_tag = blk_mq_unique_tag(rq); u16 hwq = blk_mq_unique_tag_to_hwq(unique_tag); - struct sdebug_queued_cmd *sqcp; unsigned long flags; int queue_num = data->queue_num; ktime_t time; @@ -9099,13 +9015,7 @@ static bool sdebug_blk_mq_poll_iter(struct request *rq, void *opaque) time = ktime_get_boottime(); spin_lock_irqsave(&sdsc->lock, flags); - sqcp = TO_QUEUED_CMD(cmd); - if (!sqcp) { - spin_unlock_irqrestore(&sdsc->lock, flags); - return true; - } - - sd_dp = &sqcp->sd_dp; + sd_dp = &sdsc->sd_dp; if (READ_ONCE(sd_dp->defer_t) != SDEB_DEFER_POLL) { spin_unlock_irqrestore(&sdsc->lock, flags); return true; @@ -9115,8 +9025,6 @@ static bool sdebug_blk_mq_poll_iter(struct request *rq, void *opaque) spin_unlock_irqrestore(&sdsc->lock, flags); return true; } - - ASSIGN_QUEUED_CMD(cmd, NULL); spin_unlock_irqrestore(&sdsc->lock, flags); if (sdebug_statistics) { @@ -9125,8 +9033,6 @@ static bool sdebug_blk_mq_poll_iter(struct request *rq, void *opaque) atomic_inc(&sdebug_miss_cpus); } - sdebug_free_queued_cmd(sqcp); - scsi_done(cmd); /* callback to mid level */ (*data->num_entries)++; return true; @@ -9441,8 +9347,12 @@ static int scsi_debug_queuecommand(struct Scsi_Host *shost, static int sdebug_init_cmd_priv(struct Scsi_Host *shost, struct scsi_cmnd *cmd) { struct sdebug_scsi_cmd *sdsc = scsi_cmd_priv(cmd); + struct sdebug_defer *sd_dp = &sdsc->sd_dp; spin_lock_init(&sdsc->lock); + hrtimer_init(&sd_dp->hrt, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED); + sd_dp->hrt.function = sdebug_q_cmd_hrt_complete; + INIT_WORK(&sd_dp->ew.work, sdebug_q_cmd_wq_complete); return 0; } From patchwork Mon Feb 24 11:55:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Garry X-Patchwork-Id: 868084 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (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 68A5221930A for ; Mon, 24 Feb 2025 11:55:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740398159; cv=fail; b=VxMf69ric+M1gBYaTilVGdOB7VhdrT95QT9g225jsJXJfJNcpVA533zU0Ne4ilevx35QUu/bjcp29/rR9YOpnaxMSu2oDgIMPfsAfYTM50aAo6WtbMupBgC6tTiicnwFxgrtenL26syTUiuHIi/6EhQSg0alqJnyBXsTLfMbuH0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740398159; c=relaxed/simple; bh=UYH3d99spEWXopMOK3+4SnZi9QadKoCdzSHAyVVFGRM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=gRf7HrVPvZybG8Uqi7llaoqhOyjNvYeawuGoRS8U2kKKzZrIHCeNK/dIwo4eS9QYXLGWXBqaDxTHUkP9n8x3ZiN2NfUFK2W52nYOC5PlZmS/BlHVQR2/Z6QTwF/yTpXw/oC7txHtUnpC/laN8pEBLQCyBDSPGp1GGEprnrMzrWI= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=Y802DsfT; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=xdF9tGx9; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="Y802DsfT"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="xdF9tGx9" Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 51OBMdOL019958; Mon, 24 Feb 2025 11:55:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=4asfhcwPnvM3DLJbhhUVAnQbIIKkYzQN1JlimoFU1Ww=; b= Y802DsfTbcUErrM+n2i0IucyGh/kwi5KUC9t1pVw2C2zNbC8LTsiVIQsBqo2oZoT Bnqa//aMxC4cclltVdh345pRVYa3Ik3O5ou+gRtPK50c+ptfozJogYoW3jdaZjmj JjgUfnwLLeTNQn3BHdESetfVu+6K1P3FpqjIYW0AOR3ZxZJ1wuCc7iqFWe8NDaZG hg3klAnjdJdBGLZvXZ/eJC0wyvvLPvZwSnWChSLpEJ2qtqZaG6FHrffYhgPTBFR+ ARezjQWuRbTXFFJnUJfkSE83N5P0MEhv3me4MAQNOtk5LJ/1IyLavFPs9vr22pjx vgQjskKC0OzsyK2QVUO/IQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 44y5c2ae63-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Feb 2025 11:55:43 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 51OB1bjN012641; Mon, 24 Feb 2025 11:55:42 GMT Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04lp2044.outbound.protection.outlook.com [104.47.74.44]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 44y518tapp-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Feb 2025 11:55:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rn4B0V8prNrD+5T0npbUzpuMsXHhwXTshESwtHsq+U6qk0eUeja/ac7clkzH+VMOYIU9SJ/8sZj9kQsNm7o0ngN6VPZwlJCJIWmsAbTQYtIPDM9iqSeQJ7wk/dRNb9LvH5oK7oiBEl1yeDJKyBVsIUe9KaDRxI+vYEHYjAXNWHNY4bBiNxlPJ10OE0z/WyZg0Y70XYQbIzdbgW52EtNrX4k5SrNq+sRuobXVyiH2EmWTq6eW8lVXPqXsWjSK1j7k7zTtOtCczStFWrTCVYAswQIslWYA5tj4G5nPu8w4M0R4gc+c8qUWBq6nK/lsbDdPQ/ZgVPGwt540wP7SCMRAtQ== 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=4asfhcwPnvM3DLJbhhUVAnQbIIKkYzQN1JlimoFU1Ww=; b=CNMfOKQAAfG96+NoPtWot19bMBfkj2+Au7jJ0UyJRuUEb3QkftkcDCHWMKnmIIqHM8KkgE7QioHSu/5htP+B+FKOfTSlpIMJhlW4jN+vpeEmeZ8aBTESLErHY88SGuQpHOCwl2QRucUZk7/R9IIUxZoYPmpxePUlIodM1XylXp5ook0VXaVGD2ph46tV6ZK1eBKKyxnONHCst1BsXqvuvSGvd+jZe5WzW5aPyHcrQeuH7twOeJfqPGmYFkRHFAUwf00a2UVmI0vHxT+h6agvblUGx6OMxTRhBCTM8n1LBlq7JEWGXiRfZKS2uy+0cox1xBslZtLMDT5OYjJiKhhQyA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4asfhcwPnvM3DLJbhhUVAnQbIIKkYzQN1JlimoFU1Ww=; b=xdF9tGx9ibiDxBN0+vSK4rBngNSw3HxWGwPxksIHwm5wwyUmhgkbo8djrDRZsplIPa7/BAyZZd6Dub8OcyVwg8Vx0SKKD1lhIhsp6fXULsEb7UePkynu6hpRk4Pipigaf82ma+i6pqt9HP3EHe0QoO2lSj9ZF70BHbDEEa/H6QY= Received: from DM6PR10MB4313.namprd10.prod.outlook.com (2603:10b6:5:212::20) by CY8PR10MB7218.namprd10.prod.outlook.com (2603:10b6:930:76::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.20; Mon, 24 Feb 2025 11:55:31 +0000 Received: from DM6PR10MB4313.namprd10.prod.outlook.com ([fe80::4f45:f4ab:121:e088]) by DM6PR10MB4313.namprd10.prod.outlook.com ([fe80::4f45:f4ab:121:e088%6]) with mapi id 15.20.8466.020; Mon, 24 Feb 2025 11:55:31 +0000 From: John Garry To: James.Bottomley@HansenPartnership.com, martin.petersen@oracle.com Cc: linux-scsi@vger.kernel.org, bvanassche@acm.org, John Garry Subject: [PATCH 4/4] scsi: scsi_debug: Do not sleep in atomic sections Date: Mon, 24 Feb 2025 11:55:17 +0000 Message-Id: <20250224115517.495899-5-john.g.garry@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20250224115517.495899-1-john.g.garry@oracle.com> References: <20250224115517.495899-1-john.g.garry@oracle.com> X-ClientProxiedBy: BL1PR13CA0128.namprd13.prod.outlook.com (2603:10b6:208:2bb::13) To DM6PR10MB4313.namprd10.prod.outlook.com (2603:10b6:5:212::20) Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6PR10MB4313:EE_|CY8PR10MB7218:EE_ X-MS-Office365-Filtering-Correlation-Id: d74363b4-5606-4fe1-abd4-08dd54ca23b2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: 1QhM6E1cRaXRfYAYvxs7ZjW5aSrof4uX+uitrNzHy+ga5qzGCN5O75AcGFmAmMMdzUC5LqRPwEfc/mDAoboBq1KEuLqJGazPSkA2aTMq4Jg4PBwXV2Rf20lh2G+W8oFNCEKe/8qdGu69Aq7VoNEh62oNsvBkSV6pGFE0tyN4kdhtYdBEXu5OcblqpWgfZ7yW3dmFTsCCCLfHMhvcAtNeCTOivZWkpm/YctDik7RXPQeQuCDHCuCzmVjBmnFq/tA6i7C9Io9B1gpLzoCfq0/wnhw9e/Ro/TnMTz8gldYUBg190Z3C8ytWhennVeiBlw8Z65Ct2rM7MZNvRpuUCqKl46Dt88SdIjR2rLwWuAgbHf1LFRHLZhja/x62nLDkpew+DTVqhN62ii1aO3+rVhC/JES4vL2/5TA9Cytvdv34w418joizaLSXLBGrDB6wn264PJMzLmGGHMWo7XlHJLqTfeBF2IvFNuMjbz8fg+elVcgJvzy6VBoUNw6Xs6VEJImIu8c5FsAi+ROdobAW7EyAO7B170QDwmMfDSzEJL/XpIzNxIvTVvIA53hZtVLnUB7UqX8h9d5ve6IX/Vw5xS15Fj/QhJJYnQjDOXhiXQGbl3mcfhXniF5DA0iANYWbvFSJlZPNaXsN3yQFFAPPToLTPJOrFWi88UmAi1I488K7e43z660V8XN3v+D/JCrTzlS/gwcmf6nSBTmGVkBhmMnFc5e0JjOAu36msbJRZUASSi0YXn0AliB7k6BxsPyUw/h30mL169WGDp4e61EszKyH5eAs5/H1H1EKsP5deE2bg1pLSF1hsJAXxcTSvBPOODkEsJeEUN/hvDNBR1hxK3qZbSvTpFyzRdqqaNkvU+fiQbjxlOXyXUPHP4XOl3sRaeswHnWGc5Q5qeH0a0qsxmZA8R+vGcIiQAasPTOZbFH4VcWpxns9irKr37zX4CD4B6cjfXs08VgyJgfb3i59co2neWjtSF7c8l+C0EbzL/LfjzlU+Naq6K9FHI0c1Qc8oi1YK/RouPGfJXLinLTb5l00Qw8t8RYd2XkCL2yPVStKnoj3qMUFwjS9C7JA5NZldEtEx1eTWWiW35BqfpxEswb55trTeIxfVGx3GFGnJIFeOC/fRuqi8Tr0L/g/SLbMWc4F3+SzDJ6czuAo0HYZBFZKD8UhAVw0+bthM4fSPpr6kRp7rct2FjqpeHh6GhjhgVLvxraPN6XgVPnYJVtGKpM1gpNe/hb9EsGJzMfgkMaJCem0W8Cd+p3J8cHWncgsTgva37GGsaSJHLesDrEOQDWbJYQ1NjZiGkoJL1Rpe/z7DfZwW911bIfOpN6sC8+wo6/txWGC61ouh6r4Y19b2JFxquCOeQkzFUKQRvCaNqe9eVMKK2+dBmutTOdwsxk9JIO1 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR10MB4313.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: BDvB/rIxkFaVznPm1WwICymWGlGO26y2PR7hooOlVgiOS0vS1Nu5+ECeKG4IvzxwaZ0yNQ2dw+BOJQEJMLlh+RQ7xkFHi42PDxhrZKq4ZUKqRjB7lq6TNtSIJLya+id2m+aSUIgfn923slywt0Op/iMWuYtSh5v1gg+uF+3P5A5LsBnMa8Y6EdYjNSEmJuL1L5XiWD8faPzGUMoJEFJq1hMuwDTTKnJl53B/jE7KgXlCUsJVpQNLfyLqLH6lxcYoL6EbNHwyShbCEApyzU07z2dRtG9ZRFoW2PdLX285l5gfWFiyRPYYTcANsl5dbs8/hcRn48GqnoPtPbIurxkGXDwyg855Dc4o/iK6y3g39ScQ1xAYv3haurkpqCRWcQUb6bTdQLSSi8RgYFQtdc4pNrf4fTaHDRhkRSJUBL/8bX3Hr1i4uhra/oZNUml6IjyLnbjmJnwmk4ioqIZ/6IsYqzOrxHj0mwYK2p3ew4EUShJus2A7jCTFVlqp08Q99GQbTxcSLxBx0XpHThpu0/iwnSwhlNK9SliK+Mi5of0BEm2ignFFZk2H78vjtt/VZloX4NoK7tsOddw9W6/yr8jJQolUjk7l4Ws67BCXvPVnNQ3FWKIpr9bWjF+8z+MVdcyId2qEaItw0w2MYpAHbssumVek3+8LEEhz39zDanXXf4UyzS0xUXZEkTwLdY/wR1dx3YMTug/p2OE2DnrzWikSScEKKGhIc+7NWaWCi69qbSQ7AJw0ep6MEqeZHXhE3Rz6xZvjWp6sl6cwiihoR79Nz2NHSHCtSoalYn1giHwdzMVEiksPxWJ+poRUG7xccHaq3NTLXbd0ddGsk4pzAPTCjzqqTqFeiTrNbNAJRGfbbpVQZIml93/pGgpprqGDgfiG8uscQth+CxWbSLhH3dpEHuYkuIUynkbT2ZB3wNuL/8UfkeX6yNO0deaPsmUwj+dev5YY8EN5vUSxENyGQBmcv4pEoE7TfdKMTbklSPt6wmAaqJnEi6aG7Rc0FTtI9EomhWW8wXMVnRuNbxWrVSc+CW9Ao7inhiXg0JBqlZ+Ov9ZaBHPzUQa9CZQeVm9mCwp+mBESvHZsWueMB+KPbNDCrjiQVv55BoC2abH/O4T3WcTQO8/tW0rNNdnJFN9YWbb2Gkna9P2ZI92ZGQffss0efyh1SjKf6GnlT2xCCiUpyqs2lFJl/CNNnOJqTAW68l7qAoKzmL1MMdWiUN6cFOv93xefbFxjbYflHHdhakAIhYV4nUTCizT4c8qhlIeSqY+jRzKEU335Zmnb1/X+n57sSs4o3IDESRWMdLLSUi0HB0zTqFKeYLpQP9jh8aMowEZbigqQq2PtBBwhaGNmDmtpfunOiO73HUtzvPGO06jN4jVz0/iORRlWa5LnthhW5zex2PmbwEfXKy7Lre1B4FcLagPWss2RbuJreOyEGMPZ+ZZYAQRbl1cpF1/5YWbX7z4xR7sK6oVlGchqTZtiekCvl2SurWHiS2UZMQ5CDXOgl/VFviYLaWhDn8aR+BJEX3iV1QepWYKwNQzFx4+6oiv5ZyZ63zI/nQOnadGPLlZop0MpMrP3blJSbE5NHjCMgi3qAdzlU6ChSQ2be8CJIAsCVw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: /uqTiDIz1G+6U/W5UzPx0/blR2iPCrVIhtziM9MRlfoYycoBANFchDxRrmgO4P1W5/lIBsykPZZJ8lR/6cVV+wPW6j8hQqwYGUNWku9xRhPrSBYqiN2d6w/q/21E5TuhFTl5ViwOPyaU5nzuATKhyFentRC+tymRIabdiDp1/uSdNkndrWQDiQ3LAwAGHno/wmefAbwffozlTSHsrXjnPsQUcuIh2PWZacsbQuV9QpG4EDZn8vsc0FwlTRkXpfndl0Jn/G/z9xnPJW8GR4R/v/UkjmaAdxTzwrsOfAqETTqCfGGDhXL2NWku+ZRY/MrImULiY0sYaksEoGJ0SWcqOBorRQp3B+mzzFbPLTtPeR3pc8ZMq4y3RItOqN5l6y7P+ckPInf8ZWtsNAgF4dFI7WvWvaLhAms6Y9HtRjQJ+XSikZNUaSpLX+Wkl1/85saeSLI7inbV176DH/xMRVao0amFv+nyhOhHkTuVJhMJbBhWCrW8wBGNXQgn23YI8IyS3lyWMfBtZse3/hq4/V2KH7jGHlVRI7oLS5Uc+VdPPjzUGgbzRsCer7g8DA9+ORLjAnCC+kGB3PjFgTu4Yy/hp0Z6qr4sZ4tM2rWsoIZeZz4= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d74363b4-5606-4fe1-abd4-08dd54ca23b2 X-MS-Exchange-CrossTenant-AuthSource: DM6PR10MB4313.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Feb 2025 11:55:31.6658 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: s+gwYY6zOOkDYoskLFyos7/J/iEB/djyidzpCfB8dzfHFA+56enr6zPP1maZXbUk3cVzmD1E4Y2XnFp2jfcD/w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB7218 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-02-24_05,2025-02-24_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 spamscore=0 mlxscore=0 adultscore=0 bulkscore=0 mlxlogscore=999 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502100000 definitions=main-2502240087 X-Proofpoint-ORIG-GUID: Tad1g4q0ub_fYQK7drydgsqQ8sf-ywOi X-Proofpoint-GUID: Tad1g4q0ub_fYQK7drydgsqQ8sf-ywOi From: Bart Van Assche Function stop_qc_helper() is called while the debug_scsi_cmd lock is held, and from here we may call cancel_work_sync(), which may sleep. Sleeping in atomic sections is not allowed. Hence change the cancel_work_sync() call into a cancel_work() call. However now it is not possible to know if the work callback is running when we return. This is relevant for eh_abort_handler handling, as the semantics of that callback are that success means that we do not keep a reference to the scsi_cmnd - now this is not possible. So return FAIL when we are unsure if the callback still running. Signed-off-by: Bart Van Assche jpg: return FAILED from scsi_debug_abort() when possible callback running Signed-off-by: John Garry --- drivers/scsi/scsi_debug.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c index c1a217b5aac2..2208dcba346e 100644 --- a/drivers/scsi/scsi_debug.c +++ b/drivers/scsi/scsi_debug.c @@ -6655,7 +6655,7 @@ static void scsi_debug_sdev_destroy(struct scsi_device *sdp) sdp->hostdata = NULL; } -/* Returns true if it is safe to complete @cmnd. */ +/* Returns true if cancelled or not running callback. */ static bool scsi_debug_stop_cmnd(struct scsi_cmnd *cmnd) { struct sdebug_scsi_cmd *sdsc = scsi_cmd_priv(cmnd); @@ -6668,18 +6668,18 @@ static bool scsi_debug_stop_cmnd(struct scsi_cmnd *cmnd) int res = hrtimer_try_to_cancel(&sd_dp->hrt); switch (res) { - case 0: /* Not active, it must have already run */ case -1: /* -1 It's executing the CB */ return false; + case 0: /* Not active, it must have already run */ case 1: /* Was active, we've now cancelled */ default: return true; } } else if (defer_t == SDEB_DEFER_WQ) { /* Cancel if pending */ - if (cancel_work_sync(&sd_dp->ew.work)) + if (cancel_work(&sd_dp->ew.work)) return true; - /* Was not pending, so it must have run */ + /* callback may be running, so return false */ return false; } else if (defer_t == SDEB_DEFER_POLL) { return true; @@ -6759,7 +6759,7 @@ static int sdebug_fail_abort(struct scsi_cmnd *cmnd) static int scsi_debug_abort(struct scsi_cmnd *SCpnt) { - bool ok = scsi_debug_abort_cmnd(SCpnt); + bool aborted = scsi_debug_abort_cmnd(SCpnt); u8 *cmd = SCpnt->cmnd; u8 opcode = cmd[0]; @@ -6768,7 +6768,8 @@ static int scsi_debug_abort(struct scsi_cmnd *SCpnt) if (SDEBUG_OPT_ALL_NOISE & sdebug_opts) sdev_printk(KERN_INFO, SCpnt->device, "%s: command%s found\n", __func__, - ok ? "" : " not"); + aborted ? "" : " not"); + if (sdebug_fail_abort(SCpnt)) { scmd_printk(KERN_INFO, SCpnt, "fail abort command 0x%x\n", @@ -6776,6 +6777,9 @@ static int scsi_debug_abort(struct scsi_cmnd *SCpnt) return FAILED; } + if (aborted == false) + return FAILED; + return SUCCESS; }