From nobody Thu Sep 18 05:25:07 2025 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70048.outbound.protection.outlook.com [40.107.7.48]) (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 112034A1C for ; Fri, 30 Sep 2022 14:17:04 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iS38S57KETse+Xg77mDRDsc/RjYxxQ+BU6uohLEaZXJa7BsUQGcj2SHj+8eAzb4x9rV1a1hP2adz13vCBxBGA3CgziZgqSyEilY/MI5X7uEvsyw13jAIpwRrA02HkLuSCGYr6hvfnn4Pex4YH3gi2n9DwTSMpNFVi3cI/6oVk7lXzTT4NjmOoNKT2bZwZ/408wl0LoZacMl/grgfSJzynEuOffCUDmq7Bbeyt7bBNSJZqnIc1GlFObg/tD9itXPYppUfS0ooZlQrBHQlESJQZcniE/tfZKC2qg4LqXzlSi8CAx+qrs4RwIxz+agzDk58DdR8ywPhhJ9EH+IUbDVqrA== 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=LLEIcno9nl4DzTj89lNglw7kQ0NjU6tCvV+tBmvWwkU=; b=iAoVk3tu/fgjAVOw5ThZmSPUfjmVyp56V9+ltdkZG3FmW34UDWO7bahgMjmSKIP/6+Qh/Ji+ynq7ZRga8PQ2lJu2F9lEOIUB9ppJ4tGd3mZDWYbRV/Ig+3e3f6E0oogdDmQV6m/k/JmpYMKX9OLG/7ilDM7MA1r7tJQ0l+/z+tXE+DPk7E1Ken5bW3fYacDu9yj25cSironkRFjHUXq4y+VKN1QEa4LxdCCsVbsRZg0sjF20f5laRF/7PxMXsebg6HmQfFAudLdIpKSk32a1XaZ2IcDco/SXPnjQPIV9ze0ZeF6xVTCEiyeyQJi0i2ocLCpGBuaTtQDfatCVGMqTEw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LLEIcno9nl4DzTj89lNglw7kQ0NjU6tCvV+tBmvWwkU=; b=Ct/cR2fl+4eoq27p7cuI2Dq2xNVw4JBBjbtXFxYcXI9VF3yMHTNuBaHRH9E/PNvZ4gbSXovDxMjo7kjxM3F+e+zirvXpy++N1bvY9/WXTHrU8mCnisH0sGrugl8gCk5ukXn9J4PsOCpzixwc/394cCTQVJpiwPXwBpzpcFUoT0/oqxWA71KDy0MRWLRvePtu2U8EIb/6Bpg4VlH8ZFc9ZuR3aZKDY8YR8xcjZO99XO/7U1iWIfUHT0dDqhANpdKI4q/6x7csJqrNWchxpKHSUC5che27bwnqeoewjmZKcIDAG8AZAG7mWAMj/usp4X8EPfJ4deyyTTK9YQNAQXL+og== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBBPR04MB7882.eurprd04.prod.outlook.com (2603:10a6:10:1e7::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.20; Fri, 30 Sep 2022 14:17:02 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::e936:9fd1:22e7:97d1]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::e936:9fd1:22e7:97d1%5]) with mapi id 15.20.5676.020; Fri, 30 Sep 2022 14:17:02 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 1/5] mptcp: use msk instead of mptcp_sk(sk) Date: Fri, 30 Sep 2022 22:17:31 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR04CA0012.apcprd04.prod.outlook.com (2603:1096:4:197::14) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBBPR04MB7882:EE_ X-MS-Office365-Filtering-Correlation-Id: 118216a5-55cb-4728-1663-08daa2ee71bc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pCrXs9Il9OPbwz0b/RZmiAXOqYPbzg4fAptuRp9d1Z45twIG4B1o3cFYuLplz7oREDyE2VuKtaxACTG8kq73FzFfhf8BJrJ9w6SbbTvj6vQkjzQfPRMyfk21oURh1eFGjfbsKpshEjv017LSIh/L4GBUNPvOJsDV61gDn/5WToHRGcogqbU88eR6J5mhm4Ye46AzuP6ulSPf7anRoMvq9i1CAQA2VQZccVp4iGOUF7kBGuBmzIj3vF+Sg7FBWe+x0vlTHs0579hroqdjVQt/T6IMH0hk44z67xWobw3OK4sM1aeTRBq4Vi49gJYNTLrSxFXUKrfZe8Wihc8ZCrNh3lgsQ/3PvMjLoP1JvUkk+BrINyP9WsmiDkMgKqU+4EC/MJpDQtpX5rAyp9GbzNMvt17gUDQ0bxO0kc6lI3N+erzX9aFQO2kkPPjJZDgiDTtWEWBnRy03vui+4oTZQag8pKEy20suMUZr3yyClKmowR1IAReJSPdtG+N0NUxW9cdJHtgVxxBDBZtF7QAshJFTB9gXHJx2IZHS5/NRJsYzluH0OW1CJjml/KBqNS/D5sAu+VWJg1elxY53KK62Qbq2yA1HPx5CZPBNi34QaxTTH2HtaSuOoJI5Co/5mXrHC6aTZaB4GU3pexTR51yhp4MW1KEdgiA4S0tNhWTtRHlp7/Bi5X5zKBegk1j8UzkaCkW1v9Gsf+uFYd2niediV6a+bjd9dZQzAQF7zGHmnRl8R2F+QUbk5Js2xulbckTbgKqn X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199015)(478600001)(6486002)(66556008)(4326008)(186003)(2616005)(316002)(66946007)(8676002)(5660300002)(2906002)(26005)(6916009)(6506007)(6512007)(6666004)(107886003)(36756003)(8936002)(83380400001)(44832011)(41300700001)(66476007)(86362001)(38100700002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?AR78x6hhjp3mWoi4iCYpDWP3P6aIWcxkPvcymXcTmhRbnxBjnei/P1659M4L?= =?us-ascii?Q?D4p5wTnRwkBJOckogytOFg5OyDZJunSYe8/3l9VJXcQHhUOHRoeORrMoAYG3?= =?us-ascii?Q?GFeZfiR296wKNXJtq5fxLFYPWczjBo5tbGA0buvHLogPIOg1wW9JT+5cgPGH?= =?us-ascii?Q?O0OAFFsV5q7LTPc6S/KjZRzr3kcNCOWy/I4DgREIxEhpWeKYDNZffahWdNCH?= =?us-ascii?Q?H4zi8S0kC7vDy/4EXhDYiA4tQOyhzuTJUX6vqRZRpH/kfWx4xkfbOKiLpCUz?= =?us-ascii?Q?Q0FlY2kljVvSxB+TIdBUk6lNs9hmpkYM4OJh0SCB1CO89FE3Tb5i/CJVACQ6?= =?us-ascii?Q?qb/mkA7ZGZXvhHpOjy7QWx5VwrQf3udGuvEMQh3hafPxv6NuX64LlNt08AAz?= =?us-ascii?Q?+XYPTNlbbHZE9a9BH3vSiXFfvJcgoP+ENxigygAfs06wm8ygQb5EXJHg9R5o?= =?us-ascii?Q?cYgOP6AWpXzr/dSNRSKFq5K028JQzK5XHAk2cd4LlVyrVPoPeIciodWt6KBj?= =?us-ascii?Q?aXHnPkFV5hN3xFmgU7xfwJW7ZASTORnGoWCH/g53ypqIbOVfdV7JExITioMb?= =?us-ascii?Q?OBMSYF1wnp7kue/7/JUzIIUu7bvQ+hu7fYze6rCtl/8hKWiYSl47/pEq8sU4?= =?us-ascii?Q?Kz4sRBmLyxy1sUmv8FLMmD5JYiEJK6KqmYCLXfuYFnv/ql2QkjpnhFyufNAV?= =?us-ascii?Q?2MOp1hya1l0Il1MCZ0a4YqKaiRmZLHtw2p5/8pjsq9AFoCvKk1cd3emTfltO?= =?us-ascii?Q?g88s8Gb3gXftJbigNrl2dNZzHUDIBR/0yR+Gj9mA12PycN1rzVkJg2ElQFu8?= =?us-ascii?Q?799xqOIfxe/jp0ysY6OaMnM96CjTRe0tHXGr/fQaXlaCVSS3FGvPGvPxS6bK?= =?us-ascii?Q?aqs4E22uBBfD+iYGx8xQp+K/sKSh7VWC2TenecHsYDE2fC6ul/bmOwilIMAT?= =?us-ascii?Q?TmO2gULuxSBjusCmokmTwAFChUtGb+oY9k7RbBQakmU/xDt0gcawBr3WKSjw?= =?us-ascii?Q?LFwEIlLL3C94sKLdejjV3qSN/SByHmO+aHDL+2P+MoSjoJ9HbaIhCTewQ4Aa?= =?us-ascii?Q?Hvx+59nP0+hdpG0PHSzsL4I4cY8WssR4qPc3zA/YeqlDCBtJPMJjOPgPMtF7?= =?us-ascii?Q?0G8KXbmedPYmNthkTO3if2ywZkrnBA9+xw90h3VsytvoCwuejZNopL+H7K+c?= =?us-ascii?Q?r4EUciCelwATxeNvEIbCtkZhqGnFIALzqsIAijFiv0E/w06oIlzJA3fu4/ty?= =?us-ascii?Q?O9jH0wCzUleIOVBAzrHowRkmgTOLoofsriXsWnLnhywIIMziYGxlMKwU4GwG?= =?us-ascii?Q?hxnZlojfcsz8UhEeMwSvCH6Nny2+QWxNokgr2mp8vTg3E07dINMLmETi59ks?= =?us-ascii?Q?ryD36OinNI/A3AZERBLFLbU9Vc//K0GOwad0ZgaR8T8cCJqAsZnMhrnmakUd?= =?us-ascii?Q?aQGfLH7rXHfnSNw64msxU358+lG11CyVxI/o7Z4u85Bz6xNNmecUeX7vv3Tn?= =?us-ascii?Q?E4GK2Vo4KIiiUaGzeoNCHwDFPAJtdj7M5R3BgpatgUO8TJ/Z7PcYdLv+YLXk?= =?us-ascii?Q?w+wac67C2RxZtkkr3f3E6dGQNivBxqVbCOcGBeR5?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 118216a5-55cb-4728-1663-08daa2ee71bc X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2022 14:17:02.3226 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: TSa22rByIFcLDMwo9rYeYZzBW/pgfSxqAIPpp9tAA3rT9nww0U5BZjfBYCd+lpvf7GC/H0dTSoX3Kw/FHPH8tA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7882 Content-Type: text/plain; charset="utf-8" Use msk instead of mptcp_sk(sk) in the functions where "msk =3D mptcp_sk(sk)" has been defined. Signed-off-by: Geliang Tang --- net/mptcp/protocol.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 7ca21915b3d1..3641fb73bc1f 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1616,7 +1616,7 @@ static void __mptcp_subflow_push_pending(struct sock = *sk, struct sock *ssk) * check for a different subflow usage only after * spooling the first chunk of data */ - xmit_ssk =3D first ? ssk : mptcp_sched_get_send(mptcp_sk(sk)); + xmit_ssk =3D first ? ssk : mptcp_sched_get_send(msk); if (!xmit_ssk) goto out; if (xmit_ssk !=3D ssk) { @@ -2239,7 +2239,7 @@ bool __mptcp_retransmit_pending_data(struct sock *sk) struct mptcp_data_frag *cur, *rtx_head; struct mptcp_sock *msk =3D mptcp_sk(sk); =20 - if (__mptcp_check_fallback(mptcp_sk(sk))) + if (__mptcp_check_fallback(msk)) return false; =20 if (tcp_rtx_and_write_queues_empty(sk)) @@ -2921,7 +2921,7 @@ bool __mptcp_close(struct sock *sk, long timeout) =20 sock_hold(sk); pr_debug("msk=3D%p state=3D%d", sk, sk->sk_state); - if (mptcp_sk(sk)->token) + if (msk->token) mptcp_event(MPTCP_EVENT_CLOSED, msk, NULL, GFP_KERNEL); =20 if (sk->sk_state =3D=3D TCP_CLOSE) { @@ -2980,8 +2980,8 @@ static int mptcp_disconnect(struct sock *sk, int flag= s) mptcp_stop_timer(sk); sk_stop_timer(sk, &sk->sk_timer); =20 - if (mptcp_sk(sk)->token) - mptcp_event(MPTCP_EVENT_CLOSED, mptcp_sk(sk), NULL, GFP_KERNEL); + if (msk->token) + mptcp_event(MPTCP_EVENT_CLOSED, msk, NULL, GFP_KERNEL); =20 /* msk->subflow is still intact, the following will not free the first * subflow --=20 2.35.3 From nobody Thu Sep 18 05:25:07 2025 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2083.outbound.protection.outlook.com [40.107.22.83]) (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 4E0D44A03 for ; Fri, 30 Sep 2022 14:17:11 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c5VlTJY9JbPMMMUn2npO/epzkMLGx1UtryFk8cI1E08zxo0ZPBXh6WWk1HgYrVBD6NhZ8sFiMWMRG6nyB3UHn8oBi6WqWNWCzcygI1tuzqQJgT04I7MBgxC4gPVIuPmOqtCm6dalsWoCgBKhN7sQPigrH8PclY7Z1TzO96Fy8v2GnBGX47QXpVCxGvNKW0SxHehCxg0h2GG3I1L3zKx2sOM7vv3VV8/uS4NcrqNrTogo299aa8AKGWqJIslSvvZyhfxeXca4IDxuNyIeGwwpIsyScyeH6zkB9Gew75CWHQBPT2kUnp/E1b9bVGjtqHivJSiU7kgVz4k3osUM4RFUBA== 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=20+GCnoBBzVbCgSvosIBVLqY0bUZqZx3sFmsORdhWXM=; b=l/pWo8aRZvs9q/Z/TIrrudN1lDkM3C4eHEExgfwGN+mRvmtr9lO22AEaJPNzC/duog4emO+F0EyUrNG+fveul1ekVkxXROs2lzEkLcc8ZEkh1Y2z6XrAVwMMwpm+mjT2EKvP+quF4LYK6arS9A9z9jHzvd4N12x6RYXX9QwrSe8Cn2b71U94I52r6YILbxYX6FaYzj/lI6mBIcV4nK8VTVh4VH6KqISHJ++io5Pas3zEn0AAq46bwrGoav+iv1aS7dXN/lnrPCl3saaMvyfWND1UJpCkniJ/QhAXMdh60slBnmwaLyotirbr7B0oNFLImr4Oxh1bkKblDwVRbpXcLQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=20+GCnoBBzVbCgSvosIBVLqY0bUZqZx3sFmsORdhWXM=; b=cer19A9o3ceLK6tvYUbGJ9+BpaTOyQ8Xq95AWOwpgw85Tbx1+jKgZR6mUG8N3zpl4yaK5YD14GiU2t4pmRnuMk06iDfmVAndtzSjU9aPcaVFRaWd4C1C6XgM8Gp9iHF9fKoW3fmqHtC3ZdoPEcxbATnjVY/qNiluf9Wqd7pq8Q99G6BKpLnOGggOoc75mR0KdI0dz83GmvXjrTgCTuY53W7LENaSLl/j3hr9NI8N1LFydFIVqgUcYkyXBXYHMbSyg8dMxLWBbsoF8kqvUWZ4N56+XprnYF0bpR+tv8KftMi0xwfBBG0UvJ7jALoaD748t3NEf5ocwPg7usvo5XpUdQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBBPR04MB7882.eurprd04.prod.outlook.com (2603:10a6:10:1e7::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.20; Fri, 30 Sep 2022 14:17:08 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::e936:9fd1:22e7:97d1]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::e936:9fd1:22e7:97d1%5]) with mapi id 15.20.5676.020; Fri, 30 Sep 2022 14:17:08 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 2/5] mptcp: update __mptcp_push_pending Date: Fri, 30 Sep 2022 22:17:32 +0800 Message-Id: <36cf55f71ccee9b9c35eef99b1d776685d2fae50.1664547250.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR04CA0015.apcprd04.prod.outlook.com (2603:1096:4:197::21) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBBPR04MB7882:EE_ X-MS-Office365-Filtering-Correlation-Id: 693907fc-052b-46fc-fd73-08daa2ee7583 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WKidw39z6jYwGcLHQGwVdm9zx7FX3I0ypoY7wNyqnmDU2t1YE8Q70+rf/9TWKZJgTUdyRiRLv1sMfDDLLbMRuIlqScBu/QDPmJm2fTi33Wf+H0dsZ9oPHhUHOIs2URGqMkUSgBXSf9L4SfHkWFgAnKRHKnR8mgVDl8gW/eiTdXsXFao6mnm1K5eqGDmtkc/9PEX6/W/yL5hsfrFjLejKe0lsa11engQxVk+ljfQ6K53nBeInK030tsSNyrU7R4myH92pR+lgpUm0/U+aODl9cJQMAE1/DMW9qY+hzn6CDy0Lv9nZLt8AQ2xaMedoVPBvPXCuG1LBUi2JrIG3ppiDgMpyv/JaNxwCIcdNJmGslh7ldY/Yn/sELBozL3CGb8WrqW572HoeXugPSehnxm2b1hQOT0agwQqhMWS2QEMSo946I8DIV3/C2kpHgbRY5V043v6MR/IDlA+1CID95tVISJJ4DZNYCLtZc9ibeM7XbPxyx8oxZlQwgSekQWlQRpJZtI1SlqT5mf1n4ga14HG0iwj7ti1yNc31/6LhatnqmVpABvAoNKN7RwPfI22GsPqjJV8pNNWKjO9JgwRL1CHSqqiGJ86KCxTK2/K7cu71o5xj05SO/o3FmxdvV1TB5wZG1Wlv8ULOViqlmZENY7EDpESKK40o1hM6o0Ftsn3ZuJTyyiywONtQGo05kccEiJVnUrluV96o9k6S6l34unI7vJp93zvKXbLbH9ycz86pq9Sr7Pv3EmZIHdoMUuLBCNqI X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199015)(478600001)(6486002)(66556008)(4326008)(186003)(2616005)(316002)(66946007)(8676002)(5660300002)(2906002)(26005)(6916009)(6506007)(6512007)(6666004)(107886003)(36756003)(8936002)(83380400001)(44832011)(41300700001)(66476007)(15650500001)(86362001)(38100700002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?D7HYBexqZDjv1Z7md2Q0UM8Etl206owfh1EAbrXZWVYBkNjMAbODjLf/HL4a?= =?us-ascii?Q?DTMFp1jXdx+na4ls0OblpX8NlqkTyLttWzb00Hi9rBCE1ef1FI0wFHbHDlNB?= =?us-ascii?Q?oCK1aDjNwWsyXvHspMGas7+7Tmm4jHDlCEII9AFXgaCp6bf6p3KngaPnvDYk?= =?us-ascii?Q?1v9vF1uEBbz2gpr+lMEXBzaQzmi9XB7lIAf/a+7YCaWJfs+XCxne8fIgPTeY?= =?us-ascii?Q?42+rKfazA2m+qVfrAJhgdkMCQcZaugAToD6KhkajhcI4a7eAwS4GxiOM9J5s?= =?us-ascii?Q?Jnb0M8qO8yEowcZsW+DhLGJhgU4w0XT+VCS86WV+ZKPx5Hm+CTx0yS5Sx1pf?= =?us-ascii?Q?jHE6/lm7BqgIE17FcTEHhRX5LQVPS6QvUTOG3mp0mBa3DLYCSNVTPfc/kDLo?= =?us-ascii?Q?3RXv43Xc5jJL/z4jD6xua6/N2ljuVm3jCnHYO0f25Kp1RmoRR6Y6iV9dalCj?= =?us-ascii?Q?19co40lYCp6Mnvu49mLbyZgw2nDx0EO1hvGePYy0F50YTec1GcM2P+Ik6KpI?= =?us-ascii?Q?5Fo/mHLyHhMKlXjbwp3XSK8+xIsEYcpW0KmBT2CAFnYl14gI3QEn9EDM8i9Q?= =?us-ascii?Q?RF2sPgQkv971Cp/3+hk6Ui/ew3WebRiRpIHB2WOEwJNuwkiJzeCHlzBt/2Qm?= =?us-ascii?Q?cY3+iltLCPXoBRrlNhYAVuk4cM73WpaVHZDpyDvZ6exgBErqRgqSDEiwgySf?= =?us-ascii?Q?lmJFgTGhxO9ahkrcWfpoft5Nh2/6vFphHHiIZ5CW3ybFNIu9ogJi1JBHJhzO?= =?us-ascii?Q?ezj/3LBdhZBtFYT2ZGZw+XwHMyeDRCSzwGGctmQbSgPKjmDWO4nUS+fLWrZR?= =?us-ascii?Q?Ca/C5+B1efwcs7bAdvPwuhDXG5R12N8wgyNXUZl430i6kl6TytrsBRzYUhXL?= =?us-ascii?Q?0uNn8wv8dYPKrZigIuViO5Pw2sREc24SdLNt9IG/0xuIODzc+ovvzu0Z2wjr?= =?us-ascii?Q?m/Hx9PromJVOwUvhJUHLvjXVkkeywjBFgMCaa1/Ro2PaLJyZGeTBpFJ5/Qv9?= =?us-ascii?Q?j7Y0kPZZkYmfIwCC+vrpHu9fzOEXsc3yyH4t2FNphz3BYLmsE7phuS59WsEi?= =?us-ascii?Q?uidiNwT9XoKyxvEghVQ3rurwrNk58sbE4kG0Shc8KLcYG8M6k24uWxhKjWhX?= =?us-ascii?Q?VO6uDcWeaVsnplj7o1krWCygEpGUoDJRiYVAAV+Pxwey/3qLBDirkCNyk3zB?= =?us-ascii?Q?1YSwQ6TpKFxxdE9cdPc4NiTZjwxk60JqcwIPhAMP//Wh6kE9B85Tl5FqzuuX?= =?us-ascii?Q?hy8hxwEy2qJkGq8Eq8FSKQdAHXsiwTj/GEMhGRrHM/23gdSqG5Ud7fdNDzQU?= =?us-ascii?Q?SeTwZe0Ou4ANtjVFj7naTqoEeWl9vfDbaACvTVNNeg3hw9akWJwctdh/Lb1u?= =?us-ascii?Q?0IB/TYnUM1Nk706ls/ctoCJEBEjZHoYrFTwBLrbxjsQgHSOcDLJXPFWnp9MY?= =?us-ascii?Q?7YXbaFhgKerzfGSfuoyc1Iegfeh2dOXNzCYyqURf+lMSo4CBM3z/D1NfQ1G7?= =?us-ascii?Q?RrHFQzrNpzLpgjZI5OWOf+61TPRScIWGYcvmAb1luCKEJWNbpEspeFFvmqkO?= =?us-ascii?Q?D1FBzSTzEAw1Pt4xj2Z53ym/nIZ91YvuMEspiFv3?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 693907fc-052b-46fc-fd73-08daa2ee7583 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2022 14:17:08.5721 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: JCJCe5Jrg/Y0GjMZNTu2uuQUiaMMCeAyXX2/O8Jh9BubJH6MBRvGMRp6IoKlkN5tt0qT2v4KZ4ODz436zcmsrA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7882 Content-Type: text/plain; charset="utf-8" To support redundant package schedulers more easily, this patch moves the packet scheduler out of the dfrags loop in __mptcp_push_pending(), invoke mptcp_sched_get_send() only once. And update the socket locks correspondingly. Signed-off-by: Geliang Tang --- net/mptcp/protocol.c | 85 +++++++++++++++++--------------------------- 1 file changed, 33 insertions(+), 52 deletions(-) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 3641fb73bc1f..99a9ec70c7e9 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1417,14 +1417,6 @@ struct sock *mptcp_subflow_get_send(struct mptcp_soc= k *msk) u64 linger_time; long tout =3D 0; =20 - /* re-use last subflow, if the burst allow that */ - if (msk->last_snd && msk->snd_burst > 0 && - sk_stream_memory_free(msk->last_snd) && - mptcp_subflow_active(mptcp_subflow_ctx(msk->last_snd))) { - mptcp_set_timeout(sk); - return msk->last_snd; - } - /* pick the subflow with the lower wmem/wspace ratio */ for (i =3D 0; i < SSK_MODE_MAX; ++i) { send_info[i].ssk =3D NULL; @@ -1477,16 +1469,13 @@ struct sock *mptcp_subflow_get_send(struct mptcp_so= ck *msk) =20 burst =3D min_t(int, MPTCP_SEND_BURST_SIZE, mptcp_wnd_end(msk) - msk->snd= _nxt); wmem =3D READ_ONCE(ssk->sk_wmem_queued); - if (!burst) { - msk->last_snd =3D NULL; + if (!burst) return ssk; - } =20 subflow =3D mptcp_subflow_ctx(ssk); subflow->avg_pacing_rate =3D div_u64((u64)subflow->avg_pacing_rate * wmem= + READ_ONCE(ssk->sk_pacing_rate) * burst, burst + wmem); - msk->last_snd =3D ssk; msk->snd_burst =3D burst; return ssk; } @@ -1530,60 +1519,52 @@ void mptcp_check_and_set_pending(struct sock *sk) =20 void __mptcp_push_pending(struct sock *sk, unsigned int flags) { - struct sock *prev_ssk =3D NULL, *ssk =3D NULL; struct mptcp_sock *msk =3D mptcp_sk(sk); struct mptcp_sendmsg_info info =3D { .flags =3D flags, }; bool do_check_data_fin =3D false; struct mptcp_data_frag *dfrag; + struct sock *ssk; int len; =20 - while ((dfrag =3D mptcp_send_head(sk))) { - info.sent =3D dfrag->already_sent; - info.limit =3D dfrag->data_len; - len =3D dfrag->data_len - dfrag->already_sent; - while (len > 0) { - int ret =3D 0; - - prev_ssk =3D ssk; - ssk =3D mptcp_sched_get_send(msk); - - /* First check. If the ssk has changed since - * the last round, release prev_ssk - */ - if (ssk !=3D prev_ssk && prev_ssk) - mptcp_push_release(prev_ssk, &info); - if (!ssk) - goto out; - - /* Need to lock the new subflow only if different - * from the previous one, otherwise we are still - * helding the relevant lock - */ - if (ssk !=3D prev_ssk) - lock_sock(ssk); + while (mptcp_send_head(sk) && (ssk =3D mptcp_sched_get_send(msk))) { + lock_sock(ssk); =20 - ret =3D mptcp_sendmsg_frag(sk, ssk, dfrag, &info); - if (ret <=3D 0) { - if (ret =3D=3D -EAGAIN) - continue; - mptcp_push_release(ssk, &info); - goto out; + while ((dfrag =3D mptcp_send_head(sk))) { + info.sent =3D dfrag->already_sent; + info.limit =3D dfrag->data_len; + len =3D dfrag->data_len - dfrag->already_sent; + while (len > 0) { + int ret =3D 0; + + ret =3D mptcp_sendmsg_frag(sk, ssk, dfrag, &info); + if (ret <=3D 0) { + if (ret =3D=3D -EAGAIN) + continue; + mptcp_push_release(ssk, &info); + goto out; + } + + do_check_data_fin =3D true; + info.sent +=3D ret; + len -=3D ret; + + mptcp_update_post_push(msk, dfrag, ret); } + WRITE_ONCE(msk->first_pending, mptcp_send_next(sk)); =20 - do_check_data_fin =3D true; - info.sent +=3D ret; - len -=3D ret; - - mptcp_update_post_push(msk, dfrag, ret); + if (msk->snd_burst > 0 && + sk_stream_memory_free(ssk) && + mptcp_subflow_active(mptcp_subflow_ctx(ssk))) { + mptcp_set_timeout(sk); + } else { + break; + } } - WRITE_ONCE(msk->first_pending, mptcp_send_next(sk)); - } =20 - /* at this point we held the socket lock for the last subflow we used */ - if (ssk) mptcp_push_release(ssk, &info); + } =20 out: /* ensure the rtx timer is running */ --=20 2.35.3 From nobody Thu Sep 18 05:25:07 2025 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70087.outbound.protection.outlook.com [40.107.7.87]) (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 988344A03 for ; Fri, 30 Sep 2022 14:17:19 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SuHOB9EPd2ZTTiZ3oR0F/u7L3Iv7EeZc1h9HJuFZpbJrLah4VZYFll4mWzrmbSW0DZXONHo1aPxGCaDuX9dfGkPowo3hzFW4ZfcnLJOXwvPZSIGtX8vQlx4T8d+d//YNF8CB1+P1Z+dOVH1lII5YiG9QvsOaFSNMB4bYBpmx7hoqG2JTTCHAK+9GcFH37ehJd3z61Wom7kVRFu8bLqCDUzwzdA86JFxk6T+6di/2cwNxdNCnwpnTOFprfnDZV0RQyjwT4AXCeniD3afO8VOFklNDb9R3N9KryiUBEetQshuklxXo11RMRrxXraZc9hp9+DTi4VuU50lJsa/P3sXXAw== 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=OVs3sD/AHaNmqUyrcrI7fZYoE/UnxSGB2qVqoth1cD0=; b=ScocKGJJNUQHG+2j6NMmK2qy3l0HGk01RPnyGT0Rw3xqxkCldk64gj+VMRNGko+IvBlwwC6QjMzPZtcCBb2B3vCIaA1Yv81Pqbt/g3KvbQJpKjtPEFM+3iCAxM5BpDv+ZOFegVfOcuWS23LhHSOov8m24hp8GEmWJqMhk5pd9+T1tNmImPz/mheTiVLud28OVbBHwvmjIIuUqIfpFOPe0Cq9NYS3R8/ecBGtSGhyZgGis+Y3YjNpN3i3G+6jXeSKh5YoKUqkpyt6uZL/u5yL1bU8jutxfW/5VSsBQtDd3BD2euXVMzG+Tf/SG/aWKnD3iG+wuLzQVUVwBHNI3l/UFA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OVs3sD/AHaNmqUyrcrI7fZYoE/UnxSGB2qVqoth1cD0=; b=0CpiEIRAkFgoNzScN1LPBqp2GtuGD6A16vdH089Dq1Z2urLJ9hEuoh9PAxZUgmLXrdHXzO+EdMtF5O2VBuPaqlEtTVz7SBdpKyTwkARtf2h6VAiU7ntG/EF+hSBq1qfOg7Vsu2/6fOWzVREeC5gZzscA7J0eS3Z311Tykp3yCO0X8BZpDn2fsCDzSoZq752oHSFV9XTsKMcOeEC7VpOXrd6dkKxhDlmDjJ0rzgDUQuM16f0EfLN64fabWiBxqOjauYU58tHjxsT1yqh/NMDwaQzNNESsFCNHS4TajAE0V7O192OzZF3dQgj1iAwB3JBqmQHeCw0JJSdlEGpEn1MNkA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBBPR04MB7882.eurprd04.prod.outlook.com (2603:10a6:10:1e7::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.20; Fri, 30 Sep 2022 14:17:15 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::e936:9fd1:22e7:97d1]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::e936:9fd1:22e7:97d1%5]) with mapi id 15.20.5676.020; Fri, 30 Sep 2022 14:17:15 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 3/5] mptcp: add do_push_pending helper Date: Fri, 30 Sep 2022 22:17:33 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0023.apcprd02.prod.outlook.com (2603:1096:4:1f4::19) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBBPR04MB7882:EE_ X-MS-Office365-Filtering-Correlation-Id: 80e4b691-5834-48f1-a2fc-08daa2ee79ad X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ygW4EEXR6+ESYiqaj3e2nWHmCgbErdBbc70xt38p2Pogrr0Xe02PzeMFIsFkapA41nl6mwxDySW0BRy85/xwtUwF9EV7n25NASwptoqWUy+IIC2jjyo9aWbBiqecmSDBGNvYdUmN7fcsSPGGbfGh6ZUtx2AL+RKRNd4zoKp6Q6bys4jfyn8zTHBV3HbN5E++I3HTospzKL9mrSK7yR2c4xBDjXFN25qezu/i5vTcVz5K81xCC2i5SwG1OPDjks4udWTrhP5vF9GSoPw5Vby0XE1wOCia+ymrMyzeqIwRLw8gIqb4UNqpCmFladV9FP2wOC2TRCVYBj8XgzwirzzoiKtCLkMXPLT9SVZdWXvd3wkz7JkM07QJrwQVWyzJ9sbn2F+JIW2oA6Z1+Mo0/KQyPoMyHdS5zSNxikVCAuK+aaTq0ZEfovy5QoAx0nebl0b7fL1r212fDfYer0PIl66WhnoHN1Z5XpkdjN+5qQila4RqCD7Wq4mdwBUFG0p9EQNdkvxekX4VYmMM5wjSeDdVcTGX7+zQiBtqApO00j1Dn7feTgA1ZMQN0vN4fDNZvHB0lH5GH5Gf0x9k05IIP4onlw7ibgckiXrluGNXXwjUX3NHGbeHutK6MNBHBTBlUjCF5KrgSHKTdfBCHWKVCbN8BD2jItH2ObyzseS9dvaeimN3SMzgUhEkjT9tPALGELFocFnSMmWBlCremNcixZfKigIGLGypA8pjflUlWb4kdHxSMsiYXltD4zhpkzMRWmHF X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199015)(478600001)(6486002)(66556008)(4326008)(186003)(2616005)(316002)(66946007)(8676002)(5660300002)(2906002)(26005)(6916009)(6506007)(6512007)(6666004)(107886003)(36756003)(8936002)(83380400001)(44832011)(41300700001)(66476007)(86362001)(38100700002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?gzzct3LYPpRcmv6L0ckHbiPptNQmqLn6USmXFldFGo7DFst4eMGrkAxLRlXK?= =?us-ascii?Q?l46ywCCiqO8f7/r0K3bK2NUMhaD3ePnYjLjR/vk3vpf6STXMHKCt/83aZMWI?= =?us-ascii?Q?Wm7YPHLtWsOYqBl6Ji50DeOngXtxsGczC5JM+wPGAB3gQuhGBWBXbXARujBH?= =?us-ascii?Q?4URQCTR6mD2KlyKv0+cw6+mGC9pETO4sbtz/wh/8DoJpb9sKYy3X3COHnsmU?= =?us-ascii?Q?l+VziJ2ier2IeoZ5rlEv5dzo/8CBvjqT1CJhIr0jyMUAlbQCIQInaXFFzYgu?= =?us-ascii?Q?eQK7bgAWtQDeCGOrSttqublS0YAluzUIhJJsWqRkoOgUcsvEETXhF9E2amK5?= =?us-ascii?Q?CphCOZDTgwJ9jRp4RdOF3i9X9EtglMtfNOxJisH5fwdC03557pI31IyNCXlf?= =?us-ascii?Q?prXfijXeaIj4UiasIxjUSO2c2q9kAEwodwAOQ/Q7dbgB9LPaEvgT1w+MxxB1?= =?us-ascii?Q?hkrrVitIkvDdciePvRFHJzzqxrA44Hlib803WvnMkKpDGuMTw3wQjXZ7KM/n?= =?us-ascii?Q?JX+F9do9Ty1hXQtQlG9TtQe9GQprLLoAwK0SVltfLubApo3Wd8RA4lnC8Yla?= =?us-ascii?Q?LeFEk0zG851uUnuBnb9TsEsh6DZ7MXqDp2knrdXSxHSdKMbIXKmU+IHsHtEp?= =?us-ascii?Q?58OD2sCLpuW72QpKccL7/fwxlxq+ef1Wj5PLZ1hnvMnZHyPKsDp+hVgLYOa7?= =?us-ascii?Q?8reoSwBpvVzwbhF7WbJmu4iKtaXoXxEKcXxwiIVuLKX5gBjVkUoeOceXCjxw?= =?us-ascii?Q?XQEukPQomNFh4mcdegGTkHZiFug1lUgAHO2EwiojTL+qXj+WmmL/UYUGkQUT?= =?us-ascii?Q?bnO2IxAmnRZiX3upBBh4Cegal9aZzSY5qcgu4eyyfebcegtnQoynNwSqR0Mv?= =?us-ascii?Q?rVZJSM5fL4bizwkZVNL7iqGReuJV2OekEMou+BNKxFNMQ2xZt/9IkUlGsl3Z?= =?us-ascii?Q?bCtX1ktdRcgfgl72jvkeMzUbVDXoS+n4rWiFW16OCSYYjiShwD7kdBQmgRjF?= =?us-ascii?Q?O1rBiT8JPulK7nTix1IoH2PlWz1StujdW/fEqeNBatP2SJqvRoUWNYlu2+sY?= =?us-ascii?Q?xzUMy7nwjRknl95mChwAWi5xD3JeDkvc8Y24/6hxewqVbXWIWuMZSBpnFuND?= =?us-ascii?Q?oStHgsT4aESF1Mw85yRgarUk4eBCFXe233pl1H4n0wsWCHjqObEwYy55CwXM?= =?us-ascii?Q?o4WCDg7v6kCEd7A1SFVL0Z3x4M3N9ebGLolNX4kMYDzJOW4tGPHr/hIodNvz?= =?us-ascii?Q?8adlcmEOU5+3g4+bO1kN6qpTYo1ghwQ1r5gnz4uxC1bjee2eg5MKBc25o3CD?= =?us-ascii?Q?8U8m2/xObTSf/dLoFAsQoZhp8BK5VZaeZUOutGQOrcPt7p5PnHvVzQK8c9Ov?= =?us-ascii?Q?+JTYbk9ZGcxlUBcCfANTLngbUPgji8Ny4Z3Oe8dYrFNAuC0tC9Jg4fL75gjX?= =?us-ascii?Q?mUZB7EZ3DT7x1Hm4XR/D9s5qvgE8HSKrD8GSbXmSoViKKNMaLZNfMIB/QV4s?= =?us-ascii?Q?AkpkreWOU8ky8ZGkH3Gdxk0sq6xZnikfEkscJSoGUnSbEZcYw8iUut/ZRoIz?= =?us-ascii?Q?/r1rdLKQZdS9xD5y1a8e3XbhBO65nASlmxzseBYS?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 80e4b691-5834-48f1-a2fc-08daa2ee79ad X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2022 14:17:15.6497 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Y9adR8JMVpz8IEGPO2MakFFl9FCmhaa2XWWd44X+62ArmRS+BwzLAxbQQQ0mvXCihWI0J0kaPBTLB4HLUWvOxA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7882 Content-Type: text/plain; charset="utf-8" This patch moves the duplicate code from __mptcp_push_pending() and __mptcp_subflow_push_pending() into a new helper function, named __do_push_pending(). And simplify __mptcp_push_pending() by invoking this helper. Signed-off-by: Geliang Tang --- net/mptcp/protocol.c | 92 +++++++++++++++++++++++--------------------- 1 file changed, 49 insertions(+), 43 deletions(-) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 99a9ec70c7e9..dc5e03a616b3 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1480,12 +1480,6 @@ struct sock *mptcp_subflow_get_send(struct mptcp_soc= k *msk) return ssk; } =20 -static void mptcp_push_release(struct sock *ssk, struct mptcp_sendmsg_info= *info) -{ - tcp_push(ssk, 0, info->mss_now, tcp_sk(ssk)->nonagle, info->size_goal); - release_sock(ssk); -} - static void mptcp_update_post_push(struct mptcp_sock *msk, struct mptcp_data_frag *dfrag, u32 sent) @@ -1517,6 +1511,53 @@ void mptcp_check_and_set_pending(struct sock *sk) mptcp_sk(sk)->push_pending |=3D BIT(MPTCP_PUSH_PENDING); } =20 +static int __do_push_pending(struct sock *sk, struct sock *ssk, + struct mptcp_sendmsg_info *info) +{ + struct mptcp_sock *msk =3D mptcp_sk(sk); + struct mptcp_data_frag *dfrag; + int len, copied =3D 0; + + while ((dfrag =3D mptcp_send_head(sk))) { + info->sent =3D dfrag->already_sent; + info->limit =3D dfrag->data_len; + len =3D dfrag->data_len - dfrag->already_sent; + while (len > 0) { + int ret =3D 0; + + ret =3D mptcp_sendmsg_frag(sk, ssk, dfrag, info); + if (ret <=3D 0) { + if (ret =3D=3D -EAGAIN) + continue; + goto out; + } + + info->sent +=3D ret; + copied +=3D ret; + len -=3D ret; + + mptcp_update_post_push(msk, dfrag, ret); + } + WRITE_ONCE(msk->first_pending, mptcp_send_next(sk)); + + if (msk->snd_burst > 0 && + sk_stream_memory_free(ssk) && + mptcp_subflow_active(mptcp_subflow_ctx(ssk))) { + mptcp_set_timeout(sk); + } else { + break; + } + } + +out: + if (copied) { + tcp_push(ssk, 0, info->mss_now, tcp_sk(ssk)->nonagle, + info->size_goal); + } + + return copied; +} + void __mptcp_push_pending(struct sock *sk, unsigned int flags) { struct mptcp_sock *msk =3D mptcp_sk(sk); @@ -1524,49 +1565,14 @@ void __mptcp_push_pending(struct sock *sk, unsigned= int flags) .flags =3D flags, }; bool do_check_data_fin =3D false; - struct mptcp_data_frag *dfrag; struct sock *ssk; - int len; =20 while (mptcp_send_head(sk) && (ssk =3D mptcp_sched_get_send(msk))) { lock_sock(ssk); - - while ((dfrag =3D mptcp_send_head(sk))) { - info.sent =3D dfrag->already_sent; - info.limit =3D dfrag->data_len; - len =3D dfrag->data_len - dfrag->already_sent; - while (len > 0) { - int ret =3D 0; - - ret =3D mptcp_sendmsg_frag(sk, ssk, dfrag, &info); - if (ret <=3D 0) { - if (ret =3D=3D -EAGAIN) - continue; - mptcp_push_release(ssk, &info); - goto out; - } - - do_check_data_fin =3D true; - info.sent +=3D ret; - len -=3D ret; - - mptcp_update_post_push(msk, dfrag, ret); - } - WRITE_ONCE(msk->first_pending, mptcp_send_next(sk)); - - if (msk->snd_burst > 0 && - sk_stream_memory_free(ssk) && - mptcp_subflow_active(mptcp_subflow_ctx(ssk))) { - mptcp_set_timeout(sk); - } else { - break; - } - } - - mptcp_push_release(ssk, &info); + do_check_data_fin =3D __do_push_pending(sk, ssk, &info); + release_sock(ssk); } =20 -out: /* ensure the rtx timer is running */ if (!mptcp_timer_pending(sk)) mptcp_reset_timer(sk); --=20 2.35.3 From nobody Thu Sep 18 05:25:07 2025 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70059.outbound.protection.outlook.com [40.107.7.59]) (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 111AA4A03 for ; Fri, 30 Sep 2022 14:17:24 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jb5GP7u/XeNQMiowYyanrdepE1aL4Fjf34TDiALw8BqO+rTG8PbhUYJoXluJnOn3EQLOY7Q6Sf8wE6cTj8YeIGdTYHkFrb5Zm2I3cx5R1VgxqD1XYI67UfyX8sSVNrt0uhd3iVFnPskRteEaLsrtDMUQvJ1cIguBWYDhaDOh3mNlQvDisjkddKnmVBju0B23bbPUgNoV/Y4K0h1S6iKL2i77qieUyJDJw5abZMFR/jeeDCjZgRyYETnm914sIyqNzeEHW4s13aWVs+br2Y4EnzpBck2siiDaj1Dler7PlftLXaeFnvokVWwDh3HOKToaE0u/RkB+GetadB5m4rBgZA== 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=VqOij31a+8TfhX60DuFQx3qyfM9oUlreGvOr8mwF3dw=; b=nFLLjV3ochtPp2XVIPCJgzxXReD9F06hqEdqYLY/sMsxkXlYx4pBhP2X9c7npd0NKMOCm2WXsEoIDAJevTB1lAR243CPmZs1czzh/rOqp0/K4sDlQKEeGZPT3TZ6Mq4pcpHDkklQZNCPjTTi7ory8GLbe2TNTSHqeS5meaQmbdUfIBNpieRr8R5CSq8m2BhffW1ts0ZCbT//cNxZmMKfkJ5vsKcYgVJXpx1AUb/mw4RXsNOl2JezC2y0NnEOtTAmCnvH1kly2WnEpbmZck4+6TbOWb3B0msxt+oQN1r881Z+LAvdvbhC+XG4340vUHrJbijS6etA9QVC4EESNUcR7A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VqOij31a+8TfhX60DuFQx3qyfM9oUlreGvOr8mwF3dw=; b=WpYqfP7C66NiAIJR9/6Dz1hboDxet4p06TwV1rckwKfkg0p2nHjxinurP/HCepIIl709Ce86gl+mP6OtKn0QdioqEwvCTQfR1Vdc1bcrL4SWMu1Jsiha5yVAOn8jpDgcrWL7SVvO9mPUgRL6xiejNqYvoBZ6Mr8ICDSuatiGSrU6sl/JxDcmZYis7t/xjDF6yoyXVx9XyBWOjlgsVAAzFINMK3K3QCzAXiCBMinoVhafzHEYZ6iKT+Q94zZK2LG0FvCzJo2bQsCEYgifJ5AJ5Wr2+YoYDXaxLPhaEjQYDXnYhSSG4DybKsD7caM6iBTN0cP6zHA+FGu89wCr3faMQA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBBPR04MB7882.eurprd04.prod.outlook.com (2603:10a6:10:1e7::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.20; Fri, 30 Sep 2022 14:17:22 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::e936:9fd1:22e7:97d1]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::e936:9fd1:22e7:97d1%5]) with mapi id 15.20.5676.020; Fri, 30 Sep 2022 14:17:22 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 4/5] mptcp: update __mptcp_subflow_push_pending Date: Fri, 30 Sep 2022 22:17:34 +0800 Message-Id: <37356025b64f3a1efc6e2726a51840c4fb80a177.1664547250.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0016.apcprd02.prod.outlook.com (2603:1096:4:1f4::17) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBBPR04MB7882:EE_ X-MS-Office365-Filtering-Correlation-Id: 4ce421ec-763b-45bf-e83f-08daa2ee7db5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nbBm/f8AwQbdGdhiBCmC28I/ZnzsUQ5MTYbG2kiXGIFk2J5i4B4KzJruHK/SOLjrvOsu+DiUeEFfqpvQCr9/ZAsbBmv0NjDnCccgwCNNW185TLb54qgp/0VMqWnUkU9TlvL/4+OWwCajNF32LjQHT+Ab/qnmPbNX7HEch36w8lXQB+N3nQXYzDDWqL7IjI+Yda7C6MTZVxEnNomSlXOQmF0DNWt/vk7br7osbFBWBr231R759BZtPyQeKspZBJLl3LSzg8+VO+CHCYLqsIRqF8B65Rt+GtnJ2O/roYopvbWHmAuglTZ/VAHst2K6ZQ92nqvoqxMJhqkDxXldRsROX1Bbbin2yqpSkBMRmHFCfXHZMKOE2BkluZhbaJ5Q1j6BFyziasvfv95UBidFOhOeKFTpY82bcx8lNAIE/6J3K/iULMaYLaSzIK4820Yqi0wlP9FYqQPynbj07Fnwj68dlKeyUZbQmvSPZUU8IWSLtvcuve5TLMOBdG+rRQ1kk1dKjUp2sj4cFciA81PnSrQJwiu9ovJ+Vnff1YW9yOFh3ygBI5I4j/+5BdlErJ/GpUxqqtTyg6+PxuhQgoJnPhiZqQwIdWqy8mNdPtnmsg71jsQ3mc1XPb9QvgPA8jkfUrDpJz26fKxrrCUC1U+UBkWsMUMV2au54m1URI+UqDVTvwR+8YZjB9hTro2i3S5S6oCqQ2QycK1I/fXyJGIzdDk67HR1rhxSVHaZCZmxoSO9eip3mX2GMIELRJQfwSJ5aYml X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199015)(478600001)(6486002)(66556008)(4326008)(186003)(2616005)(316002)(66946007)(8676002)(5660300002)(2906002)(26005)(6916009)(6506007)(6512007)(6666004)(107886003)(36756003)(8936002)(83380400001)(44832011)(41300700001)(66476007)(86362001)(38100700002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?rmcGIeb0iMvtR7AlDu4NgT4YXbHQjTrIommnNDlq9EZAceTN3iQtSokVnKig?= =?us-ascii?Q?ziVNd4YjW0XkvleoO2DAKvOS1bVYUSKSG30zvisu+Wl5CNvg6KRW/S6p+4bX?= =?us-ascii?Q?nzf5+3M1ZyriGzZOnYJf7fpxNuy3C/aA1YC0r7JxAA/iAJQA2d44ng+EXIWL?= =?us-ascii?Q?hOgVH5H9VTtbijkNTFzvbpXLALaS11c+eK/i6bp9Zr7A1/qoVYeQBZ7W1pP6?= =?us-ascii?Q?oAE5qkTKso42pRTulf+cVogfap0BH1Vr2cz5kO1OBTrNx/k+WjwJiDXU6BrT?= =?us-ascii?Q?bQK+zvzH9cIEW57/eJBSgt+3PODY/wzWXmlsbQzJ8bDzKfZp4+kLrViPn1AM?= =?us-ascii?Q?QNsshbm11gMIkzTxE/GCBZ6CPY6H9G87H2v7qxOiinhzENM9FlHm9ITTD+je?= =?us-ascii?Q?TU57344tYs2ygfG+OKfQ0PDWeKx/PL7OZlr1NEh7DcR/KjooPLXodO0Kix28?= =?us-ascii?Q?6n5/WEqLP9Ty5VwCM1+GOlCv+9ty+2lXC1SodcKaHJiKpm8VP2WvxlB66xEm?= =?us-ascii?Q?UZXyVnwLZXABlwJhznz3L+7V97pUMKDKGUINN0B40+TZjabcqq8WPXdzmnnr?= =?us-ascii?Q?3VWf3C/abnHXJnw5TGEsx1iC7x3IzSAlCIMPD3OGCirKwDDvIJ34ir5VAXyR?= =?us-ascii?Q?MO5Xs/EX9kAUsXAx/PvI2vZD+coHcPBwWRz65XYfX/RwjSvRQPI01xs4rpNR?= =?us-ascii?Q?ZqQT6K7SVPFu88iXd0Ez3y9wETcLIB0/c9e8vtLmCBpWJckmkkG7ocyzMKjm?= =?us-ascii?Q?c+p8BqAqdXL+tT2YDJwYAaWejr0psaaZIMwF0BEgdY8yA7Sz3q1Z5kv80XTW?= =?us-ascii?Q?vvsk/pNPfjGTfehyuv6j9ibKr4dOpNyYSZzaO4hHhvbxofPAo1Fy6lV9IFjc?= =?us-ascii?Q?P8Ql9X50C4EzjxV2+g1Z8m2OOHiqPtALMTXJ6aV6Cu2S+5gDqL/FIOfv4uOx?= =?us-ascii?Q?wYcP977EFYT/6v4VAi9pUIDCPpuAsbJwBCcGX7FbcawK8+SiSdKjPMrgUZ2U?= =?us-ascii?Q?uK7pRwccXPJaO/pwPY6LhSbIx+YNZgywDTobkjstzYexPiKrnYvmofT8J45d?= =?us-ascii?Q?4A4uqG34dExiEoLcQFrs2gLEEHVE8z25Rw+3gDyixqRskYMFl9VoIy+CHoNu?= =?us-ascii?Q?H+AF5eWZdZ7Uhs37QnDsFkEApQf30XfEExtBDUkDvATZ8sR07osdaD+gK7eE?= =?us-ascii?Q?xm9WhMUx1tMe5GBzvw88yT3YKXA0OvxOFTtDgCVw2chHu9aKBCul2YV4Mc3U?= =?us-ascii?Q?JXydrrkyJjHKIGIAYPCaRbKRHGlvf2J4lzAqIgAipJwLdSmzA7NSb+X/recr?= =?us-ascii?Q?cdNOr/Gglzc0kPXnsD5I/+h15s9hDSb8iZYdTW6vOhEOi8DgNRa7Hnsjr1YD?= =?us-ascii?Q?8xhTdfJQSh00iWLuIzrupFcdJQ/8Nh8vKDIOf4U2hmD/f4iLlAkbrANnTng5?= =?us-ascii?Q?g0122BiS+62zePHz9tA2OgJLbTo0GslEY982OQcZxOR6TVJ+CHd6vzHopU2f?= =?us-ascii?Q?WZcgoe4/nF6K9F4crJeNq75wa7TYknUSIAQXy89W0Gbi8F8TBEzCy3b3joGF?= =?us-ascii?Q?ZRRTgNYW623v4CWUo32JRc3aD9hIMn2CezX04HNU?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4ce421ec-763b-45bf-e83f-08daa2ee7db5 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2022 14:17:22.4304 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: vENPuqU6kJ9bcLp7EiofqjIaVCTwBTNdjITguK3hh4agkMEj8JeWb2AlSux27Jf0hN3D889zPAv61l1XLO8FAw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7882 Content-Type: text/plain; charset="utf-8" Move the packet scheduler out of the dfrags loop, invoke it only once in __mptcp_subflow_push_pending(). Signed-off-by: Geliang Tang --- net/mptcp/protocol.c | 44 ++++++++++++++++++++------------------------ 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index dc5e03a616b3..8e67c149bbab 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1589,7 +1589,15 @@ static void __mptcp_subflow_push_pending(struct sock= *sk, struct sock *ssk) struct mptcp_data_frag *dfrag; struct sock *xmit_ssk; int len, copied =3D 0; - bool first =3D true; + + xmit_ssk =3D mptcp_sched_get_send(msk); + if (!xmit_ssk) + goto out; + if (xmit_ssk !=3D ssk) { + mptcp_subflow_delegate(mptcp_subflow_ctx(xmit_ssk), + MPTCP_DELEGATE_SEND); + goto out; + } =20 info.flags =3D 0; while ((dfrag =3D mptcp_send_head(sk))) { @@ -1599,19 +1607,6 @@ static void __mptcp_subflow_push_pending(struct sock= *sk, struct sock *ssk) while (len > 0) { int ret =3D 0; =20 - /* the caller already invoked the packet scheduler, - * check for a different subflow usage only after - * spooling the first chunk of data - */ - xmit_ssk =3D first ? ssk : mptcp_sched_get_send(msk); - if (!xmit_ssk) - goto out; - if (xmit_ssk !=3D ssk) { - mptcp_subflow_delegate(mptcp_subflow_ctx(xmit_ssk), - MPTCP_DELEGATE_SEND); - goto out; - } - ret =3D mptcp_sendmsg_frag(sk, ssk, dfrag, &info); if (ret <=3D 0) goto out; @@ -1619,11 +1614,18 @@ static void __mptcp_subflow_push_pending(struct soc= k *sk, struct sock *ssk) info.sent +=3D ret; copied +=3D ret; len -=3D ret; - first =3D false; =20 mptcp_update_post_push(msk, dfrag, ret); } WRITE_ONCE(msk->first_pending, mptcp_send_next(sk)); + + if (msk->snd_burst > 0 && + sk_stream_memory_free(ssk) && + mptcp_subflow_active(mptcp_subflow_ctx(ssk))) { + mptcp_set_timeout(sk); + } else { + break; + } } =20 out: @@ -3182,16 +3184,10 @@ void __mptcp_check_push(struct sock *sk, struct soc= k *ssk) if (!mptcp_send_head(sk)) return; =20 - if (!sock_owned_by_user(sk)) { - struct sock *xmit_ssk =3D mptcp_sched_get_send(mptcp_sk(sk)); - - if (xmit_ssk =3D=3D ssk) - __mptcp_subflow_push_pending(sk, ssk); - else if (xmit_ssk) - mptcp_subflow_delegate(mptcp_subflow_ctx(xmit_ssk), MPTCP_DELEGATE_SEND= ); - } else { + if (!sock_owned_by_user(sk)) + __mptcp_subflow_push_pending(sk, ssk); + else __set_bit(MPTCP_PUSH_PENDING, &mptcp_sk(sk)->cb_flags); - } } =20 #define MPTCP_FLAGS_PROCESS_CTX_NEED (BIT(MPTCP_PUSH_PENDING) | \ --=20 2.35.3 From nobody Thu Sep 18 05:25:07 2025 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70044.outbound.protection.outlook.com [40.107.7.44]) (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 174C44A03 for ; Fri, 30 Sep 2022 14:17:34 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c3xnl5O2ZlK+b1nk3MkaoI0Da9PNcvJBBsKJ+5RP/w0D7/joCo3K/5ywsAMB6VVnkbrIp24w4fvf3zRDaJZCe/KWYhqpMXJdw/yoktUPwl9ORq+DJ1fi328fkU6QNysOoy5Oal7ctE9JL4gpwC7L9PWZeAKtPiZv0HPFrLMc300yJexkuArRxlAm5YH/STxTKKy1Qv1QHk+9tSHu8iiddXsdB50EElO3Jlf0BRo7fmvf7/vLUl5AJ67uRx00goJjLmgCEwgSwFG19qb/nB3o0Zb0ITDs2p+yao8kV2v41bzGLmfG2GIxoHnO31udK4KjXexMXn2RrDd4bua6fi4V0w== 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=TgMv9RFxuy4Hbho4pDTni2onIF350gTQp0p/1aF4Aqs=; b=HW2u0CcuNTqsOQ3hvbCHN+sRGHcn3wjDgJl3jKGsu2hOatro0DsI0vNtN/eG9CuUkgiW+DqRTnNkkStoHX1jZa7P0wHU4eHVi2MKBLeqCkvvoYpesYIxpIRaIG6Vr70wROFsgeiBkLMJ5osTxtknrYG9K0+CRkiSGz2qMm8AFxRg1YmhcsukutTPTFN1ytQcXvuPk+dYS7eefQ6D6EXRVtTJiG5xQxkOMHvbWjXOQDDQPm+YkG2peoAUsfrDThx8Ja6krKKKQPPIw9cM0JB1UDjtsKKvTa2nCGco8k0XUNrukHvTkm+G3Yoh8lNdaoi+WhUcxNRF/Ip/B+zImCq6og== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TgMv9RFxuy4Hbho4pDTni2onIF350gTQp0p/1aF4Aqs=; b=v+Qtl/OfznkWiXNxG9e9Ue+iapKTRSi4SrxOByySPqfHnMQYSqQ0iPHUC4HeicAJESX8gCyq8KlODrIU0eLb8tddpRKJQdptOhm+ssnE1twM/QfGKGhJ3HHcyqBLMi7BwbeUilCn2q8WHwd76gi/xOnrFRUVOk5wkUK4i8Ld6FndvS4s0EO39Bi7ADIXkEtugaW3zNYgTTdRJiaY4n7WLuqz4RDgG44tk0eH9JZp40Ryy+E82X7CuIk2mk0fYuQtbHk7WNTUAAEFj8alMNDKCcSubxowCca1Br8zA1pc31zekWe0ntyj/Onn5X2HDa1kS5E+1JVMxnNMwmIQmTu71g== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBBPR04MB7882.eurprd04.prod.outlook.com (2603:10a6:10:1e7::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.20; Fri, 30 Sep 2022 14:17:32 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::e936:9fd1:22e7:97d1]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::e936:9fd1:22e7:97d1%5]) with mapi id 15.20.5676.020; Fri, 30 Sep 2022 14:17:32 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 5/5] mptcp: simplify __mptcp_subflow_push_pending Date: Fri, 30 Sep 2022 22:17:35 +0800 Message-Id: <87648dd3192ed4fff140ba9767f7afe7d77d9021.1664547250.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCPR01CA0106.jpnprd01.prod.outlook.com (2603:1096:405:4::22) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBBPR04MB7882:EE_ X-MS-Office365-Filtering-Correlation-Id: f4e0f36a-b755-40c1-d330-08daa2ee8393 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vg+aBvcaZpmbG/lkPVCE/7zu2YmbMBn8BjJOKxn0Iv1at3GOGiEUg2TXDLZyCsE9Ed68mqk0TjN60c0rif+XaTmAOJIde6sMC8QVlFXc4CCqebrCLcPkdxjX/b/aODd27up+VILobk/v3aWTq7b6kUMS/1C7bN7Y2iVKlQsD6NvGAqMnzbjAZvb/9gZARnrcDdNN4fojDb71UkhiEq+U08FTL66jvwLJROr8mPXFkC7g5IPU0UXcBGfR0NhmdZ+hkStjqq8x7CWT/zC95Jm/rubmt4zYpVtMLxyT0fCjFJipSBYrm9V162SgYW4ALMZt7IZtYYwpuGaDI+Ciw+MgJdvZ+GClLWcR8oZLKDnXlZXAXIy6iH3JCrgn9jByg375FTr3OHTTBkIDtua8nNnl4xpnluNGONQcR/Wuo4O6X5lFtGpJVsOPthX0G6bYbPdBOWJfUfODTjB7Tv9JsSNpJaLQZ8srGnao7o1WR8nfZT0W0dg1DwGtcDX4CXbTolcB2lGdIKHX3I1tl2qTLoNr0Ip3QeUSb5n7FbdEZVsP4sdTKoRLNkk0U0oWw8UfrQ7wihCa7LfYL1rY9Vsjq44tPLqQNE1Hz6gE0jCqTaQ2f6hJ9w0Bpmv5FE675O1z5JTnK5tzcwrXDGQDmMGWqMTLD+rGJZ6MtdGjJOCKePiXy2hh6j5RkAtZyYECn4STkT6RgUoAZQWlyMN7nATtnNPGyQnkc4JN0M/g2DL+3iK6lYjPIsKasctDdBDRBeQimTal X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199015)(478600001)(6486002)(66556008)(4326008)(186003)(2616005)(316002)(66946007)(8676002)(5660300002)(2906002)(26005)(6916009)(6506007)(6512007)(107886003)(36756003)(8936002)(83380400001)(44832011)(41300700001)(66476007)(86362001)(38100700002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?6IRtghONqsX1tdcCveiA5U25wKBP8atHyFpmIfGkVS4Z3WJoP3ogcJqcP+/w?= =?us-ascii?Q?4m07ZPN2GKJf+Kj4E8ob3EIDJWaUypWSEbBKMJ7LPXNwqrtiBWnbw+E7/IY8?= =?us-ascii?Q?KxQLBuqhaFYck4qsoLyy9sa5yZHetu8ixK9BHI+PO0Do18xcn7tfDscwQCm2?= =?us-ascii?Q?Z1tEHK6yKf5e6Eer++221L25j9dGkNxDRYFROi4ubxoiYSyonDqNUqwg8j/h?= =?us-ascii?Q?EqtyPg8/PX8qq1RxnkU62LgBUkFenUnCRS1lgCq9KYzhS/L9DKjx0I4sKbkm?= =?us-ascii?Q?Bemw+8Su5tGza0SG7ENzP+u4RXfKnhV14SRTfFCMDYV879/az7TGQ3qvhNat?= =?us-ascii?Q?p0StzgAHihahYXVcy6G5QSXAFaZ1SqkWiOwOR1GfLSZUGOLvLyKAa6Z8uit1?= =?us-ascii?Q?2koAvVkrbFP56mxlAbf6l3ZlNi62X52+Vc0iv7wgYMw7F3htfJbODJykRhDz?= =?us-ascii?Q?UH+ipK1NAoCv5DUxb1fN9s+oYzEv9XgWlkMjkQmW0QholPLhk3dIFDhqzfGf?= =?us-ascii?Q?TnxJb1+LpsEZ/WtyglwdvEB/nQYNL4DLlXLXbDBdfUnSHvUrhUX8FBBMc/Fx?= =?us-ascii?Q?YIr62lrGNIZAGQXBel8B24tRf4GLc7drwCA7bakdmEx8TGziss8qVGw+t2zw?= =?us-ascii?Q?lmUoR+UIIhE5sVkl1WB92cy+RyscUpcGxtzEwqq5K5F/ou9Gmx2vo/VYqOrY?= =?us-ascii?Q?+2VhQef+AQoDROWYSYV5XQWnTh/quwU4wJOTgw/I0Oy9zkpwI9foi7ZmSQGM?= =?us-ascii?Q?81Elk2tzQaCnN6xJS0lYNI+JCNz6m6qTvo3a2KdM508mglsxZnkNKL+18Bm3?= =?us-ascii?Q?hsL+NFbieO6LvDnpgmQ0UK15eKoPIwhoO8cHeHudaOgvlX2/xUOFXvt5J0n3?= =?us-ascii?Q?8AFX0NUdr+sFwf7KJnGviMyWLTuLZ49H99QJWksolhsLoGN2PiXcJKichfrP?= =?us-ascii?Q?qi3RrTROqsf5AgD7sxjnwnOqajOukWxdhdFRmj/W9gUJOOt6Lq2vQksHXdA3?= =?us-ascii?Q?Qaj4W0KrzGiiydNSlqdehnPuarSyVwi0/s7kCFnmQHwCSNxMo8F6hyYaoRhL?= =?us-ascii?Q?dXsebjkn6V5Dy58xKmRnm/XW5VddQ6QpDOJUKm8gfltgkn+54TcDlS2vWsun?= =?us-ascii?Q?jvf70Yaqx6/kg99cZJ2DbvhP7f1r0yGYAinKDEvdLJL73tGyOWY30kj8R45h?= =?us-ascii?Q?8o67QQ7xu5fQk1mEoX4zQK1phal+5ZyDiQP8P3UKodmK5jfQ7F1Hx5WqxoKs?= =?us-ascii?Q?HT9uRwy6KIEhV2P3AGFbZwsCihdjzYYfUxfaiYGcZL7WgqhK5wf5+IbvjCjy?= =?us-ascii?Q?pqpXAzDWVA+DuMe2OpyuNDL4+S6aaqLOH1hYCniygJOzlqML/5vj7f4uz8Xx?= =?us-ascii?Q?CZB1V4XH5OkatUiPuMm9++Ww6w39TostTM8GL89CuxP3d3nl5p+5GgD2jBHZ?= =?us-ascii?Q?H0YfFRhbx4EGJ1/EYyrraz+OeAJVQsfSstXeeYnTCfyZx/g1A0oZJYK3yuP7?= =?us-ascii?Q?7aiIkaJlQI62pZvwB2dSo1Er7fnFrCiV0hNXIEYu0bD4A3r7dyhPE1V3EusB?= =?us-ascii?Q?LuvOC8O0kXNX3Zsf2nmYXyxrJANgpaVpOYJnMaDxrthLAL3rRFgDJI7OenH0?= =?us-ascii?Q?sw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: f4e0f36a-b755-40c1-d330-08daa2ee8393 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2022 14:17:32.3515 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 6MxAlFBPyU3K2u0kqHd8yegNa4BWcGpU/n/YYWveU5R5UevrjxZHgZWCQB/0ArQPWdEZYkgytaDJjUqNJdWnZw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7882 Content-Type: text/plain; charset="utf-8" This patch simplifies __mptcp_subflow_push_pending() by invoking __do_push_pending() helper. Signed-off-by: Geliang Tang --- net/mptcp/protocol.c | 33 ++------------------------------- 1 file changed, 2 insertions(+), 31 deletions(-) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 8e67c149bbab..940384952015 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1586,9 +1586,8 @@ static void __mptcp_subflow_push_pending(struct sock = *sk, struct sock *ssk) struct mptcp_sendmsg_info info =3D { .data_lock_held =3D true, }; - struct mptcp_data_frag *dfrag; struct sock *xmit_ssk; - int len, copied =3D 0; + int copied =3D 0; =20 xmit_ssk =3D mptcp_sched_get_send(msk); if (!xmit_ssk) @@ -1600,41 +1599,13 @@ static void __mptcp_subflow_push_pending(struct soc= k *sk, struct sock *ssk) } =20 info.flags =3D 0; - while ((dfrag =3D mptcp_send_head(sk))) { - info.sent =3D dfrag->already_sent; - info.limit =3D dfrag->data_len; - len =3D dfrag->data_len - dfrag->already_sent; - while (len > 0) { - int ret =3D 0; - - ret =3D mptcp_sendmsg_frag(sk, ssk, dfrag, &info); - if (ret <=3D 0) - goto out; - - info.sent +=3D ret; - copied +=3D ret; - len -=3D ret; - - mptcp_update_post_push(msk, dfrag, ret); - } - WRITE_ONCE(msk->first_pending, mptcp_send_next(sk)); - - if (msk->snd_burst > 0 && - sk_stream_memory_free(ssk) && - mptcp_subflow_active(mptcp_subflow_ctx(ssk))) { - mptcp_set_timeout(sk); - } else { - break; - } - } + copied =3D __do_push_pending(sk, ssk, &info); =20 out: /* __mptcp_alloc_tx_skb could have released some wmem and we are * not going to flush it via release_sock() */ if (copied) { - tcp_push(ssk, 0, info.mss_now, tcp_sk(ssk)->nonagle, - info.size_goal); if (!mptcp_timer_pending(sk)) mptcp_reset_timer(sk); =20 --=20 2.35.3