From patchwork Tue Nov 7 23:08:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ankur Arora X-Patchwork-Id: 162810 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:aa0b:0:b0:403:3b70:6f57 with SMTP id k11csp574585vqo; Tue, 7 Nov 2023 15:14:21 -0800 (PST) X-Google-Smtp-Source: AGHT+IFC/qsalK15PzhTTl/rzI/Kh8zvigYzAYaqA9E+RBXmv5V89amzibtz8FwHd8FrBe1S97Pi X-Received: by 2002:a17:902:f812:b0:1cc:3a8a:f19b with SMTP id ix18-20020a170902f81200b001cc3a8af19bmr493349plb.14.1699398861445; Tue, 07 Nov 2023 15:14:21 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1699398861; cv=pass; d=google.com; s=arc-20160816; b=jOe63kki2Lkaor5BBSnge0YUKi+WWPXuVPXbyMMGHB2YpiNnygEpj4UdzYKd7NP5u9 9Dg2jxhdh/HcrcckLDcgGajSiOTXW1XjIcx64Kspx6LqQRY1SNMO+d2Z2ExqJXsM/uLi 1p4751z6VfQZSeABtCUtK0zN9FomAxRXmgp4BJFFNqbWOnsuyZNg3JVwAQt37v1NB46f Dy4hgVwx8HQ0ZIWZoE3V/daTSgI5TA7uoLrci4Nb380NPr1meXqCoB9th+Opewa47a0X DPwwtTpTBzJD5RH3L1ZCAViuPtIISstouBRTwqXh2uzTx0fIqqrSng63D2wsNGXqoT7z Saqg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=SMBfGn0Ei8IWZqD0rXzWkj3bRftjV4DQ10GWnqBubr8=; fh=Fzl0RVX1tmandCOHdpcT3oKGwiAM7EBmkP2pjfQ/Afk=; b=qeHp5RgY8GpfZ38dzlOfBpCFoUQPdoJISBqbjU5am0H3XLEJamjncA8vBtLX+NFhWI dKxBEx4PRScQ1oAiIOhDneWcEStewT2ak+ZiVV/LaCx+j8E1adJ1LHo267sLAhx+UAGA 9Jgs3Dh7yYK03muHCDZ+BKeMxKhZABKZL0pRDDmCC0xKghZbEWpMvd//hLGyCDPD2GV0 kMNzTozfXSof3M6Z+xW2EsE5wwEBTgJrPaW0hbpc7XikSRGW5xuM+GjMoasNjr0s/dvU LsmpmOjBpMZTDbC2DQq+YNP/mH5lU0CkMMF5OvVL9gzfPrMlv2UsEQ2GaaO7YpOoVzkG DJkQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=QcA6qssR; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=0P22qCW2; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id n18-20020a170902d2d200b001c61817e049si943860plc.67.2023.11.07.15.14.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Nov 2023 15:14:21 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=QcA6qssR; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=0P22qCW2; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 8175481A237C; Tue, 7 Nov 2023 15:14:03 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344250AbjKGXMm (ORCPT + 32 others); Tue, 7 Nov 2023 18:12:42 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45748 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235547AbjKGXMO (ORCPT ); Tue, 7 Nov 2023 18:12:14 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8EF7925A3 for ; Tue, 7 Nov 2023 15:10:51 -0800 (PST) Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3A7LK5ho026459; Tue, 7 Nov 2023 23:09:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=SMBfGn0Ei8IWZqD0rXzWkj3bRftjV4DQ10GWnqBubr8=; b=QcA6qssRLtfVKvOzFWHskTeYlpxHxxwIqA9BJMqAmy3sGTb20MO5zxNdJNtcDJr/hPbc osx5duK9uozV8/bCo5n/zbNxBQNshNgw+53urHkRB5qV2X0RmzKb7q7ndjb1zADQZ0SV fkKmPxVSl5tvVhd7FHZfu5HUU6Jdn1zMjO5C2oGaSootOUJ2TA1uPTth3H8melnR+gEp 9q2YAvqFv7/x7EvsBr7GQHhrS0dvt2OyyqqXJdHgShWDx61CpRYuHJ4GOSlxk+ZcHeKd x6d3a125oWqxKF2iwSSwPaUtXFK9vs/f/qlLAatmIa79iYh7P/UTnfxSbz0nvYjKja4K ig== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3u7w2106wu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 07 Nov 2023 23:09:44 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 3A7N40ca031940; Tue, 7 Nov 2023 23:09:44 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2040.outbound.protection.outlook.com [104.47.66.40]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3u7w2248q4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 07 Nov 2023 23:09:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eGyCbjwkD8KtSuVtvNfLDRfST+Ae73Ac0sYoacPAtDNLf0lZRahKbSbOYb7OR7s/FJvqDRHUq46nT9shqLlct6nr5hpRPN2QdX9tJ4eyWRQIWDdbqANVSv2IiTqs3WpqtxDnuVwWjc1YrlPoaklsl+AEkcjp0BDILXkxlPpaF3yLomT4bpW3t08QFIpylYZ+p9RcyFZZApqW/LPjP+B7jiLjCYY1zW0MWpAyCRKMxHLj6qvWjWyyNu0Oz5SrHjjV6PphWzgWqa8PaidegMCi0fAQf6JsgCmtgV/Rsoyjb4us+0bK8GBzydvD/42WdxbjR1Rqdhw9L6/4T/3VX3WOrQ== 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=SMBfGn0Ei8IWZqD0rXzWkj3bRftjV4DQ10GWnqBubr8=; b=RWFWqnqrBH8PpvJ/x/PKjgUlg56Nk/4naRe+uWtYoriNjfMAGXk0Ozq9IDHCqA16sDaA+4j9YmdeBlV/3JMzELKbSO7NRcvhn936HvYGYfI6VijX/+6UGLRcYfa75mPjm8tG+k/HrsvL5/c+9WSxOe2v84wIFoyHlzLjIbqBoxZyRnNtr6zEfG1myzdG1ShbkHQcfbqGJE+hjlPuOOmRuedCccMW0teZdj2yLSZuF9AdqigrJ0V9WZjYYB3AyYiAZ1HuGEAuKe0FAXibHgaAHAZiH1tR1461Act3R9YZJN7MtranDQAldaai+DnyAN5dk8jnqMBd+0/Xpom6r9yfDA== 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=SMBfGn0Ei8IWZqD0rXzWkj3bRftjV4DQ10GWnqBubr8=; b=0P22qCW2FGxdZ7XRjDTJBvaP/nKpPnMEgX1FBzSxGfgNAKXdrSnvpJifw2AmnndDvFgl1jop5elWLuQtPk0RtLql1z6wQEZ9Kbso9OTHlHsDu/jx9EAJGjO2F3fGkIgx2ZgUnlqnNVL4q/7z6DlELZIB/TDyImEiARClpwq05jU= Received: from DM8PR10MB5416.namprd10.prod.outlook.com (2603:10b6:8:3f::19) by IA1PR10MB7261.namprd10.prod.outlook.com (2603:10b6:208:3f6::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Tue, 7 Nov 2023 23:09:39 +0000 Received: from DM8PR10MB5416.namprd10.prod.outlook.com ([fe80::c72:c098:4fc2:629b]) by DM8PR10MB5416.namprd10.prod.outlook.com ([fe80::c72:c098:4fc2:629b%4]) with mapi id 15.20.6954.028; Tue, 7 Nov 2023 23:09:39 +0000 From: Ankur Arora To: linux-kernel@vger.kernel.org Cc: tglx@linutronix.de, peterz@infradead.org, torvalds@linux-foundation.org, paulmck@kernel.org, linux-mm@kvack.org, x86@kernel.org, akpm@linux-foundation.org, luto@kernel.org, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, mingo@redhat.com, juri.lelli@redhat.com, vincent.guittot@linaro.org, willy@infradead.org, mgorman@suse.de, jon.grimm@amd.com, bharata@amd.com, raghavendra.kt@amd.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, jgross@suse.com, andrew.cooper3@citrix.com, mingo@kernel.org, bristot@kernel.org, mathieu.desnoyers@efficios.com, geert@linux-m68k.org, glaubitz@physik.fu-berlin.de, anton.ivanov@cambridgegreys.com, mattst88@gmail.com, krypton@ulrich-teichert.org, rostedt@goodmis.org, David.Laight@ACULAB.COM, richard@nod.at, mjguzik@gmail.com, Ankur Arora , Marek Lindner , Simon Wunderlich , Antonio Quartulli , Sven Eckelmann , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Roopa Prabhu , Nikolay Aleksandrov , David Ahern , Pablo Neira Ayuso , Jozsef Kadlecsik , Florian Westphal , Willem de Bruijn , Matthieu Baerts , Mat Martineau , Marcelo Ricardo Leitner , Xin Long , Trond Myklebust , Anna Schumaker , Jon Maloy , Ying Xue , Martin Schiller Subject: [RFC PATCH 79/86] treewide: net: remove cond_resched() Date: Tue, 7 Nov 2023 15:08:15 -0800 Message-Id: <20231107230822.371443-23-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20231107230822.371443-1-ankur.a.arora@oracle.com> References: <20231107215742.363031-1-ankur.a.arora@oracle.com> <20231107230822.371443-1-ankur.a.arora@oracle.com> X-ClientProxiedBy: MW2PR16CA0049.namprd16.prod.outlook.com (2603:10b6:907:1::26) To DM8PR10MB5416.namprd10.prod.outlook.com (2603:10b6:8:3f::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM8PR10MB5416:EE_|IA1PR10MB7261:EE_ X-MS-Office365-Filtering-Correlation-Id: bc51f8ee-62ac-4c3e-75a3-08dbdfe69e66 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NZOZ58Rua+MDPAMIB79Sz1kWSVhcA+DAEHJvxfZwdA4AUp1X7aBsJubOqKDxKid+1ruXPPDfdOLBmPRN2TIej6pUbuv4/8spSRoTX0101BbLSlzSI2i+PXOZUKBQdgkjxzdEYmqqrwxztfTx1kzF8Y6FX4zKluU7DfIne0SLNF64AJukxtKwaio6frBWw1YwwfPrlmZ1qxRLGTscbvrDhuXHW9TyhHYNKylbc9jYfVQtgtYwTI/srG2ubprEQwiotIWvjHj9ilyJVaPb/5qTnb4vOQi2y1YzD7xNtWOlPD5p7VH/BXUdrt+UbdOW61UJKgdjyiYtEEfSRgxslpAVlobnztXtT5WAy+W6HrAue5VDyEHAF29xmNMt4P5KJmQJzIIbrNA49luLbkEaa5c27LEg9gkVzWQarBZo6wGfTNvb7b20ePvY3jTD2SZGY91YH1Xmk7xIoUD/79a8p8+yPD+ov/68WpzmvQTNOY++5ALv+SHOEkY3BabpYQ7FYJ+RvenTtD6tPqNvgdrzO+TD/t4E5C4ZOqP5ZI9K1p2suVY= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM8PR10MB5416.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(376002)(136003)(396003)(366004)(230922051799003)(451199024)(64100799003)(186009)(1800799009)(66899024)(30864003)(6506007)(478600001)(6512007)(2616005)(6486002)(966005)(6666004)(7406005)(36756003)(103116003)(38100700002)(86362001)(1076003)(41300700001)(7366002)(7416002)(5660300002)(316002)(66556008)(66476007)(83380400001)(2906002)(54906003)(26005)(66946007)(6916009)(8676002)(4326008)(8936002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: SSXFJDob3taW+LnnFUPw5zleGJR8eRi4ni3SOaD0lyBpLT1+XkIIbCdBKOI1WTww2uXqNMVtR1OMJEQSd40YE8aKIHoqetaSx1AFWitcCiZYOM7rH/0uAV4pDa4NFhwMz9pYdu8TmxibDGX2hhpRwH/JhW1r/NkG8ig3QsPqHCLVTP2xR9UQh9I1MuogRxFdVqkkyN9LFDWnYtIREvun8AinSbiUU/jZ0l96nXZA+k5tW2XF5d0kxltL2dOX1t/TuuFb68QDdZAznZSl9MOgDLuZNUILkYUA0gPrtvjX+w4VKGBMvf1uc66ptYwrWPB5ktoJW7DLgUoiVX/9dIadmFgOEiX4os0SW9s7ibdh399TzJuA5kWktFJ1sd8IriJfEpEAuaEjkVEFg6iRnvntlLIsNsLiaU+sqOTXyP0oy+d5jBx9+KOQmlnmT/PuGuI0rIoMUZm7BPA1enC2v/n10h/1LoR7ITnRz3vAtOVTymWL4EwDxRWYqhUOv1NgE3G9xWoc+BzrntEzlfvIhr5RlQzKBHKrGylqUy4eiLbGgi6WFS/47fKpq2aADrUVPKqqv5l+vGI+NVQATA+hAZwdcqVaW57iwOtswaqopgiwF1/BaWnVc18QhbfBltMcnQzfpjRRbDjAy0gQVbT3QWbdHU2L3qNxaET9nF+BHw34JmI6rIHVW6K5B7XZ2t+A/uNSR8SD+Y3JjKxBd2cJA7sLEcrSQ4xNPj0oKa2EjWQeYX+pqjeFe0B9X/b4FZuW4/S4BDhUO+kfoHRzcxSRs7e+G1CzEprxtGrLVtisfXDs27nVDE8nzrEXxSjjRJsdum5SmZ6SuwzbfZOcKVxqvgrzIWtee1YF77ypz4j3+wyyoHgKh5OeByaqPy+NFHx7/XJsIOkK5u+RbhsLYHKrMS3kHJQx0CfoXqbmSOSiOmDs7h9vU/LRrhKDKK0KNqSuSV9n9Ih03OhWeZ9vNa/Iyh8Psu1DhUgJoGAyBX7cKSHjw9wbDsaCxgvGKmaHBd5zmY6OYuTjfpHU825G3cAbfoFeQtvoxlFk0rhdPgLYzeWAgh4dLIqRP159ltzWdSoKMcYTIabGsoIhagqZ8YqhAXcgbDp9reUnKKznXz+N+neHtP2wceFQpWbQf1slsZO5t3BsImLpEqDAvRechBI9Ndi6m5uYrQYIfSDy8vlUiBVidq8B9h72CC4kSQCgvJl3HVr5HBZPeKqXhGpVZPnDnVpQGtNURKavB7u9JAXLN3IV5Q8nbLOslkDGEdDxFeIcvK1u0nhCFgMi9sKClWN3L/s0rqvGxvWlgL+No0Dr3GSGkUnZbZfAkD0LRD0fdl0a1gx9ztzU14Dme2qCPJ3oh2RVyNpqn4B0ihwTsujESVaTV1mAGuR4T1f2h5SqNUI2kKdvTQ5KfQQDj/ykxhxakBUqTQzIWDAxV/EIAlCK26OvO2a3g0gB5il9e9rNvjqdfjukbxVRoTFbqytACfFNOeHzxj1rObSJ1deDro5O7MBtnBTRm+hRzLgv2Y8ajVxg56boQkBJ/6Oq+W4vcpwgcyjgrdP8bgZRqnFg10pdueIqtBLWio6cT7tv40Z2nfNlEYkSJMS3FlsbHWGZ8VOCcGr3Jg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: lZHB7Tc+qPTeyF4OQ12SiK4BJea5Ad5g7V/TU6gQ0gGRcCFFQMs7RAk05wMwEuaKZ8UFji8Fer3RaX/5HZ67zts4z6/dfpmi2IbIPBmFbmz971VHgvqqwmfSXhloJXxhtTcq66cYEuIAwQcOrz2s1lVTJu2QABHdEXljdettvzrJNw22CDRdGfy+qzhOk1niNwplvR/+Wy3Eh3qYXCWjTNHYrDqEfMME+BWaD5lgkf8k/JiGKK7ufhfevC9dJvZMMgkEwrELV4yywdTxZT+ogyUqx/6p8xqmH+W9A1lvn9E9q0LyAhIoVDc5FNCxBmOVKngw9yxAr7LQeWiTPt083ILEMk2oqjJrq7r14moYMF3Nf27O2fGQEjafqUgU93ADq6NjZ2Ckmsp1Pe8OhCt/wQXR7qRbbJyXWmUSn1RuUJ8+KKyfjNUZSGAbVcKOM66A1SYI67obY2t+ODaaCPeeSwDjcV6dqwG+VLcpnWRAVv/hflF0wf+ypTLaQx70iMh1KuHZRv/8ujxp8v3GNzjT/hRdPW/6mNmiB+24PLpWcE+4SIYePFzTd4eFc/C3s9va2UvR5lYi0np7r1NB9gbDUek/PpgjX0TNvNG+PRadQ9U13rdixeurVHhp/dQJE4YLUxgsFXofnnhDN3Hv23oj0+0WPIQTUrs+4G2qRRZiiy7WuHtxG8M2ryWmEZips14KNZFbv8HLO+2Ee5GFBLxn/1RbrHyPW+xAAilDVIA2En7UW+O/xIHujbkLtW0reelLubfMyyOOME2r5aMnlgdmMr9uoLzfcxINuvhhpnfe2ZZJGySI7ZRkn/wJ5f1HYWM7KqnBpSBy7oObDY33v0/CH4zCwJY1m2rrXpB8drHRqyRc8J2o3CLjivv9IB/S3Jdc8YZ5v8VuO8muZHkf/0NqbeUO/qrjO/sPjCZdlfQZwKA1Oo66QKnWKaEmPp376kEiNNuo4gcubR2gQU2hWBva5kwcWFFSt7CnDAFVnEnTnJNfTTbIE2+JrWvdEFSmGo17kI4eSZ3Yz9ayYriHP+6RK7sxHpj2EjRMOfoDV+ubeWhVvZGI5LaXknMAe0Q2QIBjtxuaYbs1DFqkyzVoF6iVScxj/p2LzUFuTS/qCnOsFS/32ykKfEf+hSA2Zp5Y23qLtr8vxUPq8ih810jjXncFucC97kFKeGvllrYCH8jcaRL7o9jjURG7z0eDPFp5dShN6E2s+tVxHrP7TcurqfIr4tv/C/Tt44fILZ9S/UJnUhr6U69evetwD6Dq1IOKUb4Qt9sDoKWD630gQP9rtcvqdLfwhl7BZeyY9Br/5NsFQYrP7y2jvgbZaQoTlKfIALoe35WeQIpCCRq3PpyAJ4ZnqjFGg5Fg+iaOK0/dXTPa1KkQBtCmZ7R1hUy/OtP97dgzv2vq9ZRBJoXRhvj3qN5n2paZx+VFlMF88rk/gT6rtGSCxgF23s/PK2QXSvJ/6l/grwHIQaNXsbAaYUVq6VEt5jCZdL0d8XpxJq/O36kPOK5QHD7Lb5AO7n0LTl6yxRdr1yUfichqs6WHBeNPFAqiECZnLbRGfXdwYZKS6f0WpcgBwIfzK9jjiqACNZBEN61QEVZGKvf2yPfnbK5JBzfn57rahBK9C4kEeT3iLRd57ABIN1pshehhKYAFsPLJsAB4NN0Dj/F2xhS/JF9lXW8tWfjP5QFl0A4gz8but+6THAMA4kXrCR8OLm/hHceP4EL0NUudny1vdVzlwx7sY6jJ77r1aFVUzJlGX4VZGD2fnti2tCd0ak8w40AjIBECzU/uiPpnCTRX X-MS-Exchange-AntiSpam-ExternalHop-MessageData-1: tVqUpB5f8847Os23bTMuXymucZYpSRCHpt/oiVddWwD9ILWRtOJT2L+skMRuFZGZyMp3BW9ymVafnDmpJPG7sPuugqnLHe2DUqVOvjAqzuviboxjrPu8AwEmu5SpnK1/2tth3slmnUOsXIuJjQgS6nT0p8D9Czspgvd+IJY9IyXzpxeAzDRXlTkhZ1I4kLwuAEbOmwlwhbw8GW5mTiGMZcKgNw0GfdWyqgY= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: bc51f8ee-62ac-4c3e-75a3-08dbdfe69e66 X-MS-Exchange-CrossTenant-AuthSource: DM8PR10MB5416.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2023 23:09:39.8023 (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: cpvmKQ8tUAeTfpJpb3xk7DCJtPV1+2KSk5FkGVEQu3hONLquUa4eWojy5v9TXT/k0i5d2/txyBPNqhxEa5+Uu2TJoT5d0dqKhREADMYAaXU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB7261 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-07_13,2023-11-07_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 spamscore=0 phishscore=0 mlxlogscore=999 mlxscore=0 suspectscore=0 adultscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311060000 definitions=main-2311070189 X-Proofpoint-GUID: tEbquswOHUX23dBsm0nEutDMMl4LwZaf X-Proofpoint-ORIG-GUID: tEbquswOHUX23dBsm0nEutDMMl4LwZaf Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Tue, 07 Nov 2023 15:14:03 -0800 (PST) X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1781948804559075704 X-GMAIL-MSGID: 1781948860506891937 There are broadly three sets of uses of cond_resched(): 1. Calls to cond_resched() out of the goodness of our heart, otherwise known as avoiding lockup splats. 2. Open coded variants of cond_resched_lock() which call cond_resched(). 3. Retry or error handling loops, where cond_resched() is used as a quick alternative to spinning in a tight-loop. When running under a full preemption model, the cond_resched() reduces to a NOP (not even a barrier) so removing it obviously cannot matter. But considering only voluntary preemption models (for say code that has been mostly tested under those), for set-1 and set-2 the scheduler can now preempt kernel tasks running beyond their time quanta anywhere they are preemptible() [1]. Which removes any need for these explicitly placed scheduling points. The cond_resched() calls in set-3 are a little more difficult. To start with, given it's NOP character under full preemption, it never actually saved us from a tight loop. With voluntary preemption, it's not a NOP, but it might as well be -- for most workloads the scheduler does not have an interminable supply of runnable tasks on the runqueue. So, cond_resched() is useful to not get softlockup splats, but not terribly good for error handling. Ideally, these should be replaced with some kind of timed or event wait. For now we use cond_resched_stall(), which tries to schedule if possible, and executes a cpu_relax() if not. Most of the uses here are in set-1 (some right after we give up a lock or enable bottom-halves, causing an explicit preemption check.) We can remove all of them. [1] https://lore.kernel.org/lkml/20231107215742.363031-1-ankur.a.arora@oracle.com/ Cc: Marek Lindner Cc: Simon Wunderlich Cc: Antonio Quartulli Cc: Sven Eckelmann Cc: "David S. Miller" Cc: Eric Dumazet Cc: Jakub Kicinski Cc: Paolo Abeni Cc: Roopa Prabhu Cc: Nikolay Aleksandrov Cc: David Ahern Cc: Pablo Neira Ayuso Cc: Jozsef Kadlecsik Cc: Florian Westphal Cc: Willem de Bruijn Cc: Matthieu Baerts Cc: Mat Martineau Cc: Marcelo Ricardo Leitner Cc: Xin Long Cc: Trond Myklebust Cc: Anna Schumaker Cc: Jon Maloy Cc: Ying Xue Cc: Martin Schiller Signed-off-by: Ankur Arora --- net/batman-adv/tp_meter.c | 2 -- net/bpf/test_run.c | 1 - net/bridge/br_netlink.c | 1 - net/ipv6/fib6_rules.c | 1 - net/ipv6/netfilter/ip6_tables.c | 2 -- net/ipv6/udp.c | 2 -- net/mptcp/mptcp_diag.c | 2 -- net/mptcp/pm_netlink.c | 5 ----- net/mptcp/protocol.c | 1 - net/rds/ib_recv.c | 2 -- net/rds/tcp.c | 2 +- net/rds/threads.c | 1 - net/rxrpc/call_object.c | 2 +- net/sctp/socket.c | 1 - net/sunrpc/cache.c | 11 +++++++++-- net/sunrpc/sched.c | 2 +- net/sunrpc/svc_xprt.c | 1 - net/sunrpc/xprtsock.c | 2 -- net/tipc/core.c | 2 +- net/tipc/topsrv.c | 3 --- net/unix/af_unix.c | 5 ++--- net/x25/af_x25.c | 1 - 22 files changed, 15 insertions(+), 37 deletions(-) diff --git a/net/batman-adv/tp_meter.c b/net/batman-adv/tp_meter.c index 7f3dd3c393e0..a0b160088c33 100644 --- a/net/batman-adv/tp_meter.c +++ b/net/batman-adv/tp_meter.c @@ -877,8 +877,6 @@ static int batadv_tp_send(void *arg) /* right-shift the TWND */ if (!err) tp_vars->last_sent += payload_len; - - cond_resched(); } out: diff --git a/net/bpf/test_run.c b/net/bpf/test_run.c index 0841f8d82419..f4558fdfdf74 100644 --- a/net/bpf/test_run.c +++ b/net/bpf/test_run.c @@ -81,7 +81,6 @@ static bool bpf_test_timer_continue(struct bpf_test_timer *t, int iterations, /* During iteration: we need to reschedule between runs. */ t->time_spent += ktime_get_ns() - t->time_start; bpf_test_timer_leave(t); - cond_resched(); bpf_test_timer_enter(t); } diff --git a/net/bridge/br_netlink.c b/net/bridge/br_netlink.c index 10f0d33d8ccf..f326b034245f 100644 --- a/net/bridge/br_netlink.c +++ b/net/bridge/br_netlink.c @@ -780,7 +780,6 @@ int br_process_vlan_info(struct net_bridge *br, v - 1, rtm_cmd); v_change_start = 0; } - cond_resched(); } /* v_change_start is set only if the last/whole range changed */ if (v_change_start) diff --git a/net/ipv6/fib6_rules.c b/net/ipv6/fib6_rules.c index 7c2003833010..528e6a582c21 100644 --- a/net/ipv6/fib6_rules.c +++ b/net/ipv6/fib6_rules.c @@ -500,7 +500,6 @@ static void __net_exit fib6_rules_net_exit_batch(struct list_head *net_list) rtnl_lock(); list_for_each_entry(net, net_list, exit_list) { fib_rules_unregister(net->ipv6.fib6_rules_ops); - cond_resched(); } rtnl_unlock(); } diff --git a/net/ipv6/netfilter/ip6_tables.c b/net/ipv6/netfilter/ip6_tables.c index fd9f049d6d41..704f14c4146f 100644 --- a/net/ipv6/netfilter/ip6_tables.c +++ b/net/ipv6/netfilter/ip6_tables.c @@ -778,7 +778,6 @@ get_counters(const struct xt_table_info *t, ADD_COUNTER(counters[i], bcnt, pcnt); ++i; - cond_resched(); } } } @@ -798,7 +797,6 @@ static void get_old_counters(const struct xt_table_info *t, ADD_COUNTER(counters[i], tmp->bcnt, tmp->pcnt); ++i; } - cond_resched(); } } diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index 86b5d509a468..032d4f7e6ed3 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c @@ -443,8 +443,6 @@ int udpv6_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, } kfree_skb(skb); - /* starting over for a new packet, but check if we need to yield */ - cond_resched(); msg->msg_flags &= ~MSG_TRUNC; goto try_again; } diff --git a/net/mptcp/mptcp_diag.c b/net/mptcp/mptcp_diag.c index 8df1bdb647e2..82bf16511476 100644 --- a/net/mptcp/mptcp_diag.c +++ b/net/mptcp/mptcp_diag.c @@ -141,7 +141,6 @@ static void mptcp_diag_dump_listeners(struct sk_buff *skb, struct netlink_callba spin_unlock(&ilb->lock); rcu_read_unlock(); - cond_resched(); diag_ctx->l_num = 0; } @@ -190,7 +189,6 @@ static void mptcp_diag_dump(struct sk_buff *skb, struct netlink_callback *cb, diag_ctx->s_num--; break; } - cond_resched(); } if ((r->idiag_states & TCPF_LISTEN) && r->id.idiag_dport == 0) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 9661f3812682..b48d2636ce8d 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1297,7 +1297,6 @@ static int mptcp_nl_add_subflow_or_signal_addr(struct net *net) next: sock_put(sk); - cond_resched(); } return 0; @@ -1443,7 +1442,6 @@ static int mptcp_nl_remove_subflow_and_signal_addr(struct net *net, next: sock_put(sk); - cond_resched(); } return 0; @@ -1478,7 +1476,6 @@ static int mptcp_nl_remove_id_zero_address(struct net *net, next: sock_put(sk); - cond_resched(); } return 0; @@ -1594,7 +1591,6 @@ static void mptcp_nl_remove_addrs_list(struct net *net, } sock_put(sk); - cond_resched(); } } @@ -1878,7 +1874,6 @@ static int mptcp_nl_set_flags(struct net *net, next: sock_put(sk); - cond_resched(); } return ret; diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 886ab689a8ae..8c4a51903b23 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -3383,7 +3383,6 @@ static void mptcp_release_cb(struct sock *sk) if (flags & BIT(MPTCP_RETRANSMIT)) __mptcp_retrans(sk); - cond_resched(); spin_lock_bh(&sk->sk_lock.slock); } diff --git a/net/rds/ib_recv.c b/net/rds/ib_recv.c index e53b7f266bd7..d2111e895a10 100644 --- a/net/rds/ib_recv.c +++ b/net/rds/ib_recv.c @@ -459,8 +459,6 @@ void rds_ib_recv_refill(struct rds_connection *conn, int prefill, gfp_t gfp) rds_ib_ring_empty(&ic->i_recv_ring))) { queue_delayed_work(rds_wq, &conn->c_recv_w, 1); } - if (can_wait) - cond_resched(); } /* diff --git a/net/rds/tcp.c b/net/rds/tcp.c index 2dba7505b414..9b4d07235904 100644 --- a/net/rds/tcp.c +++ b/net/rds/tcp.c @@ -530,7 +530,7 @@ static void rds_tcp_accept_worker(struct work_struct *work) rds_tcp_accept_w); while (rds_tcp_accept_one(rtn->rds_tcp_listen_sock) == 0) - cond_resched(); + cond_resched_stall(); } void rds_tcp_accept_work(struct sock *sk) diff --git a/net/rds/threads.c b/net/rds/threads.c index 1f424cbfcbb4..2a75b48769e8 100644 --- a/net/rds/threads.c +++ b/net/rds/threads.c @@ -198,7 +198,6 @@ void rds_send_worker(struct work_struct *work) if (rds_conn_path_state(cp) == RDS_CONN_UP) { clear_bit(RDS_LL_SEND_FULL, &cp->cp_flags); ret = rds_send_xmit(cp); - cond_resched(); rdsdebug("conn %p ret %d\n", cp->cp_conn, ret); switch (ret) { case -EAGAIN: diff --git a/net/rxrpc/call_object.c b/net/rxrpc/call_object.c index 773eecd1e979..d2704a492a3c 100644 --- a/net/rxrpc/call_object.c +++ b/net/rxrpc/call_object.c @@ -755,7 +755,7 @@ void rxrpc_destroy_all_calls(struct rxrpc_net *rxnet) call->flags, call->events); spin_unlock(&rxnet->call_lock); - cond_resched(); + cpu_relax(); spin_lock(&rxnet->call_lock); } diff --git a/net/sctp/socket.c b/net/sctp/socket.c index 7f89e43154c0..448112919848 100644 --- a/net/sctp/socket.c +++ b/net/sctp/socket.c @@ -8364,7 +8364,6 @@ static int sctp_get_port_local(struct sock *sk, union sctp_addr *addr) break; next: spin_unlock_bh(&head->lock); - cond_resched(); } while (--remaining > 0); /* Exhausted local port range during search? */ diff --git a/net/sunrpc/cache.c b/net/sunrpc/cache.c index 95ff74706104..3bcacfbbf35f 100644 --- a/net/sunrpc/cache.c +++ b/net/sunrpc/cache.c @@ -521,10 +521,17 @@ static void do_cache_clean(struct work_struct *work) */ void cache_flush(void) { + /* + * We call cache_clean() in what is seemingly a tight loop. But, + * the scheduler can always preempt us when we give up the spinlock + * in cache_clean(). + */ + while (cache_clean() != -1) - cond_resched(); + ; + while (cache_clean() != -1) - cond_resched(); + ; } EXPORT_SYMBOL_GPL(cache_flush); diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c index 6debf4fd42d4..5b7a3c8a271f 100644 --- a/net/sunrpc/sched.c +++ b/net/sunrpc/sched.c @@ -950,7 +950,7 @@ static void __rpc_execute(struct rpc_task *task) * Lockless check for whether task is sleeping or not. */ if (!RPC_IS_QUEUED(task)) { - cond_resched(); + cond_resched_stall(); continue; } diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c index 4cfe9640df48..d2486645d725 100644 --- a/net/sunrpc/svc_xprt.c +++ b/net/sunrpc/svc_xprt.c @@ -851,7 +851,6 @@ void svc_recv(struct svc_rqst *rqstp) goto out; try_to_freeze(); - cond_resched(); if (kthread_should_stop()) goto out; diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index a15bf2ede89b..50c1f2556b3e 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c @@ -776,7 +776,6 @@ static void xs_stream_data_receive(struct sock_xprt *transport) if (ret < 0) break; read += ret; - cond_resched(); } if (ret == -ESHUTDOWN) kernel_sock_shutdown(transport->sock, SHUT_RDWR); @@ -1412,7 +1411,6 @@ static void xs_udp_data_receive(struct sock_xprt *transport) break; xs_udp_data_read_skb(&transport->xprt, sk, skb); consume_skb(skb); - cond_resched(); } xs_poll_check_readable(transport); out: diff --git a/net/tipc/core.c b/net/tipc/core.c index 434e70eabe08..ed4cd5faa387 100644 --- a/net/tipc/core.c +++ b/net/tipc/core.c @@ -119,7 +119,7 @@ static void __net_exit tipc_exit_net(struct net *net) tipc_crypto_stop(&tipc_net(net)->crypto_tx); #endif while (atomic_read(&tn->wq_count)) - cond_resched(); + cond_resched_stall(); } static void __net_exit tipc_pernet_pre_exit(struct net *net) diff --git a/net/tipc/topsrv.c b/net/tipc/topsrv.c index 8ee0c07d00e9..13cd3816fb52 100644 --- a/net/tipc/topsrv.c +++ b/net/tipc/topsrv.c @@ -277,7 +277,6 @@ static void tipc_conn_send_to_sock(struct tipc_conn *con) ret = kernel_sendmsg(con->sock, &msg, &iov, 1, sizeof(*evt)); if (ret == -EWOULDBLOCK || ret == 0) { - cond_resched(); return; } else if (ret < 0) { return tipc_conn_close(con); @@ -288,7 +287,6 @@ static void tipc_conn_send_to_sock(struct tipc_conn *con) /* Don't starve users filling buffers */ if (++count >= MAX_SEND_MSG_COUNT) { - cond_resched(); count = 0; } spin_lock_bh(&con->outqueue_lock); @@ -426,7 +424,6 @@ static void tipc_conn_recv_work(struct work_struct *work) /* Don't flood Rx machine */ if (++count >= MAX_RECV_MSG_COUNT) { - cond_resched(); count = 0; } } diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index 3e8a04a13668..bb1367f93db2 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c @@ -1184,10 +1184,9 @@ static int unix_autobind(struct sock *sk) unix_table_double_unlock(net, old_hash, new_hash); /* __unix_find_socket_byname() may take long time if many names - * are already in use. + * are already in use. The unlock above would have allowed the + * scheduler to preempt if preemption was needed. */ - cond_resched(); - if (ordernum == lastnum) { /* Give up if all names seems to be in use. */ err = -ENOSPC; diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c index 0fb5143bec7a..2a6b05bcb53d 100644 --- a/net/x25/af_x25.c +++ b/net/x25/af_x25.c @@ -343,7 +343,6 @@ static unsigned int x25_new_lci(struct x25_neigh *nb) lci = 0; break; } - cond_resched(); } return lci;