From nobody Sat May 4 05:39:15 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2082.outbound.protection.outlook.com [40.107.21.82]) (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 4947C20F8 for ; Fri, 14 Oct 2022 13:32:51 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=m3QkEC9Jv6u5/Ug81tnhBXf4GVV7vSdK5kBRJny7FIWQA+SmptpXjcevcD9JBe4l8weFnsoOq4kt5CxqJP/vp5IkjanIG/sSgv/4QZtqBd12NjDl5M0L61RunccrSmXr81SVi6li1PHzx6+EEG+Kw42+E7MZ6FBGava1eWSQeeCyCfG5UgtDK9PNK/b24fv0/9ZD8o41+MeG7Q9uWhq8+0/jZMdAdnZoCreempH14SUE9g2WbfTr3HFF92L2LZM5gfrlpUarBm6kHMYvjxf+3BlbPYipKFZFVvLBP0pCM3+HwbO3PSMiOQiOi4kzvkdYRoFrFHILihKjrVFGJ6DgMg== 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=uDK/2go57nScxnQvN/asspRkLshK9MFb5x62ZMuJcvU=; b=NHW85CLZRTXC1jaGSZbyxtt2aHxXsM9bWDRS3yccMjlhddOX56Kf76UMFi3JAaV3/lwuZiwOSjqK98pe0gm4Le6i0IM/OwKTus+L+Ecc6uFSJw5oua/y0DFuYEcCqJvtk6PkwfS0LsHObold67p4H4cCNjvno+uRKBZnqdVfLf2xmCe0XMKDCR5iys+HOAtpbveFlQE4mHxdkVd7txB2y/LpUFMH8QYaAmcwQXQ+6Pibn055zeTKFC1DIIDUDD7qFIrRs1cudFbbpASzeeghJ0qQkCvjzSE/21wqxPzTlz2DTIvv1WzC8Tz0QTgvWMy4uq2UeEJjvxleZxRUNo7qng== 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=uDK/2go57nScxnQvN/asspRkLshK9MFb5x62ZMuJcvU=; b=UoUEhNcsjHSszOze6ZcCIiT61LJsiCUGEZ0jm/wNawO/fFB5g8gBAiP8OMIDcIz9Di4eKp5EDd8zYB6OhsKqEhXqGqTa2uQtRWA/q6WDF0Q2x4gaCz3Q7bobxxzqLmOj4ZbVAgs0HEZTFpkDEwT1MBe/4bj0VhbyxlacLUJL6ilczUJzWIkcelUg83MCgN3bZgqLX4HmO+qpGgFprooJOngr5i3UZyUkcbDpUIs6TkOet4ztT42S9lHqT7/bJPlRaMzUKiAYmMuD/4hb0uieJdkkTMd033rfZYQz+3aDjpPKo0xSjMhS0UtA+OE2nP6x7L/KvP0veYGVONg9/F1tVA== 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 VI1PR04MB6975.eurprd04.prod.outlook.com (2603:10a6:803:138::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.15; Fri, 14 Oct 2022 13:32:47 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45%7]) with mapi id 15.20.5723.029; Fri, 14 Oct 2022 13:32:47 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v8 01/15] Revert "mptcp: add get_subflow wrappers" Date: Fri, 14 Oct 2022 21:32:08 +0800 Message-Id: <603d5313d1e6c41952db88b09d2bd24418a1a73b.1665753926.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCP286CA0040.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:29d::15) 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_|VI1PR04MB6975:EE_ X-MS-Office365-Filtering-Correlation-Id: a796b922-f2e8-407d-7507-08daade894a8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XHZzjjd91eZGY9eXKMTcm6d61SxL8Yb2MlqD5JD8zZoxPs56aiOcUHBWG9ejP4z+poOdDIymswvvNV94svJr3kdmyKhlHPJtr/WplMbtoYf6u+znM7BW8joCIyvonbwsTKYzXv4JIeEd5zDtPHPbzYmDcuIesrI9xfj2NxYT4STkTMcpEvQr7drO2KRkj3eweKulQV6OCIpImwWKwSoZ/IENWNckJulKyUa9ws/bUmXxbdWOsoIAC3RQgAsz5b4lZdYRTyyJIttzTCgvrmBwqaerfIAsPDPXTujZOn063cGB1+WPmShYQ0uTTyyO3yEaQsZTKOAjZrt1LMr+fYc8QMLKBNMi/XhhdmbYaCp5vOfb8uHJdkImjlvxHQZiK2RGhE6v0iyYVk0/NfntOf+sOTNS2+xnbr0pg1xg/qJo/WebBwDhQpPeXjyt7GODmZ2DIegZd6kP6uBeyRAmjBG44IrZKVBsrUMny2dbSVvBb+KGZy/tWikbHQXI/0fVvIAL/lmXO0gVTVAaNF/CqIMBgirU6ycz5hxWNoRiUPwYEHd2EqI1YMIKOD4Qh3EipRNnOI/lhJ6ebqPS1geJAQiiPI1KjbyS/VkEcon6zhtUJ3smMeyCrwqhHQOJTcgJ6+AIMisl1GLtPJ9qSiSd+zI9bh0eenXY2gpFHdrOCzpKIcxWHB4z2lAr4/nJOJM+DFQNRWJATVA7DTwLB/N9Eijq/UMIorP/XRbd1+OZrYIhk3V8QtrrEUjtE+d/WczcKf4Q 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)(346002)(376002)(366004)(396003)(136003)(39860400002)(451199015)(8676002)(38100700002)(6916009)(316002)(478600001)(36756003)(6486002)(86362001)(83380400001)(44832011)(2906002)(66476007)(66556008)(4326008)(5660300002)(41300700001)(2616005)(6506007)(6512007)(66946007)(26005)(107886003)(8936002)(6666004)(186003)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?guYlIPoavR6JRApzA8uwo8IV84GCgvaM+EHCxrjSSGCE/5/9IfAPiDdu2ye6?= =?us-ascii?Q?taCK/FuGT4IqbqfQ+imncu61Y61xXiUfNrwakLO3RRq8DvXsH30+1SEfQJpz?= =?us-ascii?Q?mIYaWSNSs7/FsNsChqrB0EG5XXLJbom8jOsSUUhaNMd4FXp7ELcXRYwkJIH/?= =?us-ascii?Q?oGqhCqWwz84PUzvdMFtRiU0BV7ZdVPAsGFI3xd4vObIhnDxmr0Y/CQqhuSeO?= =?us-ascii?Q?bASt2JLyljehAazM8lb7uhKacRVI7aFRqMf9SicidfGE7Om6e7B3edYZN6uX?= =?us-ascii?Q?d3CuC+Zsry4MBu967kXam+18vT0myURBKL/HYR8o1AKbUVb9bFmvBeVdrWmc?= =?us-ascii?Q?IAof3cteDsYG0LJk5k3mR5NEHSa+ZZvS3oYFtu+XtZj99A0U4hfvOsfB0D5W?= =?us-ascii?Q?2uFfhiAqwiTMHpK5QPOUWDdlC0iTNk00g80xyFpHnSCnzA94mWpoyoq7H1u7?= =?us-ascii?Q?EDFjsxJpMpL9LG6d0lejtmSi4QyaoZHyjtuyJy603KQlIReSdO7fjrewjO8M?= =?us-ascii?Q?6eKFcZrOlSCSBcpJg4seCRsGebLspw3CpyHSgqDU+P3PmMVqgEDor8OP8jt/?= =?us-ascii?Q?O7phuIrqH2t7yNuaEuuzOXNIa+J+sgfvcsoc9OgE/BGu79RqVCnGr1hG7ldO?= =?us-ascii?Q?mLdTureDGbvAHoNllIdrpogFId6yAQhMlKx/aZWsaVPub02t1fThUHsH9ky/?= =?us-ascii?Q?94w1HGHv/kwXrfkvPXpd0sco4SDPEkEg5Owwprn8l88WH9T+rcxBmipEocOt?= =?us-ascii?Q?iOI8BVw4SqVybNWwYLBCECTfQjaGICJ66E0u86oOMaSfcqTfKzZWcF9EfcaI?= =?us-ascii?Q?LysfPJagTQjF6jrvEyWeiYXh8tVp5BYBnAI92bLVvkZ9EZd/cOztDJj+iOuO?= =?us-ascii?Q?O89w0Aop730O98nW73bwpo7e0EaubNzEfzHv0MxDwWCpKUKwALj2+XwA7XaC?= =?us-ascii?Q?UqE8BPeMy5m6n0rT5wLr1UgT+yoQY/vGgHZoF+S8CnkrB2ahV3Y9JMTRh1sH?= =?us-ascii?Q?6ZAsbT3UvV3fg5XFXbvHCeTYuH/yrFFH/R0dgvUEufY/joT6cZT/PRIRofWd?= =?us-ascii?Q?Yd7p+CcPHQ+oP42Tw3kL2v3fubVN3Yjc6kIW91fOd5iQ8RB22LX3v8ZGqvbV?= =?us-ascii?Q?Gu78aY4MlMUCQkxbqC6rCW/nJukeN51EFVmKn8LRzE7vMnUGEvdd3SJpx7DS?= =?us-ascii?Q?jh8FxEq6mqINiIURXVgq3KazF+zuyIf0FyiHVPng8T84omN10clSa2VBonEn?= =?us-ascii?Q?tRD2L07sQxQstOa2q0c33rv16XKiomTQmWw6+zq9XAKzPXdzj0WBazs6hPfY?= =?us-ascii?Q?+5V0hh55XScOB90GotBQa8hMay8WsCMK4InjIiPoAZSmY4I1Bjgv+gOmbOhD?= =?us-ascii?Q?GDrfbeYNTLyKnbo37Fm+sQzS5JfDj2B1rcbbTa5zgeXoe6FG6goSkOffogkN?= =?us-ascii?Q?AdJnuugue4mCDU/aspou2Ws4+JjZcpgpQoEfdovSwGo494OIFcrRgSHp8oCL?= =?us-ascii?Q?C2pt4Sj18GOxqWvDa2BXG4NkOVvtH5pVhZTqRToS9rgMDIKzxFNtEzHsKnur?= =?us-ascii?Q?XnDzBz+oQ2exkJCBX6AB5bWfxGDYThRcCxyam61mUltQEjSsnBjBgugKbboJ?= =?us-ascii?Q?zQ=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: a796b922-f2e8-407d-7507-08daade894a8 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2022 13:32:47.1463 (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: nDnk/s3311Fps8EurdU1VKgVTIIs90gYVeiqw3DcO2c2dsYsKWfgO5rH4n8fB93gxbiA25YfbbdwWrCr1RGyTA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6975 Content-Type: text/plain; charset="utf-8" This reverts commit 517ab13fd55a51e77c1dd39d6023fe568aa250a5. --- net/mptcp/protocol.c | 26 ++++++++++---- net/mptcp/protocol.h | 4 --- net/mptcp/sched.c | 85 -------------------------------------------- 3 files changed, 20 insertions(+), 95 deletions(-) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index d34765db0700..8ad13569cb25 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1406,7 +1406,7 @@ bool mptcp_subflow_active(struct mptcp_subflow_contex= t *subflow) * returns the subflow that will transmit the next DSS * additionally updates the rtx timeout */ -struct sock *mptcp_subflow_get_send(struct mptcp_sock *msk) +static struct sock *mptcp_subflow_get_send(struct mptcp_sock *msk) { struct subflow_send_info send_info[SSK_MODE_MAX]; struct mptcp_subflow_context *subflow; @@ -1417,6 +1417,15 @@ struct sock *mptcp_subflow_get_send(struct mptcp_soc= k *msk) u64 linger_time; long tout =3D 0; =20 + sock_owned_by_me(sk); + + if (__mptcp_check_fallback(msk)) { + if (!msk->first) + return NULL; + return __tcp_can_send(msk->first) && + sk_stream_memory_free(msk->first) ? msk->first : NULL; + } + /* re-use last subflow, if the burst allow that */ if (msk->last_snd && msk->snd_burst > 0 && sk_stream_memory_free(msk->last_snd) && @@ -1547,7 +1556,7 @@ void __mptcp_push_pending(struct sock *sk, unsigned i= nt flags) int ret =3D 0; =20 prev_ssk =3D ssk; - ssk =3D mptcp_sched_get_send(msk); + ssk =3D mptcp_subflow_get_send(msk); =20 /* First check. If the ssk has changed since * the last round, release prev_ssk @@ -1616,7 +1625,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_subflow_get_send(mptcp_sk(sk)); if (!xmit_ssk) goto out; if (xmit_ssk !=3D ssk) { @@ -2193,12 +2202,17 @@ static void mptcp_timeout_timer(struct timer_list *= t) * * A backup subflow is returned only if that is the only kind available. */ -struct sock *mptcp_subflow_get_retrans(struct mptcp_sock *msk) +static struct sock *mptcp_subflow_get_retrans(struct mptcp_sock *msk) { struct sock *backup =3D NULL, *pick =3D NULL; struct mptcp_subflow_context *subflow; int min_stale_count =3D INT_MAX; =20 + sock_owned_by_me((const struct sock *)msk); + + if (__mptcp_check_fallback(msk)) + return NULL; + mptcp_for_each_subflow(msk, subflow) { struct sock *ssk =3D mptcp_subflow_tcp_sock(subflow); =20 @@ -2481,7 +2495,7 @@ static void __mptcp_retrans(struct sock *sk) mptcp_clean_una_wakeup(sk); =20 /* first check ssk: need to kick "stale" logic */ - ssk =3D mptcp_sched_get_retrans(msk); + ssk =3D mptcp_subflow_get_retrans(msk); dfrag =3D mptcp_rtx_head(sk); if (!dfrag) { if (mptcp_data_fin_enabled(msk)) { @@ -3199,7 +3213,7 @@ void __mptcp_check_push(struct sock *sk, struct sock = *ssk) return; =20 if (!sock_owned_by_user(sk)) { - struct sock *xmit_ssk =3D mptcp_sched_get_send(mptcp_sk(sk)); + struct sock *xmit_ssk =3D mptcp_subflow_get_send(mptcp_sk(sk)); =20 if (xmit_ssk =3D=3D ssk) __mptcp_subflow_push_pending(sk, ssk); diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 2358a4083eb3..270c187c9001 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -641,10 +641,6 @@ int mptcp_init_sched(struct mptcp_sock *msk, void mptcp_release_sched(struct mptcp_sock *msk); void mptcp_subflow_set_scheduled(struct mptcp_subflow_context *subflow, bool scheduled); -struct sock *mptcp_subflow_get_send(struct mptcp_sock *msk); -struct sock *mptcp_subflow_get_retrans(struct mptcp_sock *msk); -struct sock *mptcp_sched_get_send(struct mptcp_sock *msk); -struct sock *mptcp_sched_get_retrans(struct mptcp_sock *msk); =20 static inline bool __tcp_can_send(const struct sock *ssk) { diff --git a/net/mptcp/sched.c b/net/mptcp/sched.c index 044c5ec8bbfb..d295b92a5789 100644 --- a/net/mptcp/sched.c +++ b/net/mptcp/sched.c @@ -93,88 +93,3 @@ void mptcp_subflow_set_scheduled(struct mptcp_subflow_co= ntext *subflow, { WRITE_ONCE(subflow->scheduled, scheduled); } - -static int mptcp_sched_data_init(struct mptcp_sock *msk, bool reinject, - struct mptcp_sched_data *data) -{ - struct mptcp_subflow_context *subflow; - int i =3D 0; - - data->reinject =3D reinject; - - mptcp_for_each_subflow(msk, subflow) { - if (i =3D=3D MPTCP_SUBFLOWS_MAX) { - pr_warn_once("too many subflows"); - break; - } - mptcp_subflow_set_scheduled(subflow, false); - data->contexts[i++] =3D subflow; - } - - for (; i < MPTCP_SUBFLOWS_MAX; i++) - data->contexts[i] =3D NULL; - - return 0; -} - -struct sock *mptcp_sched_get_send(struct mptcp_sock *msk) -{ - struct mptcp_sched_data data; - struct sock *ssk =3D NULL; - int i; - - sock_owned_by_me((struct sock *)msk); - - /* the following check is moved out of mptcp_subflow_get_send */ - if (__mptcp_check_fallback(msk)) { - if (!msk->first) - return NULL; - return __tcp_can_send(msk->first) && - sk_stream_memory_free(msk->first) ? msk->first : NULL; - } - - if (!msk->sched) - return mptcp_subflow_get_send(msk); - - mptcp_sched_data_init(msk, false, &data); - msk->sched->get_subflow(msk, &data); - - for (i =3D 0; i < MPTCP_SUBFLOWS_MAX; i++) { - if (data.contexts[i] && READ_ONCE(data.contexts[i]->scheduled)) { - ssk =3D data.contexts[i]->tcp_sock; - msk->last_snd =3D ssk; - break; - } - } - - return ssk; -} - -struct sock *mptcp_sched_get_retrans(struct mptcp_sock *msk) -{ - struct mptcp_sched_data data; - struct sock *ssk =3D NULL; - int i; - - sock_owned_by_me((const struct sock *)msk); - - /* the following check is moved out of mptcp_subflow_get_retrans */ - if (__mptcp_check_fallback(msk)) - return NULL; - - if (!msk->sched) - return mptcp_subflow_get_retrans(msk); - - mptcp_sched_data_init(msk, true, &data); - msk->sched->get_subflow(msk, &data); - - for (i =3D 0; i < MPTCP_SUBFLOWS_MAX; i++) { - if (data.contexts[i] && READ_ONCE(data.contexts[i]->scheduled)) { - ssk =3D data.contexts[i]->tcp_sock; - msk->last_snd =3D ssk; - break; - } - } - - return ssk; -} --=20 2.35.3 From nobody Sat May 4 05:39:15 2024 Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2046.outbound.protection.outlook.com [40.107.105.46]) (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 7CD6A20F8 for ; Fri, 14 Oct 2022 13:33:04 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NsAFQnAJmaBgfR6Pff9fs9Hx5y6hdGuehIBp5ZIQ9vUKJMyFIbpnYIfT6qlvGNQx/TyLvyTOdqllW/Zc7fHRuiugtBVi+g2/++liM66/2+HXtHkZdkvwIzd2Hzp3VOeT9CIhuA9UGJvH68oPCZbxwdZFmbowRvn3k21+Bg814Y2zdzIZNQ4PNv/lTWpvdfLmxV9DzxMZoumWd5MFqhJ38SI5j7jJUaHpUr+hYebAfVjrb0CA/HkLcQP/goWnEygyIqfXVKQjiNpQGOUnr7QlzXb6c3FdZHnNtBLq53p9GHaFIFo57TGvbUVqHxuq7dkY15oCKhXU8kuadIG1BiJDtQ== 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=vIU9CvpQ0IlgjgDAxG9XKwx2SdUSsUTPbSQH/VeLUe0=; b=HedWAnxEcr7sWp4WdeQ327VFsMnmefRBwx+tuCWUn1d+GpG1BHa5ahUp91vCLUQ9A0ap5BAS7JAZt1/fMGXc04r3dWpjAuJPXnHqoi5ZvLhJDzrV6LhPY3WW3neQ7sURon67V/1SEqmFQCLifEwE0LEbP230WsopLs3/vzLDNnhHQldBxq0Z4xflU2yxrj9sWp33UZABsTLiNOFc7l055STHHCTk4Ou32DM8akonHT6bSb7blbifTQQNnKYJX5WkyB2TBO4ui9r/oDOfLldn8jvzZcGylZ3CdyRTcOktdMfos1GA15plY0dnyaJMz15S4kolexEVk+XV/v+EXzZ3Eg== 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=vIU9CvpQ0IlgjgDAxG9XKwx2SdUSsUTPbSQH/VeLUe0=; b=y0wRMU0Fk3G/niBRLOgpw/C4FmP4Gqdv2g2HqbBpR1oqPm8eNUO9l4/P0g1qZYbHqB/UkUDO6crR+ApjCoEu9vqSOBe8ljdIxDqIVam7/IjzlJHub5KTNRRHixh8ufwDNDG2E3YxE0FDVW+gXyZXypwTT+95TEJzOBT7txBqxfUizdLETuVJbhfSeLVS2AsH1fxsmx6CmlNnOywXRLsZf3Gvz1f0VtqOU6a48hP27vKhBauzZwHDjtGuaI18ezQeHmuwLTwyOXMQ7wT+1y9F08eOMoG9DzokDbhdyUZ87aaLtajCMsYTnynqdzW+yF6R+Eue1Xdz5ktGBrQysQVYNw== 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 VI1PR04MB6975.eurprd04.prod.outlook.com (2603:10a6:803:138::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.15; Fri, 14 Oct 2022 13:33:01 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45%7]) with mapi id 15.20.5723.029; Fri, 14 Oct 2022 13:33:01 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v8 02/15] Squash to "mptcp: add struct mptcp_sched_ops" Date: Fri, 14 Oct 2022 21:32:09 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYBP286CA0001.JPNP286.PROD.OUTLOOK.COM (2603:1096:404:ce::13) 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_|VI1PR04MB6975:EE_ X-MS-Office365-Filtering-Correlation-Id: 68aa15b4-1ef6-4561-096b-08daade89d67 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: txtrpSZJsMAwbuc/XUU6nU0nWnxYhHk+TLVmT+mQMVZYpOXA28gG+rsQ7r519vlncS/yD/j8/ZJJcw2q9Cxcxnyd54/sMgvDhcdZdfpVUGzG0aKm+FgvFkJdo8DjlBCyklD/lj+l2nksJEKiv2riLuRqvk7AUcgzV/rA1WR0/BpPwptliocI2PGL92NmuwzZyhY7huGlY7m/3QVyRXIzZCkeYXm6qy7m3/WnCBkzM/NMMnKuAyZfoi4ijbmre1vuCm0xqBYdTFvjJTELqcZsAq8fdAU+Zj91xbF9NgfFPfJVJAzcn5CuG7i2eLaCyBcu1OGEPm6Yr1/Q1CY5Adw5AqGsjvVPxnV9qRGhXlR+GpFcPSA9m8an9Tgn5kSMD7miSFsp/gfhqZ1Hyre8RPftTevbrrz1g8LvBtV/iSe2GQiq8Y4htal1KBOHgVEBDUGr8Rl5xmfbF1Ls2mPhAn80XkkHqA1UmiHNYVgn/9YFM6071s605rleBz+t/C3lNhm2zM9C6eLeI/svxlcyiaeJa8TDrbhDier49qdaqtB9qUxoBHjl8KtQ5zQ7gZllMjUTzePttP6jXoMioEylX5i6p3kDXc3pT/HF17rfTsYh+goAHx06mgfx2nvCQ3MTEt9EhsAEGUBpToNAMIbdZX9Z8uJSVvL38RdLunK5gPatlSFTnmW5anFLykslk/UchbblUUHuWZNDKvSeXND1GRVvzGsPQWPq/791jyswpt+0wndj+Ib842vNBvrSM4LMzfXV 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)(346002)(376002)(366004)(396003)(136003)(39860400002)(451199015)(8676002)(38100700002)(6916009)(316002)(478600001)(36756003)(6486002)(86362001)(83380400001)(44832011)(2906002)(66476007)(66556008)(4326008)(5660300002)(41300700001)(2616005)(6506007)(6512007)(66946007)(26005)(107886003)(8936002)(186003)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?UsJrrcAWKJLdzel9al1vemTl10iJ5Vmzzx2FuyQqpHHI/hahPwJmN34Qac8z?= =?us-ascii?Q?hjpu7GUBcKuYMygmBu/32COJEQn0tyivxbWzDFvtaDAnM+u9dms9mbKS2cxv?= =?us-ascii?Q?Lh/O8dRiU0XOT8lhwazt0+zWlARi0u7biS/BJGoudT2lU40Bxbtf/+kGKJlH?= =?us-ascii?Q?g1Nh+Q/rc5ggUQmNjh9OnVSqtGtWF+KFfnW//5S3/ylECPQ+aHWU1rQuZv2c?= =?us-ascii?Q?Twro53WkFV7b8SZSunyuyxgQzDENRRfBUz4RUWM3FbE72dvghLG0ybJwnemn?= =?us-ascii?Q?8ShBrcVtSlvMOrwMTyVX388ehOgGwdJ3lvV2Z0F74JCSVTwdK85eF7249Ecw?= =?us-ascii?Q?YguUBJoY0GaXAhLy/2cUTEHe6lNaUn1R4LxDl+wNdVmQbfkpaCWA7iDvAdo6?= =?us-ascii?Q?pcyyhKajFvFaI4DzQqaApWc3gv9zl3uDvZgLZzbr7wq+MmHYBPTU9k5e011k?= =?us-ascii?Q?HfgGhr2hc1zC3fyGZUdRODz+1JLvVK9HSSQkBOsWWzV5i1fdtDR0BcbYOTYZ?= =?us-ascii?Q?jscsuXDR64YT4vl0DX4c1CV+ykXmez6OJG7i63T70h5K0CWssrrMjr8VWPm/?= =?us-ascii?Q?15Tfpn3E7rBYodzhWZRJgSql+jA4YbCKfvo8kguI8f6qcxOph2ZO7tUqXLHm?= =?us-ascii?Q?Z17kqhMFA+WmmHPRmHLpKFPWBQvHGg4QfcXCfjmgLSm2YZNp7BUJluSqC0kS?= =?us-ascii?Q?IWHeNehoTF1gnWnOuSHXGIrnQYz8NNjxBH/d5MQMk7qVzO80z0O6Qx2AbJF1?= =?us-ascii?Q?dhzK/H0RX7Y00ZstjSblSgX3/60JBfLWx6G+W4xcvp1pmuNZuovkTbntEX3a?= =?us-ascii?Q?Ju+0V5srfAl+01SG0jsjA5sReBX/teeBjVqSCvbbpi1J3gt4dRmWug68N3iE?= =?us-ascii?Q?QINz5q0nRZbibT1oDth2VguIIrXmwSBJuBuya9CEJMneATCOUPMQND4/8/Qg?= =?us-ascii?Q?BFUNWrZctrsCrItiL6DgeKAxaGI+SODeJJa3Y7A1sxy2iXUxreImKsYDtm0b?= =?us-ascii?Q?VP/Rg4k0L3+WLMlEVsLZt8WLjjEfNy1lnsqyOU+UPPxg1JfXuybi1Nra4NFH?= =?us-ascii?Q?PMZc8GjZhTuEu99XNPBfvltIuU0DlsvPF3+9z5GgPzqlQeTbx57dn0WyeO3R?= =?us-ascii?Q?0bp/5ul0Lp0UWOzitcelmiZica6EBtLU6ipqMJsEPd2wM21SuYaqp9HytAkm?= =?us-ascii?Q?l5oInvyspdnI3eNiW1aYXoy2Wtje0hQq+mhNcNn/6arpz1mLtgF3Bp0mtP7O?= =?us-ascii?Q?7ArbYAy/bXwd4u6+ajwXJHAMJSSeQlZIyGaR7916yqBdc8FCiWKjBVrcWcDo?= =?us-ascii?Q?FqUeRh/oNZau8jUukA8dI7327AyPoUj/HvWaALTc1q+Ettj08td3+i+YjxCZ?= =?us-ascii?Q?TCKaK4YLX9D3u05aTJsbeSI+xiRzu0y3WSsgVhrl1FJazDUVfe22E6QGF3eV?= =?us-ascii?Q?p1LO0kFG0leAX3etihQv4ZS/TVb5C74rXZ97bVHNehYR6drRYmJsnS5qSb18?= =?us-ascii?Q?zOFPEYkRP7dwbmbLnfaLKp4GCVIHyBtpy4gr+7HcECYiBmvU+8qgVEe+uOID?= =?us-ascii?Q?XkjobAEpDdDOyX3AiSD+GmD0I1kePR2/s3z2aTW6dmC4vntl0GAW/4D0FWhY?= =?us-ascii?Q?hA=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 68aa15b4-1ef6-4561-096b-08daade89d67 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2022 13:33:01.2233 (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: VppzpUKQLEQQKRJuImhriDmjvuc3hXrGGQ1htZxclNleqxyDVsftptVizM3g09w6smvzdp5qo1egtUPNXHZdkQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6975 Content-Type: text/plain; charset="utf-8" New api: - add new data_init - add snd_burst in mptcp_sched_data - add an int return value for get_subflow Signed-off-by: Geliang Tang --- include/net/mptcp.h | 7 +++++-- net/mptcp/sched.c | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/include/net/mptcp.h b/include/net/mptcp.h index c25939b2af68..cac5b0d512fd 100644 --- a/include/net/mptcp.h +++ b/include/net/mptcp.h @@ -101,12 +101,15 @@ struct mptcp_out_options { =20 struct mptcp_sched_data { bool reinject; + int snd_burst; struct mptcp_subflow_context *contexts[MPTCP_SUBFLOWS_MAX]; }; =20 struct mptcp_sched_ops { - void (*get_subflow)(const struct mptcp_sock *msk, - struct mptcp_sched_data *data); + void (*data_init)(const struct mptcp_sock *msk, + struct mptcp_sched_data *data); + int (*get_subflow)(const struct mptcp_sock *msk, + struct mptcp_sched_data *data); =20 char name[MPTCP_SCHED_NAME_MAX]; struct module *owner; diff --git a/net/mptcp/sched.c b/net/mptcp/sched.c index d295b92a5789..949663742f14 100644 --- a/net/mptcp/sched.c +++ b/net/mptcp/sched.c @@ -33,7 +33,7 @@ struct mptcp_sched_ops *mptcp_sched_find(const char *name) =20 int mptcp_register_scheduler(struct mptcp_sched_ops *sched) { - if (!sched->get_subflow) + if (!sched->data_init || !sched->get_subflow) return -EINVAL; =20 spin_lock(&mptcp_sched_list_lock); --=20 2.35.3 From nobody Sat May 4 05:39:15 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2064.outbound.protection.outlook.com [40.107.21.64]) (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 EC40220F8 for ; Fri, 14 Oct 2022 13:33:12 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LJndX5Yyj2UkLZ3DV5KZpi84B5lwPSp0id3gK+MP3YTgrQbVVRk9KFLuGn2QRN5yHc7NgONFNbo1oCKhZNOPNExRYTKvSBqLpDonrnZpgYXDREMiIj8rH/JNOsI56nnN0sToOzVoCLg8B4LLbF3EP5ZnJR4+ICmzm3d/k9t66grV0TL5cn4myX1/jXTcNy0/ZbiRBFgKwg42lG3oPrazjgAx3Lvos1pJUVLLjtRVUV+gdc9rzT9CDnEg7WakpEw0KKcZORXXn/DeVpQk+rDWxu57Vfn81YukL35Hb7p3JqKHdgVxvVaYOZg/AFLIsEl8b+Yxm15D5MqMYM31Df+VVw== 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=Y+F09A6rCMFCPzBaYzBQTA2WxoZHKTWh9neBAy3tBHE=; b=D9L3DBw0dvA0azCt32Ib4u0pPK85vuLgxKOzHB0gFZaGmphye140qE8sYyf451uiiPSG8YP6/v/q5yrUBIGBL9DDOKBUlrmVvR4hags0wP/myEFyeUtFb6Mvy+CWGzwYA6BM9kiT0iI2kut9v17dBB4BU1sMvsYG0pSvPKPeIyZkiKK+tVCOZxmAyQQAQFglMUdF3iBlEreZpsqo3xtWy8wLwusBLQ5TL+FwfexapqmMfWdRISb/YtRQjNFCM5m5p0uo7pNv630wTkSIhf4Dwc2OTL7HlwDtXhpz1Iql8Axg1YlCnGXy0cyzRQEN8MzwKpS41pjaJpvnKFxLm0FwoA== 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=Y+F09A6rCMFCPzBaYzBQTA2WxoZHKTWh9neBAy3tBHE=; b=sRpBGrWcUN1jpsHPjRamlH45j7/YIVXG8iASxU7ftDpgYS7lxcj7yr0+fwjSeEN3EC5dbEJ/3ppYAgcQLxgGHvkSZsze2mn3pajp6oDBQyxyHme12BHZMKIp8aQFMtAIWzeI0oY5UPrFG+UWaVI+ZbJOElihmcuFfSO6zLW++dbL7y3qh7+LKlSQbV7UbabzqDPb9YS7aTsIMpNS4SZ11etAl4fmWVXUDmsFNOnjpLo9bFFQ7l8HGIwIur9wmFTmnm0P9brSduMDjMPKNQi+RFYrxcy4rrqCYVgIsCvfcGCWoVs3OR0vzpE8PdJymDtyD+ImyZgbVuMi7YnXdiHixA== 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 VI1PR04MB6975.eurprd04.prod.outlook.com (2603:10a6:803:138::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.15; Fri, 14 Oct 2022 13:33:10 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45%7]) with mapi id 15.20.5723.029; Fri, 14 Oct 2022 13:33:10 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v8 03/15] mptcp: use msk instead of mptcp_sk(sk) Date: Fri, 14 Oct 2022 21:32:10 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TY2PR02CA0048.apcprd02.prod.outlook.com (2603:1096:404:a6::36) 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_|VI1PR04MB6975:EE_ X-MS-Office365-Filtering-Correlation-Id: 61f200f7-e6c7-4995-5ff3-08daade8a2cb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: I+W7olRPKjOS5VHH4f8hljcr/VtUyqTaq48GggUN6nNMlo3wpAhjdGX3NhzDvfkDplbXMIxAOedHnmUC490bpcNnRfNT94WYUN0/hKK466ebXc0eb+hZDwCldkRKGEAdWUCN3AxGLSpCtBiYBT/K+Lu0yBI7LDu5sNJ4hBL3p2+DdQ9fgGEubvCv7S7ylTj4PWtXblOlJDo1E7kPH241prSpLzF5s7ud2TrGBzxUnh0VfxtqazfX86iW46RvsjX7L6oRrh4L/xn87PRX8ydBK40aZTnC1ncCc2XK8AYqyZ5OfePgj/NoME862x6E3TSZcSX8DRg/9kTKKYfMygjRfLHlQAeujKxHQ9unsOrmA9WcLiFLcg/g8i7QAJeA5Aces4K5F7ISaOY1u4G0UpT+eKOk8LE7maubhEDvz+TNgrPiSDbQREep8MNOimkr2Q3UR0zfdV4C8enEUsd02UOYURUsK+abCh4zE2fDpchi5N4LUG5fhYI1qtACmKvcLzqQ0zafQ/FFn/6mm2XDDw+28YEHDwDZgIQHovhCowa6b+uZ44uucLRyoRV1x/WA4EbGe4+0l0QNF0977Wmc/hwbszss+ux7cNcEf7TBKbMyxW4QqbzT4uPxor6FSM2GTjnVMHXagKsJ46/gS3Ptp962btGL+4cmhIqB5o3+qKXDkaW/SkTWNleOGlFFF49v/xyUjzctkuyy1vc0NA+gv2TBuHGk6BjjVbP5hGnyE7/9wPwe4Op2QEJXFzbZizfFmPa8 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)(346002)(376002)(366004)(396003)(136003)(39860400002)(451199015)(8676002)(38100700002)(6916009)(316002)(478600001)(36756003)(6486002)(86362001)(83380400001)(44832011)(2906002)(66476007)(66556008)(4326008)(5660300002)(41300700001)(2616005)(6506007)(6512007)(66946007)(26005)(107886003)(8936002)(186003)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?j7sLvziZKMRDIcNYSv7j83ZBO/ibmeQgTOxrl6g7oW/Z6WuyyoBfFugUqtk2?= =?us-ascii?Q?E9AV8tvjkRZRQ+XQ9D7Wji3OBlQs5AZj0ftTArui/Z4Mcr1vaONs/Oe0Oojb?= =?us-ascii?Q?k7/KtdVMu6xC1aonWCR/ukKyavT1M0Hs9VkPTWAoChgGrM3AtFOd4CnDZ8RO?= =?us-ascii?Q?hwnQO4aLrQLfsUlauTMK5Ms/rnClFOfIy7SouwVRuo4tmHNQ35CY+502/on1?= =?us-ascii?Q?HyW4TBfQFiDEGQVfOeRNAUILp34AFFUv/iSHRU3aXnXhaPIWiv1Oi9F5dcZB?= =?us-ascii?Q?YfF9eIU3o61paNE58U0YXWYK+1IBT5xsoY/AIUqQtesqw3spQXaxR04BOVkJ?= =?us-ascii?Q?KBE3a5o9m6tgxGTlxEDdIU4u8f/AVJXHExYV3AnNvTEAlBGuGQalQooN6SWN?= =?us-ascii?Q?lPFGLNKQKd6eaxOG+RozJFHYGe64fQkluI17U2+vMFA2WajlgJB+FNPy/8JV?= =?us-ascii?Q?3kyOcs09naYW000Su04bhiosImy96iNkNb0BSXo/OOOiTZyHcD7MdHvzN9YM?= =?us-ascii?Q?Law8YUaeVvJtl4MJ1Hz0JxFweUoU6wMZU8DMgM0JYuoxG/heqX8OTGmP8hwY?= =?us-ascii?Q?HUYLwTc7ljlDQlLsXpW9OCDkxCsb37b1ZXktTajLINK/JgH1PZNGrEVPvGlA?= =?us-ascii?Q?oCtzzGN/GJpKHiWyXEIQYTcZXEnxDfZKkhchgB6OQY7wibcUS8eWVs5eJB+z?= =?us-ascii?Q?lvfDL6/ZRbKpfBIEdPh2M+/Rm+NfZSBTsC21t7g9atpkcN3pYwA7boDfZXvt?= =?us-ascii?Q?swMmZi6hqqzib7oZQDBZdFF9j4amGuJ9Eg2priFJFYcNj0CskOpHsxzJn9yM?= =?us-ascii?Q?9VFJQKbrjjPlHVYcxBbidoRXGxXZ+3VyhIkzaLKVRD0r9oOMxFIAtUV8DNY0?= =?us-ascii?Q?vf7DBtdqEznX5vHq3VSOAk10P+upDi0spN1FnnDMZ9lBsE7+Mq8Se0j+NJYE?= =?us-ascii?Q?AHVyEUQRHo9JWEvaTV4xy/gRkDVpx3TknZpECatz1nawG/aoXlmOk0RHpw4r?= =?us-ascii?Q?UaYSMuyRqcfENx+/uzW5HMNSHvEoLV7JMhJOF/OgVH5nZ+IM4XuS9U4LCxAR?= =?us-ascii?Q?1zIc0cnxMAqOFGMkqtoY0q4gts5vD2RzNh7ySIQd36P8Kg7rMSdUavXxBl6w?= =?us-ascii?Q?SvJWinXDywtJvOIlU8IQipIWY8rXu2yMJE+BXbP/aZGrIVnWQdzEU/HONVJO?= =?us-ascii?Q?Gh4Z+kngN7Zv13/MvA1neE1j5rTlkXmJtE0T2uBKUofXwDd7BI/bJYJmWQP/?= =?us-ascii?Q?MrPC48kS4XL3lIMOtosNbZr86Nl9F7hiCsaUcD4QvnrnYxgZublndfki0gZ3?= =?us-ascii?Q?m2sk+dQvb4Owiu2/Pyl66X4okXjpQwUDYyh4y2mA5/apXq7W8ZaprlKbczII?= =?us-ascii?Q?4rnvM6iY1BOIu99lF7VHYDP/UCHnyl4K2/5rzYj22THp214b4rdEohIsC65E?= =?us-ascii?Q?6Is70v9bXv3/HoFFijEuhvtfleX8Cg6h8i1PfzNbbadzgmmSY4JsU4cEN8lm?= =?us-ascii?Q?txpH2U2IGLYmL0LBdN5GlS1zCPKB3ATYafAtU3FT90GFFAr3POgGyfyJWLji?= =?us-ascii?Q?L4LHO9KgdFNusZsO7U7vE38sICjAXwwO04S7ycSUSxoOCdYWeEEJs+NLOXf0?= =?us-ascii?Q?LQ=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 61f200f7-e6c7-4995-5ff3-08daade8a2cb X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2022 13:33:10.3632 (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: jXiQ3+7rO1OB7rXCMbpBxjIToK8wsuDwU6Bgli6yuZBKv4igz9I1fjaFTgxKJh4tvQp3c6Jn9Rd64QcS3AdRmg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6975 Content-Type: text/plain; charset="utf-8" Use msk instead of mptcp_sk(sk) in the functions where the variable "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 8ad13569cb25..989708e85779 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1625,7 +1625,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_subflow_get_send(mptcp_sk(sk)); + xmit_ssk =3D first ? ssk : mptcp_subflow_get_send(msk); if (!xmit_ssk) goto out; if (xmit_ssk !=3D ssk) { @@ -2256,7 +2256,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)) @@ -2938,7 +2938,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) { @@ -2997,8 +2997,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 Sat May 4 05:39:15 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2072.outbound.protection.outlook.com [40.107.21.72]) (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 509FA20F8 for ; Fri, 14 Oct 2022 13:33:23 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P5S8XCYNdKoh2Q7UPLG0bItMGzkUx4XKi4+1ZutWa9PRDQ3aNgBtDOvLSilr+52+MQ3SAOK2bInGyi5OW/F4NLVsjZqdwRaem0hLI0OpqkgND5wKxkEMVsu1+idD/lpsoML6pXhi8U4EDGAE830tXwvreySz7Zbm7aYwJfslBCaVXIgwZGwofNiFcGmhtrty/VKmCKlos90ZurOqxna7F+dX2I4v4BpOHk4fsQPocYJSWWxzfsfkEVQ2wzi485fRDzqPx4exdzh42RxH/DQGnRShH8mqXE/n8F8zYFbvu1sJlHldnpeI9cCH6JGsGGW/9x8/uJ36WgUDMWBHiwnuuA== 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=C5ixfVJ30rpvLembGJ6htiyuEGZ6/7aLsXoqdMEApx0=; b=Pr6hb1o49I1/xx/Mg2lUZWyo9Qm6D61g1nogAQOjL1nWI1QrgXlNtK3vTmHGJfIULAYSriNYQiEABqmV8eLOJ8ggTAEl5gC/odvgG2QPd9BwfHdVjRATOWYaF2tgXBnC28oFpUsFssU5T5dPKpwqOVV8z0dv50OQ8AJ5G1L3kfwEjdpI1RrgD9g25sz/mu43mUqhzBJMX3+3HKns3qo1NR6rIze98Q1qM38zo3oqANSahxQx5FbJfujw9x5ICAkc55u9fc+8OL5LUNQxe95m+6VInDQOab4FvUy/uc7yaezEX/PCrf7aavgIkYTL0mI2wPiw/Ws14DetMEBdKD4uFQ== 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=C5ixfVJ30rpvLembGJ6htiyuEGZ6/7aLsXoqdMEApx0=; b=du5tU9t42CwdILH9Oh7HYs70of7h3BgN9e3/m5o1QZlI4jhQnt9m0+CB44FgFfc7/1s3Z1dpexfsfdvieogd4dxxTjirg8y6YemeQI1tGvvNBmYQ5sqPpF4Ek6ZLwO8NrrKF6nvv4P56FJLnjCr9J7yuSEM56H62O1pzGgqAUX0XWUBYupbY3bqihK4dZpR9GqfT0j8ZmtvJ6n2lg6ko/BUkFueoBziWRf+zcejk4lt3o8VZczYvZnJcWSeP4Jmn+M2/cqy/xZaEHF27rjDi2d/1GDPrqePok06IoKrC2DXlacdv8AIzULiabgzK5mz143ggjI2SM/NIsE1A+vaLjQ== 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 VI1PR04MB6975.eurprd04.prod.outlook.com (2603:10a6:803:138::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.15; Fri, 14 Oct 2022 13:33:20 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45%7]) with mapi id 15.20.5723.029; Fri, 14 Oct 2022 13:33:20 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v8 04/15] mptcp: change 'first' as a parameter Date: Fri, 14 Oct 2022 21:32:11 +0800 Message-Id: <5bf3681d13de5577e2ae7b086a3a4a1ab1797444.1665753926.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TY2PR02CA0041.apcprd02.prod.outlook.com (2603:1096:404:a6::29) 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_|VI1PR04MB6975:EE_ X-MS-Office365-Filtering-Correlation-Id: 9f068c73-c34b-4644-ae78-08daade8a8ab X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4b8lwiUQ8mViga6DiRKaSc0S9JdjXNIFNMk4/TrPuaX30PzEK840aYrz8ibyIClI1IGb7L+crjDEbGiNooR3QBdFWXuQ9UHd6OA6yAbs/+c5G8db0Mp9C4cIIXZI2q0FXzw7GdW7kIoCE3csqu+H2O/WtVLmsGGtO4/uqV1RZyrKDvd1EwNVnCqDXmlvKP5BUjqJWi5DjC3bRs/+/ltZwg+eIwLXP3MK1LfNr7AMksL2t4n7NMI3gCuLEbixyRfe1naW19i/qgL0XpB9cBdxlulJzYJNZjEJEk33+kNWdpV3zwIU7rnY9ELjkDtJKPDppumm2+asYhjVMApthizHxthban78vynVFfHZyPUx5tLi+xAqu8X4qyyaURUPD2UlRxGp5R70HBFMXPBrnKAMMdMmuFLzf826JrOI+uszRB+kN2Z9FE0x+X0LjDNFzVxjQhnNlube8CsvUaSF32hTFAg121VxLAuZmT6xsnDphy8/Lw1lMPxjEZpExosLIz8T9ccHeXQOct6YH5hWE6MadByLqWVQeNwwGkBmkyLE2Ew7rfROSL99HYXGoGei6sVz67lGnG1l8oaipzt9pa01DM78s/5GsGHwjzSiXZg6UTuNKu1ij69OLpqturgn9MUbgQfdEwD+gLwz1tgEHwtCppv+JekhI1P4KSsfw4OwtF7M76ZwCVldWf/ZyGZANbEOQ7SexaKyOuCVyCdTPArNFArIbHNwZuovnlCuVbfo2sThopOQBc1w7zgSH4/XRZHb 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)(346002)(376002)(366004)(396003)(136003)(39860400002)(451199015)(8676002)(38100700002)(6916009)(316002)(478600001)(36756003)(6486002)(86362001)(83380400001)(44832011)(2906002)(66476007)(66556008)(4326008)(5660300002)(41300700001)(2616005)(6506007)(6512007)(66946007)(66899015)(26005)(107886003)(8936002)(6666004)(186003)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?RDQtUkHmgHhqk5JuOHjeziDprLLrGH2NdF1Twb0UeWJiz/uj8ZRGQFJZsJvW?= =?us-ascii?Q?ZrM0cjcQt3m095A6Xgf2uFkW0EUTZpUCQaVhhGwULOderrncjyg67SEv3azq?= =?us-ascii?Q?02ff3P1zQlbtiSdAXLfdC2BnhlIUr/l1iRu2Pih8A01lQ3dThHlPYgGVi/uN?= =?us-ascii?Q?2ZnJlN79lGrFKDIMYvVLuGzbWlAb8rP8Gy9Ywjr03GxRDZhufDqh8h72ReZm?= =?us-ascii?Q?Cn3vJQx1JDysbpGwHD388eIeXVlwFviUp6heoHi4AciYTJ5GCZezQgJw5+No?= =?us-ascii?Q?eovboH8epUIcmzq9rMpTEG9gmlRpr2UT+S+r7xjK1KyVDH4n7acjoQPGiyfj?= =?us-ascii?Q?JlBjxPTHJZIs6RT0Xfhps3WRj80Rv8dX/1WdHHEijfFiUcjHrUmi6qeCaeDE?= =?us-ascii?Q?TFbazbZbwjvRWYOp4leF3Yr28SjKFttSEQnhiBh3TZEFPchKSO0oMgPRpQTF?= =?us-ascii?Q?tMs4Zz9Oan2y7yt3ZZOZ7tYmLKZR6abyUkEngd+g60oD/cqtWvMYhJfhmpjD?= =?us-ascii?Q?PvawIa1kdAgN7UppWXMaw0CiY3W8Ky+QEWIMG+5iBMlSF7LzGXdGjVvHAlvn?= =?us-ascii?Q?0wgbvo/nDBcY3H8gJhg1h+unK5uZ9hhiAll7Li7Ocgc/MxJqPq2YFceM7Apf?= =?us-ascii?Q?a/nCP+mpp2vdE2Y1BgcmeLqYNBlPQVqwZkDlv/50OkVlYMnn1aG2lLNZh+Cp?= =?us-ascii?Q?6SWVdTMpD4Tq2NXT0ewpE09j8OjLyTxi0JJ5C40kD21oAaTtkDsHtHWOPO/y?= =?us-ascii?Q?zfouPFEgxY2KYk9A3HXBaUXvXwyN+IKV7yt84DT/Ku8ZD3kI3U4x7tVYup9z?= =?us-ascii?Q?0wfBMSMQGrJtvAlOP6WUhKlF1SlO8u0uMsCzFIsLPJ5ub30MRZ07yqw6XoKn?= =?us-ascii?Q?bMnXGsTYsJ3HmsxbA8h2YYHD0vY8yYC8UZxRACnJHzzdpaYZu2PnatWkFhxV?= =?us-ascii?Q?VTcVAsFDhXe1wCIME7UJo0hh7BedPSbemUspWQnd+bpd7GKXSmgsZHfrKyED?= =?us-ascii?Q?IfnKMMEbNOUkXMptZ/ZBmwONDYEm9qZ9zmC38aMBQKnbGITVuLt/r2LKsR+m?= =?us-ascii?Q?BgnHUMTXctA2gXOPyzUikOsztUbEnObRS+8quq/sYiVTjjBSicTI5fHoURff?= =?us-ascii?Q?/aPPYhcB5fB8LL5rarP/cV6zF9SbhJQPAXZ3LMnYOUYg5aZ70Gk1Cae8ysV4?= =?us-ascii?Q?zZeZNf+2oBHju6mbNtifAUnDcLZ0TpNFYrCqacVflrZwiph8Dkd7QOt5wzgm?= =?us-ascii?Q?CxxDr2hhvdXMLL5vbkFm9xKQl+tRQekKkQ9+ia2ig17kv6/a387+tP/JBxvV?= =?us-ascii?Q?rpE9jAuBMS71N95BviC9KsZDuWNipmbFHYmHG1V/TsbT+xaiC1ZXSnoiu4pi?= =?us-ascii?Q?n6Oh6VlCIEW9alb9lMLwy3j5p1kCRr/L8qhzAraQdG+9fzolhkLsi1kCKqWk?= =?us-ascii?Q?j/B5EQipdES1KwwDmoOJvEteJFKR4MHt8piJRHXy9YRaNMiBOsC/iUDKBvcy?= =?us-ascii?Q?ECWMp0L1/hX7ZI1+i8/QAyoOe1YbSsdTSHrFUO7K2/1kLiUuRK/ulnZoIiOC?= =?us-ascii?Q?yn8saKyUXkzpi2pXV86oqckgNOsyHb/ZnE/wDGLAyl6WT3+EBweOE+xR/EQn?= =?us-ascii?Q?Bg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9f068c73-c34b-4644-ae78-08daade8a8ab X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2022 13:33:20.4562 (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: viNaBTCjGeM4ENb55QP0gkbfKhNWLYVqVqNqooZw3fzOGqMKzgnCkLfgM4nt43FQGyi2u9gyPNpxbvYzZ2zcKw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6975 Content-Type: text/plain; charset="utf-8" The function mptcp_subflow_process_delegated() uses the input ssk first, while __mptcp_check_push() invokes the packet scheduler first. So this patch adds a new parameter named 'first' for the function __mptcp_subflow_push_pending() to deal with these two cases separately. With this change, the code that invokes the packet scheduler in the function __mptcp_check_push() can be removed, and replaced by invoking __mptcp_subflow_push_pending() directly. Signed-off-by: Geliang Tang --- net/mptcp/protocol.c | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 989708e85779..c807220277e1 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1602,7 +1602,7 @@ void __mptcp_push_pending(struct sock *sk, unsigned i= nt flags) __mptcp_check_send_data_fin(sk); } =20 -static void __mptcp_subflow_push_pending(struct sock *sk, struct sock *ssk) +static void __mptcp_subflow_push_pending(struct sock *sk, struct sock *ssk= , bool first) { struct mptcp_sock *msk =3D mptcp_sk(sk); struct mptcp_sendmsg_info info =3D { @@ -1611,7 +1611,6 @@ 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; =20 info.flags =3D 0; while ((dfrag =3D mptcp_send_head(sk))) { @@ -1621,8 +1620,7 @@ 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 + /* check for a different subflow usage only after * spooling the first chunk of data */ xmit_ssk =3D first ? ssk : mptcp_subflow_get_send(msk); @@ -3212,16 +3210,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_subflow_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, false); + else __set_bit(MPTCP_PUSH_PENDING, &mptcp_sk(sk)->cb_flags); - } } =20 #define MPTCP_FLAGS_PROCESS_CTX_NEED (BIT(MPTCP_PUSH_PENDING) | \ @@ -3312,7 +3304,7 @@ void mptcp_subflow_process_delegated(struct sock *ssk) if (test_bit(MPTCP_DELEGATE_SEND, &subflow->delegated_status)) { mptcp_data_lock(sk); if (!sock_owned_by_user(sk)) - __mptcp_subflow_push_pending(sk, ssk); + __mptcp_subflow_push_pending(sk, ssk, true); else __set_bit(MPTCP_PUSH_PENDING, &mptcp_sk(sk)->cb_flags); mptcp_data_unlock(sk); --=20 2.35.3 From nobody Sat May 4 05:39:15 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2072.outbound.protection.outlook.com [40.107.21.72]) (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 367D220F8 for ; Fri, 14 Oct 2022 13:33:32 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VGS2MxnbmBPvSqWCPEy3Ac2+mo1V5SvqLNt3EV65EzAC+w3DlnFWHqVtMDNoJgkjZcdeJHkTwW3dF+ppWhDt+8Dp6cX/q0lpzusO/xfELihIi32XOF+yt8nIJIcv+RXPtnkUXERhfFd3Zu3dxpxrnLAcMHJx1aQvx0QFHvOg0LU+YSXYDtKg2hZUZQA8mi3xbdNUti/RgfAu9wGwyD6I0kG1h5gUN6r7AIrOPhzu4loevRbGvQ0RDj1WO1C8Tkvuedg34hvJK3LhFSG9N9NOjJxhWE+nyHvfmJhwmfxZolqckqzLkP/FyUDCmceyjjgpbZgk2MtMZOh1V464NmCgDQ== 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=R6vNB8UECY9SfUrvBcJPfjR5dkMmJID/PpokV5uKAqc=; b=N/Rt+DnNXvJByUecp6ZlXAPMisqtURFI6cQXjJMYt/qULMzWL3hsVvybwHYhZfjPKD/YBPXyPKF2VL+zfSUZqd1SLuwscYT1K/IOZuVyME/1tPAoATDjXFeXi3A1tNPC0hn1eLM9sZ/dl1OijWILFzv+1LIP3DYhR5OtBNhKhvYYGAD/qDbuURPF7av6xvbn+fna5jKis6YOZi1RwWWdxpSJBr68LOg8HjG1i2Yz8eRFU1FSNWclduVv7qKwWitOA/TCbMw1bQmnUA2+iIxDci/ghh2goMCzqXeSm6RiunyMnMFYCuw2yUAaJI3EdgaFM+1+Yx5uoxNmYfSsSi/+pg== 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=R6vNB8UECY9SfUrvBcJPfjR5dkMmJID/PpokV5uKAqc=; b=BdS7MlhB9rWZx5kaiNqSJDjcoCs4+3olE9z0Rh8LsDptlfARCaweHEMJZutjCjoLrngl3KXMq12udV1E307V62Y1TgM+JSx31qhoYlEACZvuifsfsHeLx8YYreMZB3AG7+kP5/UaaiLl2+XSoi8z8Kin1shvSpwY+cA20jWR58fJhdQkdMaL3k1177wyqdVImvALkd1e+ffcHPburbqeo8/x/kx8kiB2jG8SA8Y9frlWXnttOoDm8sMKRaYlJxX05VUaArtMSPOoFmxD7y4PQ2dHsSEqhf9rHo7QZFCdqSzmkqM7XWdHCr/MOBnZlunifpPoE56g86x4kjUKIpariQ== 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 VI1PR04MB6975.eurprd04.prod.outlook.com (2603:10a6:803:138::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.15; Fri, 14 Oct 2022 13:33:29 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45%7]) with mapi id 15.20.5723.029; Fri, 14 Oct 2022 13:33:29 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v8 05/15] mptcp: drop snd_burst in mptcp_sock Date: Fri, 14 Oct 2022 21:32:12 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCPR01CA0142.jpnprd01.prod.outlook.com (2603:1096:400:2b7::11) 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_|VI1PR04MB6975:EE_ X-MS-Office365-Filtering-Correlation-Id: faf16270-5622-499e-2c09-08daade8ae17 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QzIUxqotUrkwDyz7azIZJC204EDFVdfaB74xIvRwRowDu4AnOLTtvWd7PLk0qeBVjKyTSH8jjGWpYFfz2BZnH/NP4zoeSfBcayHYHsBiYjXItR/mjCQfellE5dU/nfUBe8jrtqX7DZDDt1tgr7yNkgtucifSwGcIzd7V/CmWvSka3GAKXvnpC6GWNntjY2iz2wg7GFbVKDofemoMxJy/Rm7E/Ep/4K9j6tj0Bg0C4FMBXfIIPIZmK87ubVPgdSFXNg7O9Fsjjbq9gopQGRFUqUvDluPZTa7TMiWLfOMV5K3PFIZbhlAO888XCfRH5VU84yg06aA1jG7oHCrAxRsxht3mEGzO0cbO5Y2huSOFIL12TILexbXepp+5CEJpkE/W29hpM6i9NQm/LvBcb6Ms6+VhNOPN4ZgNNEl4DmugiVtKLvWT3Z49ytiPMbvQn/NztQGoTToWY9Mc1tJXCM7ncX4nK0brMKnUYyGp9+l2KGnCJNhhnBWej3iz8xCHvWOI77+We1atlzDoAwpm1gQkTO+BTeRm9721GMD7GIZT4NcqPHd2H0LssgG0RXoz3PAe4cChHZehChO2qpqkQ6Q37AgjK+HnmNp7NONTfaem91kMXR+8MtwmPGambvwLBPrv+wcdEYO7pr/snddkmY1kERmBpvX6V6Nn6LbNUsxp2nfoK8CmFMyIRsbZlti4dqF3oa1vqJ2jqgTiaTyAmp6iBt7W3EFVdkL+dJxTVcuJyi9IzgjYHcfWztj84FLFFBYm 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)(346002)(376002)(366004)(396003)(136003)(39860400002)(451199015)(8676002)(38100700002)(6916009)(316002)(478600001)(36756003)(6486002)(86362001)(83380400001)(44832011)(2906002)(66476007)(66556008)(4326008)(5660300002)(41300700001)(2616005)(6506007)(6512007)(66946007)(26005)(107886003)(8936002)(6666004)(186003)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Wyb2HK74pg1rOcwi+lsk/iLMdrm8heBkIwFh8LgGvOQy3qmt7Oc6cjKT83QC?= =?us-ascii?Q?iYG6YKesAtyZsdrVK6BGuT6CdiTcEPDgQVxnpk8/Tr6AAD6bn5Jr0LTVJE4G?= =?us-ascii?Q?uOZ+URFNTRcXCeZKrvolMIBuAuu7Is8iVfTapA7lLl/t+fWLIq6BE+6UTZQx?= =?us-ascii?Q?sDWqr4nZ6jF6IHPXSe/TOe/0A3LDXUh6WMIHdMXi3KrF5eU/AjbopxQBbXSj?= =?us-ascii?Q?dIRSq4F3RS6B40GdzZ2/wLyoA8npITuwlcCV8MRFSYA/VHLGRJJ5PIIG2zuZ?= =?us-ascii?Q?v1buFLqBiNqgiSCiyU7ZKqkfsQj6G82Pzw8q4o8hVeMkumMueiBU/yZOj8fG?= =?us-ascii?Q?ns5AIYimm96kFSC6FLGx1FWQwyNeaU5sl1Yzpc6rpQbxTMJT0e7Hsh1zKVrK?= =?us-ascii?Q?ZfJ1liynh/8E5gbkQbw0ftKXcRzqYfIogoohFYAAOvClanVIOt14sQt61oS0?= =?us-ascii?Q?SUymTPECX7MckhKr/w68H36qEnfn/BgW5TDRV+H6q/3lHPSpVQBRm/Zv8sIz?= =?us-ascii?Q?par4UhXCcWEpFByEGlVtEhsRMVTPBOazc6RTGpARWbUnAII8aMsGX0aSGbhj?= =?us-ascii?Q?5jAChAjr3FaQxCVvFFaurFcQrKpiIVjiuKSi/+x3DWsA0V6tdLIwobqv7Snt?= =?us-ascii?Q?AlTg4XlXXY297v9BT0/VGb/mI2VgOdx96+py7SlzTep6ZuqOuRoiIh3g/t4N?= =?us-ascii?Q?RucpQaYFY3E4oJTwINXgewqc07ng/r+MtaNmMmFwQ/K1872uNGKEeRXRbWpA?= =?us-ascii?Q?GBN4jE7duY1GWBBTvpa5BLazk4TWhQeVhKnkeyW1l81bAHpc5/pCDn7imfhf?= =?us-ascii?Q?p7zu+MJZ8SnQ1VseRGaRydImkp+p/m/7sOMTj8pP23E1fZ+q+Yw4UyidLH0k?= =?us-ascii?Q?njyPSykhHdyzqcTqnns4F4WexccgChAJUrxiFzRap2ybdCwcbFWjs1VzYr0S?= =?us-ascii?Q?3BPSut1jDpOoq0wlF8DkTcMQNDLnarsGj/+jjOjfp3VZGByByNn8Xzqy4WX7?= =?us-ascii?Q?4uwW0biStXQPBsGPl6tLgkrYz4T/q321KsyiiOcGnFGSoLEwEsuGk/4TbGfb?= =?us-ascii?Q?+bpZFB/jB3JsXhrjJvYBlP0gFc0unFh16Vgb2EShGssBbY2doDpiioCctWGy?= =?us-ascii?Q?Pa16rlKRQBHDXNaUBqYoNY9JSiDASljVo4Vd5QrOUe/j6zwW1InjjGatb//x?= =?us-ascii?Q?OFnf5zm8ziEHuIVeagw4r0gOJze4olxt1WeZvKPG9OlXG3VL3LHbBpQDRqlG?= =?us-ascii?Q?UmX91791s0jAm2rOL9dGycXArSD06jW+9QKsCw+ow1PxcEvKIp0cbs6eQegU?= =?us-ascii?Q?dxd6G9j1UdZYhxixetwc30sQJJv1zY1XibDievs8XiYBAR86Fcv5HZBIH2Ms?= =?us-ascii?Q?3CHkHQyX7X+Md68Pn/ncUsUp3MmupRoGXMmrBKPUNcuBrne4jVeojaWlGQJp?= =?us-ascii?Q?WgZCYuYX7Z768Vt4isfvz4ko2Ad1GlzYwpIrBF+iD7aRof9kVrynRsZFf7sK?= =?us-ascii?Q?TLs52HIA9ns+aWaGdFeuO6UUe211oAl+kRssxyUjBUORGo8qqYlehCWEphSO?= =?us-ascii?Q?hbnsZQRMS6gdv0RIQoW3M2evyyD0/Jfg0d1Dj4kYEyQwyXhVEHmUruUZZEk9?= =?us-ascii?Q?Aw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: faf16270-5622-499e-2c09-08daade8ae17 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2022 13:33:29.4868 (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: SINRgOLvORoS5PQ+SOse/bpp1gyQbdRm+kjFs+FTvjIrKaTUmvX+rmpFjoTbvk1wXL/DVjNQnsETXjH3tIeq3Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6975 Content-Type: text/plain; charset="utf-8" Drop snd_burst of struct mptcp_sock, use data->snd_burst instead of msk->snd_burst. Signed-off-by: Geliang Tang --- net/mptcp/protocol.c | 18 ++++++++++-------- net/mptcp/protocol.h | 1 - 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index c807220277e1..e95a49e5bc89 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1406,7 +1406,8 @@ bool mptcp_subflow_active(struct mptcp_subflow_contex= t *subflow) * returns the subflow that will transmit the next DSS * additionally updates the rtx timeout */ -static struct sock *mptcp_subflow_get_send(struct mptcp_sock *msk) +static struct sock *mptcp_subflow_get_send(struct mptcp_sock *msk, + struct mptcp_sched_data *data) { struct subflow_send_info send_info[SSK_MODE_MAX]; struct mptcp_subflow_context *subflow; @@ -1427,7 +1428,7 @@ static struct sock *mptcp_subflow_get_send(struct mpt= cp_sock *msk) } =20 /* re-use last subflow, if the burst allow that */ - if (msk->last_snd && msk->snd_burst > 0 && + if (msk->last_snd && data->snd_burst > 0 && sk_stream_memory_free(msk->last_snd) && mptcp_subflow_active(mptcp_subflow_ctx(msk->last_snd))) { mptcp_set_timeout(sk); @@ -1496,7 +1497,7 @@ static struct sock *mptcp_subflow_get_send(struct mpt= cp_sock *msk) READ_ONCE(ssk->sk_pacing_rate) * burst, burst + wmem); msk->last_snd =3D ssk; - msk->snd_burst =3D burst; + data->snd_burst =3D burst; return ssk; } =20 @@ -1514,8 +1515,6 @@ static void mptcp_update_post_push(struct mptcp_sock = *msk, =20 dfrag->already_sent +=3D sent; =20 - msk->snd_burst -=3D sent; - snd_nxt_new +=3D dfrag->already_sent; =20 /* snd_nxt_new can be smaller than snd_nxt in case mptcp @@ -1541,6 +1540,7 @@ void __mptcp_push_pending(struct sock *sk, unsigned i= nt flags) { struct sock *prev_ssk =3D NULL, *ssk =3D NULL; struct mptcp_sock *msk =3D mptcp_sk(sk); + struct mptcp_sched_data data =3D { 0 }; struct mptcp_sendmsg_info info =3D { .flags =3D flags, }; @@ -1556,7 +1556,7 @@ void __mptcp_push_pending(struct sock *sk, unsigned i= nt flags) int ret =3D 0; =20 prev_ssk =3D ssk; - ssk =3D mptcp_subflow_get_send(msk); + ssk =3D mptcp_subflow_get_send(msk, &data); =20 /* First check. If the ssk has changed since * the last round, release prev_ssk @@ -1584,6 +1584,7 @@ void __mptcp_push_pending(struct sock *sk, unsigned i= nt flags) do_check_data_fin =3D true; info.sent +=3D ret; len -=3D ret; + data.snd_burst -=3D ret; =20 mptcp_update_post_push(msk, dfrag, ret); } @@ -1605,6 +1606,7 @@ void __mptcp_push_pending(struct sock *sk, unsigned i= nt flags) static void __mptcp_subflow_push_pending(struct sock *sk, struct sock *ssk= , bool first) { struct mptcp_sock *msk =3D mptcp_sk(sk); + struct mptcp_sched_data data =3D { 0 }; struct mptcp_sendmsg_info info =3D { .data_lock_held =3D true, }; @@ -1623,7 +1625,7 @@ static void __mptcp_subflow_push_pending(struct sock = *sk, struct sock *ssk, bool /* check for a different subflow usage only after * spooling the first chunk of data */ - xmit_ssk =3D first ? ssk : mptcp_subflow_get_send(msk); + xmit_ssk =3D first ? ssk : mptcp_subflow_get_send(msk, &data); if (!xmit_ssk) goto out; if (xmit_ssk !=3D ssk) { @@ -1639,6 +1641,7 @@ static void __mptcp_subflow_push_pending(struct sock = *sk, struct sock *ssk, bool info.sent +=3D ret; copied +=3D ret; len -=3D ret; + data.snd_burst -=3D ret; first =3D false; =20 mptcp_update_post_push(msk, dfrag, ret); @@ -2277,7 +2280,6 @@ bool __mptcp_retransmit_pending_data(struct sock *sk) mptcp_data_unlock(sk); =20 msk->first_pending =3D rtx_head; - msk->snd_burst =3D 0; =20 /* be sure to clear the "sent status" on all re-injected fragments */ list_for_each_entry(cur, &msk->rtx_queue, list) { diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 270c187c9001..b731e7b37f5a 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -259,7 +259,6 @@ struct mptcp_sock { u64 rcv_data_fin_seq; int rmem_fwd_alloc; struct sock *last_snd; - int snd_burst; int old_wspace; u64 recovery_snd_nxt; /* in recovery mode accept up to this seq; * recovery related fields are under data_lock --=20 2.35.3 From nobody Sat May 4 05:39:15 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2080.outbound.protection.outlook.com [40.107.21.80]) (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 EEC7A20F8 for ; Fri, 14 Oct 2022 13:33:40 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eeonwzFsRgewjR7Hso7BR9RmZSRtEfyMZ7FNumUHrNHZSxZ305CGP+TLy+9MpyrfP6MuMQGfcsiSjEB/L/QHmsLSppla+AwYpGAndZDxHzfjZJavOKH9GPJ7Mh7668XtwzodghiGs1MNOd06cQJ4gGb59dy6XFSNBACSIzprFGIKOKinY+un6oxEr2N9n95AwEKKyBMMASD5eB6BHbLnFSi81PNmPx0CTe/LcpkKVk+T0Vz9SMgOtME4LlKvgCgXUzEbXI9QnhstVxqz9JlKU2//RV9jxEK3Vv4xmbumiGzY6rV6cNuo8XvL468qpxnV4PVXPK1MYbh1B1AmoSuU/Q== 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=H//fhqCYpo2QBEM6CZIPzx844d9roZonsUtnhx4ZJrE=; b=P6EpCCWKCh0sJMUc5ljTiwOVgl5utfbysb0JPauv1/3376u+tO0eZUqGck02UpETXrerr/IjMDNBa2ezA1BtGYjt03OnM3aWVlu6wwggUcbCH5HZ0JL+9GjIo4oyy1SKlCIVCCrPXwyxbp7kfEVtzrzMU9Ge1J6KDosVOzPGiPj/HSW+BjlQVQWGmvIG+C64P0+kgpFCKdCwR8O4NHj6fBN6q91jnZPnveUKjIjvd/50xZ5d88nDc+VwvxSwLaiSeCYcu3eFTJT4i8E7XM5w/wL5ueNy0PwG4uqxKZ5OyNOmxbEg+xoDfHNdEd1EBb85POCdF0q7VZyAmyuuvPr89g== 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=H//fhqCYpo2QBEM6CZIPzx844d9roZonsUtnhx4ZJrE=; b=GZGZaM1YYfnkAlpDXI/yWnjDrio5wOiUbqPGlMCOaxcK1p4LJDqqVa8mhpOzM4KBTsv8ZznZDmhHs7I30kdSiqgkh+BqtC4kR8h/ToqaXvIFILwxh/cbZl6+PMgbp29tBSZ/KhZ1+KKJqBhtrAo8u43WVy3Q/GYUbysPTiMFe6yAGieq5J4L4hygR3iOIzrLafJ3Gx3Z680vAIhW3pfZxwTjAf1ILPa1U9OfxJlB5d0cHyEV4dJhvvcQkjdMqnuHi55A2IpjIw7qOw6Kq4QJoC+S9rC3HE+i9y4RIU54k3won/RPwoIMy2ANNCsdNPORQJZAuo4U0Lg5I2Bam7eFTQ== 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 VI1PR04MB6975.eurprd04.prod.outlook.com (2603:10a6:803:138::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.15; Fri, 14 Oct 2022 13:33:38 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45%7]) with mapi id 15.20.5723.029; Fri, 14 Oct 2022 13:33:38 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v8 06/15] mptcp: refactor push_pending logic Date: Fri, 14 Oct 2022 21:32:13 +0800 Message-Id: <6536ea94e85d6a35da64268649b78fc82256bcce.1665753926.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCPR01CA0137.jpnprd01.prod.outlook.com (2603:1096:400:2b7::13) 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_|VI1PR04MB6975:EE_ X-MS-Office365-Filtering-Correlation-Id: d7cac847-3d70-4fb6-aba9-08daade8b363 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WkmbvC4CQ8CkjEvUKcPfPJ/tl+P6QaF/mLym8ENe+V0Q3rkeKU97mRVuNxqNvfzCjowVk5KC/933943A18wLQPTe7ExDRKbuEqBhaPZG3b9c7Kjg9IwJfF8k3Yw5FOveCqmZyxhHtg+dWzn/NELf0a+im0P+BGakYBdocWQPQho7Yn5Dc0NdIQwZZsvScOONuhC4olaRj3oh/aTuzrxC6p364n99s77DERFz4ZuO5WnaXhw/kU5FjC52T7M+CtwTmWi55EyE7Oshva/0RkJ0vFk5/ClAVRCpVPwfkT9UhpP0zqVUl0J4OYeUwGzRaZOIRaPWyTVtxGsnArk5DPdh5bzvosrBiWdl6hefmZAWxhDGwUj2ZAtNW+4AZWOgwhZlgpe4YfE4rxt5BwjNEviy/FKHy/Z9GQ/yUq7ELVMor8cKBb5Exfktv4ANddhn2QtC1c2tJ80fKLb1q+GwJfZOSKaV8wuxmRVwz05AUCQHgzJEOijfa0Os0UfE5pAtQS5IYZv4qf6dZEt14AN0zLqQ7lxKSCLMRzfx054RcXUTgkZ4HNmY4XOdYlzQYQWg0tTgxkBIDeVd+jAISsCFL/bd23trRvyc6js9X2QBcQX45aSomqEaXV0Kt5b7+NW967VYTczCaDI4DR2HvAyf3I89pLx+Ul4aVF2I3VeJQMLxUd7Pqt9gVPrChdIqyJfA2km9CUYPQgkOhsrMiFv8NXLQ6DzK2iE0Eb3ix7tn261l0y69j/RJoNfdCnq++F4gkEGP 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)(346002)(376002)(366004)(396003)(136003)(39860400002)(451199015)(8676002)(38100700002)(6916009)(316002)(478600001)(36756003)(6486002)(86362001)(83380400001)(44832011)(2906002)(66476007)(66556008)(4326008)(5660300002)(41300700001)(2616005)(6506007)(6512007)(66946007)(26005)(107886003)(8936002)(6666004)(186003)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0aTGlOQUTki4NIIImek6wuh5saPuK3uxETB76oTFftAlPlbrbRCPR5zikysF?= =?us-ascii?Q?GieKjI8Dfi0anWKMuePVRSCqIIOtfdJn5f1373Im6XoCDv+EOwR7rmziu3E9?= =?us-ascii?Q?/kHOb7jup5dDzBC6RKHZZ4qr3T+ztSwV/PJCwsj5IAWtNH78o/g1jp5YS2R+?= =?us-ascii?Q?ZJCLG6Hr7XtUEiuLkoiMMmmiytpv5f4TOGMzrUrW3hxrc7dXtEEmRphNsJPq?= =?us-ascii?Q?TevesWjKdh2dsErsniHlBNGdBagkLxlrsTafOunjHEB8EBwaOb9hHWwf5vsr?= =?us-ascii?Q?nLdNa398GVClebHGIGtR4XI4l4340EQsXGg+/3fa93UV9NWOIeLk5JRCySZg?= =?us-ascii?Q?SQUiexh5eJEs5fVJaZY4QTRoi/Oqpv2LmCDxYenVWdh8xPb1VbsTyjXaui1D?= =?us-ascii?Q?wipI43aNkqNOLVsKsE9ZQqqbVZvGMFwTLeuDmlkmUEjD/lmFI7DV5P0m2l+v?= =?us-ascii?Q?GO8KYnZZ2vAaktTrhbzq0PUU2VBKL/6JELn7r+am6F+AN9SBJGnmlcUQRjyW?= =?us-ascii?Q?pUpErBwxOloRC2ri+tysLTgGksTdBjilaiHLBKXKwAkwKaWfX8m+rL4CbuM+?= =?us-ascii?Q?FcVYH4D/VX3/frmBz/pTaWVT0VqtbXWpzgb9M2DLSRfC/u8emFJf6X4qaC97?= =?us-ascii?Q?EX8n1T1RGt//+hZsCCptf/gMGHj0beLcjwfsgEfgUCtGa+d76jkNiMb8jqvi?= =?us-ascii?Q?LZY7/3ivKNFqaZSvU7sfx443YriKm5XMv7Kv4R9dg7DekhsUJgDxgVO+BMzu?= =?us-ascii?Q?AP/tNNPwGyQXZRvVC/6ln9axG2s4qCL7h0ujcB0O2RCRLL6i6rIV8rBLlUNp?= =?us-ascii?Q?F80PwGlKv8E7iMKLOJ/U+nzqtuoGKNZ4BTg+m1Zca62BkIvhTi2E+njXqV6U?= =?us-ascii?Q?2i8VzndNY4wYKzkMDc4bTY4JwCsuU9HWIx22apJNwYHXbCAVj9d+xkDsCYRW?= =?us-ascii?Q?2WgLB2Ywo5zd5CcaqbxKaNipz7wtEO6cPRxAIapzKCeV0gp2TIarUBZ+evGm?= =?us-ascii?Q?WOroQlJwmRMLDitdaw8JkRXlhIDV4h8aZfbH6FXduxxcIiq/TZVgccLCVNHa?= =?us-ascii?Q?du2+8jLmZ84BVZhSqF6OQ7wje1TO+96RDheeb7pkH0nDKmz0Sl0C6vAWq7TV?= =?us-ascii?Q?k8tB0u7a0UG2h3Gc6jFQ96Ci+9V47fJLeKzGWj1gungmaY+IxdrMpnOsCQmn?= =?us-ascii?Q?xhVcJNvCpol52dLkq3iQ6AeVc8nZ2ANljagqY7U4afCqw3mT9lGCfnwRcDse?= =?us-ascii?Q?gmfqFqnfYWWPr5sl/pHKMMGH5UgDWloEIsQPfogKtxL1SNp3WNo8BCfZHxSm?= =?us-ascii?Q?iq5GV1iTSNrsMjM1EDwYBA2f/w10HlOydc+bb1CCCE2ubw540apOzIoGUfmf?= =?us-ascii?Q?IAEAI0L70hpq7TluFRr4J0OoBj76rZg360IBY4dHsp62X9qmjXJqykCU0svT?= =?us-ascii?Q?bHh/PDRwF+RgiQwXw/zs9PMk+Rt5cDvWltCL/rQBR8HVK2Uno8qwqcpDwjEo?= =?us-ascii?Q?trxXPiUl5HxqwkWX9n9g3Ga1pTc7d/g7vU/iXEfFoj8Hw2YtCybcmgP5YPTP?= =?us-ascii?Q?E2UJy/mG9xbgS3JRmeFYkQJZcruCJXDsSM393/Tg8ZpjcDS6u60zwRGmULT1?= =?us-ascii?Q?gw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: d7cac847-3d70-4fb6-aba9-08daade8b363 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2022 13:33:38.3455 (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: QXHITxQ+1vMe2CXcUyrb8KX6X0/4lXw83h8xqXsWlkNbxhsC/T0BIRxunONE/9FdP1xNOgyYy8ui4Pd+7VINCQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6975 Content-Type: text/plain; charset="utf-8" To support redundant package schedulers more easily, this patch refactors __mptcp_push_pending() logic from: For each dfrag: While sends succeed: Call the scheduler (selects subflow and msk->snd_burst) Update subflow locks (push/release/acquire as needed) Send the dfrag data with mptcp_sendmsg_frag() Update already_sent, snd_nxt, snd_burst Update msk->first_pending Push/release on final subflow -> While the scheduler selects one subflow: Lock the subflow For each pending dfrag: While sends succeed: Send the dfrag data with mptcp_sendmsg_frag() Update already_sent, snd_nxt, snd_burst Update msk->first_pending Break if required by msk->snd_burst / etc Push and release the subflow Refactors __mptcp_subflow_push_pending logic from: For each dfrag: While sends succeed: Call the scheduler (selects subflow and msk->snd_burst) Send the dfrag data with mptcp_subflow_delegate(), break Send the dfrag data with mptcp_sendmsg_frag() Update dfrag->already_sent, msk->snd_nxt, msk->snd_burst Update msk->first_pending -> While first_pending isn't empty: Call the scheduler (selects subflow and msk->snd_burst) Send the dfrag data with mptcp_subflow_delegate(), break Send the dfrag data with mptcp_sendmsg_frag() For each pending dfrag: While sends succeed: Send the dfrag data with mptcp_sendmsg_frag() Update already_sent, snd_nxt, snd_burst Update msk->first_pending Break if required by msk->snd_burst / etc Move the duplicate code from __mptcp_push_pending() and __mptcp_subflow_push_pending() into a new helper function, named __subflow_push_pending(). Simplify __mptcp_push_pending() and __mptcp_subflow_push_pending() by invoking this helper. Also move the burst check conditions out of the function mptcp_subflow_get_send(), check them in __mptcp_push_pending() and __mptcp_subflow_push_pending() in the inner "for each pending dfrag" loop. Signed-off-by: Geliang Tang --- net/mptcp/protocol.c | 160 +++++++++++++++++++------------------------ 1 file changed, 72 insertions(+), 88 deletions(-) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index e95a49e5bc89..c3a4e0148c4a 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1427,14 +1427,6 @@ static struct sock *mptcp_subflow_get_send(struct mp= tcp_sock *msk, sk_stream_memory_free(msk->first) ? msk->first : NULL; } =20 - /* re-use last subflow, if the burst allow that */ - if (msk->last_snd && data->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; @@ -1501,12 +1493,6 @@ static struct sock *mptcp_subflow_get_send(struct mp= tcp_sock *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) @@ -1536,70 +1522,83 @@ void mptcp_check_and_set_pending(struct sock *sk) mptcp_sk(sk)->push_pending |=3D BIT(MPTCP_PUSH_PENDING); } =20 -void __mptcp_push_pending(struct sock *sk, unsigned int flags) +static int __subflow_push_pending(struct sock *sk, struct sock *ssk, + struct mptcp_sendmsg_info *info, + struct mptcp_sched_data *data) { - struct sock *prev_ssk =3D NULL, *ssk =3D NULL; struct mptcp_sock *msk =3D mptcp_sk(sk); - struct mptcp_sched_data data =3D { 0 }; - struct mptcp_sendmsg_info info =3D { - .flags =3D flags, - }; - bool do_check_data_fin =3D false; struct mptcp_data_frag *dfrag; - int len; + int len, copied =3D 0, err =3D 0; =20 while ((dfrag =3D mptcp_send_head(sk))) { - info.sent =3D dfrag->already_sent; - info.limit =3D dfrag->data_len; + 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; =20 - prev_ssk =3D ssk; - ssk =3D mptcp_subflow_get_send(msk, &data); - - /* 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); - - ret =3D mptcp_sendmsg_frag(sk, ssk, dfrag, &info); + ret =3D mptcp_sendmsg_frag(sk, ssk, dfrag, info); if (ret <=3D 0) { - if (ret =3D=3D -EAGAIN) - continue; - mptcp_push_release(ssk, &info); + err =3D copied ? : ret; goto out; } =20 - do_check_data_fin =3D true; - info.sent +=3D ret; + info->sent +=3D ret; + copied +=3D ret; len -=3D ret; - data.snd_burst -=3D ret; + data->snd_burst -=3D ret; =20 mptcp_update_post_push(msk, dfrag, ret); } WRITE_ONCE(msk->first_pending, mptcp_send_next(sk)); + + if (data->snd_burst <=3D 0 || + !sk_stream_memory_free(ssk) || + !mptcp_subflow_active(mptcp_subflow_ctx(ssk))) { + err =3D copied ? : -EAGAIN; + goto out; + } + mptcp_set_timeout(sk); + } + err =3D copied; + +out: + if (copied) { + tcp_push(ssk, 0, info->mss_now, tcp_sk(ssk)->nonagle, + info->size_goal); } =20 - /* at this point we held the socket lock for the last subflow we used */ - if (ssk) - mptcp_push_release(ssk, &info); + return err; +} + +void __mptcp_push_pending(struct sock *sk, unsigned int flags) +{ + struct mptcp_sock *msk =3D mptcp_sk(sk); + struct mptcp_sched_data data =3D { 0 }; + struct mptcp_sendmsg_info info =3D { + .flags =3D flags, + }; + struct sock *ssk; + int ret =3D 0; + +again: + while (mptcp_send_head(sk) && (ssk =3D mptcp_subflow_get_send(msk, &data)= )) { + lock_sock(ssk); + ret =3D __subflow_push_pending(sk, ssk, &info, &data); + release_sock(ssk); + + if (ret <=3D 0) { + if (ret =3D=3D -EAGAIN) + goto again; + goto out; + } + } =20 out: /* ensure the rtx timer is running */ if (!mptcp_timer_pending(sk)) mptcp_reset_timer(sk); - if (do_check_data_fin) + if (ret > 0) __mptcp_check_send_data_fin(sk); } =20 @@ -1610,52 +1609,37 @@ static void __mptcp_subflow_push_pending(struct soc= k *sk, struct sock *ssk, bool 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 ret =3D 0; =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; - - /* check for a different subflow usage only after - * spooling the first chunk of data - */ - xmit_ssk =3D first ? ssk : mptcp_subflow_get_send(msk, &data); - 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; - - info.sent +=3D ret; - copied +=3D ret; - len -=3D ret; - data.snd_burst -=3D ret; - first =3D false; +again: + while (mptcp_send_head(sk)) { + /* check for a different subflow usage only after + * spooling the first chunk of data + */ + xmit_ssk =3D first ? ssk : mptcp_subflow_get_send(msk, &data); + if (!xmit_ssk) + goto out; + if (xmit_ssk !=3D ssk) { + mptcp_subflow_delegate(mptcp_subflow_ctx(xmit_ssk), + MPTCP_DELEGATE_SEND); + goto out; + } =20 - mptcp_update_post_push(msk, dfrag, ret); + ret =3D __subflow_push_pending(sk, ssk, &info, &data); + if (ret <=3D 0) { + if (ret =3D=3D -EAGAIN) + goto again; + break; } - WRITE_ONCE(msk->first_pending, mptcp_send_next(sk)); } =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 (ret > 0) { if (!mptcp_timer_pending(sk)) mptcp_reset_timer(sk); =20 --=20 2.35.3 From nobody Sat May 4 05:39:15 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2045.outbound.protection.outlook.com [40.107.21.45]) (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 D65B120F8 for ; Fri, 14 Oct 2022 13:33:50 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E3kjscRkMCxSHJ1SlGfjRCjtSXtwwm9Ws0K4ZntzLm8PIOp5bhPEBZgYV0s6NkgeAJMB8EsxeHRyr6FT8GCtuji15izEKRAqRbQQt6/k8XUYQwAZ4P93ocNLPuegJVxf8cUPlolqgGjSbvZZT8kKWZllgsTa+T4FnSQcrwHUlwZFIvUJRLf47NdNuE9jup8uwPFJ9pBV7RM5G56IFTyQFA3jhYjWECc4qoLrF/7YWlx8YfePPcjZBngMpIg+y0x9OVDj2yfPohxPBcn1RiCIJbW9yrCsc4yoKefI6hu3Cqits5BBtWzw4WDtBe5xKov+Z8SHQ33GxFXKaUNc7JlBKg== 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=v6TPfxDlCKt8v1bk8W1HZ6hV4gASnmxn9XG6WTjIXUA=; b=QZui1bmVWGkGpTiaF9XtN30ktq+KQyacqn3VilFiVwjTdskz3Il4yG5iss1bzTBoOME1U+JFD8uZ1gBLudkLf5+cmHmSx2TBO2sIzTbw3a+ppK936TjgiiUEWeD5d/bi4mn9Zo62QAxG5PphskD4GWlx8h3fW+BHJIlQp0snPbUeYgpDdwGVFPnGiyOrGdl4Gk+Z5JefHKmvzd946s1JvNl8PT5Q+klsPtYjOxDZwKP9WiazZyo5I58AmRqrciTbWTjBBPfYe5FCgDrIps815IsDwDGgKXifhqwvlXWdWcXS+rpffNd0xN2BpYF4GDktZfqeS5JbJXa6nUBfM7LHBg== 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=v6TPfxDlCKt8v1bk8W1HZ6hV4gASnmxn9XG6WTjIXUA=; b=Vnf32k2Ue/QaCzFQjfNOfveKXVhgwrq+b5dJv3LGTdsL24HNCmGz3VI+W1JUPqBnil4RYiGAuU+mEUhoBEnUO4OvsVyOVs2Qahz3NzQdFT5rc6+jFu4UK8D42mNYZz0MsaojDPoGeY4KbVv2fYGxoemMIaZHK96Ny4/EVQjP78KnT3JBKjmMrm4hIEkzE0iMf7ZkgtZ2V4Td63T036B7IW7BjUMi7UZATU1mTzCuOehpbXxEKVPZlFBT90Ux22ZRXIqfILue+D9yNHkrAQV+53nUrlDeGEQt5QKmocRs2k8+IUGLmkrx7rDTezQ2S0A9Yu4DBmbvmyyIsRLJn6unSg== 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 VI1PR04MB6975.eurprd04.prod.outlook.com (2603:10a6:803:138::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.15; Fri, 14 Oct 2022 13:33:48 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45%7]) with mapi id 15.20.5723.029; Fri, 14 Oct 2022 13:33:48 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v8 07/15] mptcp: drop last_snd in mptcp_sock Date: Fri, 14 Oct 2022 21:32:14 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCP286CA0064.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:31a::11) 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_|VI1PR04MB6975:EE_ X-MS-Office365-Filtering-Correlation-Id: 3acbea95-dea1-436f-d138-08daade8b95b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2JUGvNK5P1s7QHWv2iot7lWka3MQZAsfvy+AMTvOUCyYlXmWKz1hKgLLYdlSJxTmpXx+hZDTHlmlFy9JDP/01EKXYXAKdvPK1SMsQU2Jxr25hsX0OnErX5MHsvV2bXkZk4FlefeccheaPAIE/ytLeP0X9bRab89FWo93aEcEM4HyIuI38KaDBTzKzuJaxpHU9eNHef7R/6SXV2TUeNGJaMNyso8eN1PPsjabymLCE8C+N0XWw2p+1SswuAgu7eRuKvhfoRNEtAQDPxJn80AaFpOK9HUZL1WAYmafQDiGNmVoZ1lII+R0VBQ6G5YC4b+fGDRcgc2S17pWLsu3Ui+exxhVN0VqI4TwVarsd3nZcnqfpvOgpaUEWoQeIfQMl3NBtx542FBgDLYKClylX8V1dxTwMy4qkoPLQQBl50xfSH8h69Dotx1lHd/JKl9q5j2b7JTuEEj+6jrSGH1Up1dqZwBWhdFtKJ82rw/MezS76VOqmfD8ZNFlaax3AG1XGXyBZbKvGUZ00CfNvRwyl2yfbkcQGs/+5hB3vvMMiz205VWpmJLu+71jKD1YJBs10AqGWxQTEBA4LJV3onYo2nuPLvrPT2Sv3udP5MiNqlpMG0JhG6NAVpDnexdt6dSKYSZpN7qVjnTIhBGMqE6nOHi5QlfpbmrG7muLFUzI0Yj4qEwefO1YgL3y+ibs/IX4CKawqUsqB7cfWvWASBu0qETGe58NyJ1jLPeOEZVtEnRH3+HoXbkGnE01Bd33Z32Zyvqx 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)(346002)(376002)(366004)(396003)(136003)(39860400002)(451199015)(8676002)(38100700002)(6916009)(316002)(478600001)(36756003)(6486002)(86362001)(83380400001)(44832011)(2906002)(66476007)(66556008)(4326008)(5660300002)(41300700001)(2616005)(6506007)(6512007)(66946007)(26005)(107886003)(8936002)(6666004)(186003)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?6lj6yO5MLI5FTWM1GL2UFJFstkmcn3VpVynA8HPcWmFdm/sam73jkEiAuEex?= =?us-ascii?Q?SVe92woBv32ie9fA8Nf4O/Gavin/TkppapJl0UxBcavYqna9vterno3KF47m?= =?us-ascii?Q?Nl42/nVf8YrpMkk/exgDoh265LhNvlJId6v9JiuT20OtAws/KQlBYaKRmZrJ?= =?us-ascii?Q?u73xQDsmnZgeOSNEAtQQ7RJDYpogtMs+6VmKQjZHoHW7AHwbJP6oI297OJEG?= =?us-ascii?Q?tOHZ7ZPzX6PFBk94K9SDf8bEtrnZjjLi74sdBMPfzGK5Ikde9dmyoKLfkasp?= =?us-ascii?Q?TgsVtGKO7cbXoTCKQ2nxOehDuu6lbfH5Cx/qqQBBnl98UGGdIxYFOulI8wHg?= =?us-ascii?Q?vE3Qz7CGNOMLD29krIK+9/T6QzDX2OtA94wNs7E7E10OPLBQddvyVGiFDuXP?= =?us-ascii?Q?UxDuVVT3ohI12c9hk3KElx3+ZSdpk1lr6D+ZwUfYDqSKyrhR3UhHNGBC05zi?= =?us-ascii?Q?JgXWdGBfq7YvfXjKmTQ2++/4XQ6MG6vPW7Cr6hAoOhYEAt+Df7E20btDXubF?= =?us-ascii?Q?rbhIC4t4OLrmaNDP7E12pYUG2s1xTraJHco3gOPl/PPJMyr3T38Pcc7O5TFj?= =?us-ascii?Q?kMSutjOanMmDzWxWzRIrKIfOnhh/lSM0Ng6eOuQH5C35jes1sqWxAP/gsw7r?= =?us-ascii?Q?cLOb1Qw9YNU/QiSx5MQC2fcpBKexrA3eP9RHVV1jKOBeyOLTCbp3rFSY35C1?= =?us-ascii?Q?7iIcKe2+x5SQaDCKMDpS4ac6UFA+QxK9NMCgMp6weDirHplQEB/Uouw7/hsf?= =?us-ascii?Q?IkWY02qx0TWW/7dSSYZj7OsMlHsqA9/YBrO3z1cKuhqopeIT7Asgxmf0J8E0?= =?us-ascii?Q?Yj/yOaj/QAKtqCIPb/5QK2/UsW71DC94WvOi8+YuXMWpj0JsqNR4j/KoFd4c?= =?us-ascii?Q?fFqdl2YnEyBPpsGM1ZiZFK7+rWTUh+UFRoFSFc9SJpQFRLC1ZBrXloUaX1v6?= =?us-ascii?Q?M0eA3OrECXOkROmQkIiggLmzOCZp4+Y0nMW1xIAi6FQDnAKmD2LNL7sEJBmk?= =?us-ascii?Q?oL5gF11DXVcTd44NkEDTzzE42awjWOHBpCnnl3JYaZc/DK46g43DR8VH/2uw?= =?us-ascii?Q?/sTNljZNkgbmYLvHrwddfBBeH1TlFtAtfYvvL6NUKTeziDBUEhB3iveub1le?= =?us-ascii?Q?RoK1aR69UwQ7K2DwXMFJRxq9nIP/Ka7iKvcZT1OhHVoxMKzUIF2JB4dUmNqX?= =?us-ascii?Q?L7h28HnTnOzGvmaw0ORHiUDw5/DY1z8qpklkDQKRrQdeD+19EyjxI6BkcXjG?= =?us-ascii?Q?OCYnVPddTWnEO8woEQcB2jjRj+DMKqfOq3jmWDVIGMJrO1uNcFZWi4p5f0jV?= =?us-ascii?Q?8qp7YhztSGglaSKctcWNnIaiOvbg/J8z4tQzysGZWsfvnHsDW8k7uoGrqbYF?= =?us-ascii?Q?lLNudD08I7A4z6qM32xc2I1m1A6Yt0B/9bp9YTsFglPiqn7i9DfkZJ5ccpB8?= =?us-ascii?Q?L7+4NvT5edAd3NkrKi0EG+vgIvlTeb0xhmpxy5fwJRMVdO32E1LSKMxu1v0U?= =?us-ascii?Q?eonABv+RoNDOMcua9XNMDAgxEX13f6iLEh21I7SVaYPHJ8NXPNiKVt0N/Dc1?= =?us-ascii?Q?DnyvRMrbtptcACWHu7MFhPd3d25iK8yWeG71HZIRfaRc+M+o7qH6rVBkKNET?= =?us-ascii?Q?Yg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3acbea95-dea1-436f-d138-08daade8b95b X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2022 13:33:48.5010 (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: j0a0eoJIaDlarbg7csjhBGNA5cyEv5k85gPfGV/m1bpHwmQmEK7AUEgAbj4/nnHn06lnpSjLFS+sstPm5peamA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6975 Content-Type: text/plain; charset="utf-8" msk->last_snd is no longer used anymore, drop it as well as the macro MPTCP_RESET_SCHEDULER. Signed-off-by: Geliang Tang --- net/mptcp/pm.c | 9 +-------- net/mptcp/pm_netlink.c | 3 --- net/mptcp/protocol.c | 11 +---------- net/mptcp/protocol.h | 2 -- 4 files changed, 2 insertions(+), 23 deletions(-) diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index 45e2a48397b9..cdeb7280ac76 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -282,15 +282,8 @@ void mptcp_pm_mp_prio_received(struct sock *ssk, u8 bk= up) =20 pr_debug("subflow->backup=3D%d, bkup=3D%d\n", subflow->backup, bkup); msk =3D mptcp_sk(sk); - if (subflow->backup !=3D bkup) { + if (subflow->backup !=3D bkup) subflow->backup =3D bkup; - mptcp_data_lock(sk); - if (!sock_owned_by_user(sk)) - msk->last_snd =3D NULL; - else - __set_bit(MPTCP_RESET_SCHEDULER, &msk->cb_flags); - mptcp_data_unlock(sk); - } =20 mptcp_event(MPTCP_EVENT_SUB_PRIORITY, msk, ssk, GFP_ATOMIC); } diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 9813ed0fde9b..1f2da4aedcb4 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -475,9 +475,6 @@ static void __mptcp_pm_send_ack(struct mptcp_sock *msk,= struct mptcp_subflow_con =20 slow =3D lock_sock_fast(ssk); if (prio) { - if (subflow->backup !=3D backup) - msk->last_snd =3D NULL; - subflow->send_mp_prio =3D 1; subflow->backup =3D backup; subflow->request_bkup =3D backup; diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index c3a4e0148c4a..106d22730954 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1479,16 +1479,13 @@ static struct sock *mptcp_subflow_get_send(struct m= ptcp_sock *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; data->snd_burst =3D burst; return ssk; } @@ -2353,9 +2350,6 @@ static void __mptcp_close_ssk(struct sock *sk, struct= sock *ssk, msk->first =3D NULL; =20 out: - if (ssk =3D=3D msk->last_snd) - msk->last_snd =3D NULL; - if (need_push) __mptcp_push_pending(sk, 0); } @@ -2988,7 +2982,6 @@ static int mptcp_disconnect(struct sock *sk, int flag= s) * subflow */ mptcp_destroy_common(msk, MPTCP_CF_FASTCLOSE); - msk->last_snd =3D NULL; WRITE_ONCE(msk->flags, 0); msk->cb_flags =3D 0; msk->push_pending =3D 0; @@ -3249,8 +3242,6 @@ static void mptcp_release_cb(struct sock *sk) __mptcp_set_connected(sk); if (__test_and_clear_bit(MPTCP_ERROR_REPORT, &msk->cb_flags)) __mptcp_error_report(sk); - if (__test_and_clear_bit(MPTCP_RESET_SCHEDULER, &msk->cb_flags)) - msk->last_snd =3D NULL; } =20 __mptcp_update_rmem(sk); diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index b731e7b37f5a..e553fe70f9a2 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -124,7 +124,6 @@ #define MPTCP_RETRANSMIT 4 #define MPTCP_FLUSH_JOIN_LIST 5 #define MPTCP_CONNECTED 6 -#define MPTCP_RESET_SCHEDULER 7 =20 static inline bool before64(__u64 seq1, __u64 seq2) { @@ -258,7 +257,6 @@ struct mptcp_sock { atomic64_t rcv_wnd_sent; u64 rcv_data_fin_seq; int rmem_fwd_alloc; - struct sock *last_snd; int old_wspace; u64 recovery_snd_nxt; /* in recovery mode accept up to this seq; * recovery related fields are under data_lock --=20 2.35.3 From nobody Sat May 4 05:39:15 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2063.outbound.protection.outlook.com [40.107.21.63]) (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 C561120F8 for ; Fri, 14 Oct 2022 13:34:00 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YAcECOMmJwFBmDuUiC/JWVARki6cSi8mgHBMW8yan+TY5lExSeO9fIP9NmFtK02xCgu8kfB3QCNE6nRN6amZWMjyhSoJXwAXxJCdPMGdAzpBr+V4C4DQD6Vq2JzrWebWdP9T5MhG7FaQ/N9FT3PwcoPDjWhKiZS6OTGXcG56EDt22/Tb3MJ55MsFy12W10viXXfySES8sB08Q0G8jtIluuNgpENSq6LAthoQne/IVbArJkkJsB3najZUMKT/DpmILj/V+iSuyHlOwrQAwGmW/3Q2+ZnrbyCann03ZE8jIdrrJYtDCGZJ27/dUv4Ekv7+NB21xYzWGN0IJQyE0pFlsQ== 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=ll6lz8kn88aON2SQw/mT3fsK7Jn/AI6T+8oL/8Tcn7k=; b=AM6pXwv411uVO8hQCxz32PqHUxS+JApkRYoak9VdCAmZfXt387sEAdmIPKd2C0FSVTp0NpwRP8q8FrlNC6pMyIqmZEkr0Efk19fZodbDO5h3R53aJUubkMPT97R87RyJ+pxaVXGr24BB4LloaB9H4Zfe0zcAa0dMBMca1qicHXfqAnYUmfTArAX7VvB5gEiGzalor5F/sZaiYUMns6hPBB6dhrTpMBuUPoGvMj/vwFPyDcGPuouZ7nvAUhkdBfqTmpDVM7yZdAKoAgREXpVZXE5Lqx4AeVvEkreBJ55QvpGZ2elXMMXOBBCX/opz88a/8bAThUck0LGgCXG7LxEzcg== 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=ll6lz8kn88aON2SQw/mT3fsK7Jn/AI6T+8oL/8Tcn7k=; b=PQzT5j1qf3reUHyalBVU3AhUm1PhDjdnsm//lRKv0U77jUe0ZRUBJ6V56OQizT2O+QqY1rWYGQON3SO1lvaf1k+dVkIDPtLXFuXvjxNbbau2rCIjUq5qhJAPCNqsLHpywb0R02Rn1pRkiEUIe9nORyp4P1WSnR5lu583lqJIYy2SbLRuUyJVUQkDVuJoJ4f7wrih1piKqGJEpPTI70QQHQFmO9v5GKIJenRoyPiWKUN0se3H+2Fl+RZEMuclXGErBHkFOEJuiYaICT8tbAxsYG1QHYCIwoChlwB46TKYTTT0MWKsiy0VCs9BPxJQVHpzO8UW0tzBNO3+WyQ6qq3NtQ== 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 VI1PR04MB6975.eurprd04.prod.outlook.com (2603:10a6:803:138::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.15; Fri, 14 Oct 2022 13:33:58 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45%7]) with mapi id 15.20.5723.029; Fri, 14 Oct 2022 13:33:58 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v8 08/15] mptcp: add sched_data_set_contexts helper Date: Fri, 14 Oct 2022 21:32:15 +0800 Message-Id: <2c99a6d5b2b95bc013c76c9ac1fe7e8dee1f05d4.1665753926.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TY2PR0101CA0037.apcprd01.prod.exchangelabs.com (2603:1096:404:8000::23) 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_|VI1PR04MB6975:EE_ X-MS-Office365-Filtering-Correlation-Id: ab18099e-9115-4a34-2e2d-08daade8bf8d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hcKwOrRkJRva/91n70b2GteX/asoom+3+LO2rHLJJoIOEenhVZO92DfxAwJaaiQxompD/0aCzLvuEOtDRg+q17eHb+weq182tih5iyXT7Ciu685q3l71UeTbSH/8f3MHhfDaG6oHCoiue04d8U9bRPLMz7IVNrnpHDTUx1jzBoGCo2+PPtzDMjQ0m8Sllzr9BQ3g8FPX91ijjq8BdCVcSzpmWzy5NclC8INA12jyxIEP2lLMW0ADZpEZAdN9+YnRq8D/zUSUUTW0jK+uJEG4jQPy1pWxVG+WJ9/9aHmYzALHYvy07pwyX6PKMsDv2YymeaRIhyiBZmobFgd3fvMKGT0fFkL4Cd4oVLu/RIXpXi4rO0cqyiwgQsvNh4fA4zs7AMVz7yUoWX5a6XR3EpG6DpXikkYQnkEp47zqFz3ODWHi53M6WoHNUUKjFA/oIdw2cnxCUfLPcNwPM93lUk66BBLXdjibd0WcibNQ3NK/FHq5RqR2XdtR9gLggmL2F0WLSbRYPrzKfxsQL0clrWecLs2g3B+adrUSzfELCjTK/Pbha7zpC+7+To6s2Evdz6FswlcJFiYaE7ffaSJfM7fywG+oaCGL3hlTQVw9B36wRoFET1oVjjfJ1t8nyhCIrYhp4Dl1jmN5Pc50yZnjKUCFQNptISKa0m47FxVAU8v28PoHdanRGDupiw6vzPK//6AyMoKm44kJhasHFzwS0c2/rpFqz7tLMcjWLOSSO1D+RbAVl73COfJvBZUw2tF3AQgb 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)(346002)(376002)(366004)(396003)(136003)(39860400002)(451199015)(8676002)(38100700002)(6916009)(316002)(478600001)(36756003)(6486002)(86362001)(44832011)(2906002)(4744005)(66476007)(66556008)(4326008)(5660300002)(41300700001)(2616005)(6506007)(6512007)(66946007)(26005)(107886003)(8936002)(6666004)(186003)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?4eSTusKWkKA2TSy6j1j5qGMVtBNFsVdeOP1YUS9nWB/lKR0UwicPKtz3WT7/?= =?us-ascii?Q?/vj06pFrJDulaB9R6XR9x4ZrOmIu3bO4RzxH3s8xoMpo5f7JBls93NRIR9wU?= =?us-ascii?Q?mClvGnrQTwEZDWjYQVz9gQdLb+OMcve6T/oe7qgm6MNGUxoX4TW6K3KkydQu?= =?us-ascii?Q?nEjks7GD+aXosgDbST8p6slQVxW9rFdLBLP8wBbhNkyaBjovuCO/cGhKkV75?= =?us-ascii?Q?vMtafHfRALMyTcDWlo58/8nkbANFejBLbNAk4skNdWnrN+PuSgzR/WrrbB/W?= =?us-ascii?Q?UTdi69HmmG4bLPXSk6jS2IyRDM8raXolcj3Du3NswyNBcyB8ldiTULAubWKC?= =?us-ascii?Q?3e7j+5feRZxygQlgshzH7dIK4eqf3G5zN46mhovay4s+Ip/41LFZFGfcoqpn?= =?us-ascii?Q?3EXHVYHlJh0YENfejllDD3IiLxoXWC2ghAcTH8gpC3vIc6+mlH2HS2gUbjbh?= =?us-ascii?Q?3qnspCA5JzPl2kC1D4g7fNQHOkcPKhf8xwOL3YaotFFneq50AiYb99GuYihr?= =?us-ascii?Q?dKuFJiyHZf/wBAEs5JBeVdxXmo4S5GisRm7w+Xy/Gw3gSzYMPcmrO/WNjQ27?= =?us-ascii?Q?fOKpNFfnZWJ2LxWY/TJ7S1w4VR9u7e1go4IR+7MYd0BQ6HzU4Xp0cuXWjGrk?= =?us-ascii?Q?j7kfxiyCH4OLQO3PvzCG8LAhwAvN7TQccYW5OmmcGk9Zc0qh7X1AWcvRMAJc?= =?us-ascii?Q?pgCjBB9vVnplut1tDbSrx3EqFZfgdS9g4qp+9PuwBbWrCSHSu1MdysN3FiX1?= =?us-ascii?Q?OSjyIko1pt6P1YcK5taQjo0V+Hq3lM8nfVoDuWd3T8dfZtNH3gJmyB02AA/i?= =?us-ascii?Q?xDVvf/1Z0IM+9/gbfpQ9dLmdPjxuo1m0BIk6ivURo+9G6mWQKGk4LhbT8LZw?= =?us-ascii?Q?WgNrvUR+WfuBJyCV7YTpuJPcldHXVLxZniezFUSPJ+wodZ5M5ulpmSfbwKNP?= =?us-ascii?Q?DDxIqXxdDbEhZIEHV/Izeo2/ryPaqtsqPkWpCZhVZY5OtnWe39iHyjoxJOTW?= =?us-ascii?Q?icBKI2+F5GXo6PDBo6Mypi6fwIo44ZmnH9GI5XmK6Q6sUICF8Lgz0Qy6V5oW?= =?us-ascii?Q?on3w1/IWQZib2vZNHXHcp7a6PUgPUc/nbZRZhhsrM4hxGD4nNiGJ+4LvfbtI?= =?us-ascii?Q?ViENCGgHiAiBqUJHc99tqDt03izFVrxJhlTNsGdLeUNeGL2GKUB8083/bLVY?= =?us-ascii?Q?ufSs8n6uSfxsl//2hwLjqS/qY6vV71tHAfqsRPoNFinuwewb3Jp7PebxIu+x?= =?us-ascii?Q?ga1peSYvZhNnxumiLGISKWee8MIN950g7oDfz9T+ia6WB9XeHpjb8vz85r1z?= =?us-ascii?Q?pw0Hp/5pybYr8+g+UEzrdp7wXR/iSPdL+R4tzeqLJHWwtOtyqazmPZ1ef+Xf?= =?us-ascii?Q?KiSFkc9J3Ct8DVURf/Dn/p1aQJtWoUdTsFzjPhW0y1e8hrosZNnC0F1VIlKx?= =?us-ascii?Q?mjvrza6MKVnidFhqUF1AqJgQHU+XGUmhi1p5FKUlm1kjJ0PIsQDWJeon0i72?= =?us-ascii?Q?y6lAjdWWdpzoZPWbWU6PEcMQwsYerrDGX6ZHXnGQ6dzfuuFtaIcq7ne75Pr8?= =?us-ascii?Q?nBbH5juyDAEJX8fim0t16C3tnOdTWc0Ng9fTVC0wt2SkbxzfatZqehfRnK8o?= =?us-ascii?Q?xw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: ab18099e-9115-4a34-2e2d-08daade8bf8d X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2022 13:33:58.5158 (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: PuYXKWqfIiWdg9arGnV7NAPRcBqSI/EbxiaNGw32yvn4yI3DuAg1oDN0dUdjiD4/w/2YBn6dgkFiFd91DCq2fg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6975 Content-Type: text/plain; charset="utf-8" Add a new helper mptcp_sched_data_set_contexts(), it will be used in the BPF contexts. Signed-off-by: Geliang Tang --- net/mptcp/sched.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/net/mptcp/sched.c b/net/mptcp/sched.c index 949663742f14..0d7c73e9562e 100644 --- a/net/mptcp/sched.c +++ b/net/mptcp/sched.c @@ -93,3 +93,22 @@ void mptcp_subflow_set_scheduled(struct mptcp_subflow_co= ntext *subflow, { WRITE_ONCE(subflow->scheduled, scheduled); } + +void mptcp_sched_data_set_contexts(const struct mptcp_sock *msk, + struct mptcp_sched_data *data) +{ + struct mptcp_subflow_context *subflow; + int i =3D 0; + + mptcp_for_each_subflow(msk, subflow) { + if (i =3D=3D MPTCP_SUBFLOWS_MAX) { + pr_warn_once("too many subflows"); + break; + } + mptcp_subflow_set_scheduled(subflow, false); + data->contexts[i++] =3D subflow; + } + + for (; i < MPTCP_SUBFLOWS_MAX; i++) + data->contexts[i] =3D NULL; +} --=20 2.35.3 From nobody Sat May 4 05:39:15 2024 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2046.outbound.protection.outlook.com [40.107.104.46]) (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 9D1BD20F8 for ; Fri, 14 Oct 2022 13:34:13 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c1JUDea3u35pK+b67ztNT0z3GiPoCZ36mlUzo34oiEAwe0zdyjj/xRmfY8RQt9mT+TvlVgotwxqRiNO9LTUFrtojG0zACz69sI0Na7XNHFXPt7Z7hbhatOqLluMKW+fYZGn/9+bUyf300onrXqk3jkn00pwnWlrfyEy/PcjDIMYLJj7EvU2GKKTT0IJ/5cIPavJU9zo+gNO8yXhg2coOXPCPRlNu4WeMJzoFltmQohSmH6RlSFd/ObvuTsZ8KbOsZYe3nlV/TdqgLulH8usFkKRh9xa8TLqClq0Rdk5uUSfqQTPnsSHkJtBMcutYbHxx0FqZOmugkZDjFFDnqPhSww== 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=4Vwv5BYX8jKLSSrZ/QfAEh4OknHdTPPElyfStic/MXM=; b=Jp4D+Pn7KZL/rHlHD7nOk/u0EMSR9j2QtDegM5mKikDIsbnq1evTvd81ov47aCYamT+nOP5Q60TyuaxSAg/5lIpGWXLAz+GoQChhTif8sSNNidmJwGL3u7OW7KGUYVzCxskhW6M0GM81OmhL5SSM4Ta7Os7I8lhPCYoupB9DPJw/lPRPDAc68dlLO35nhdZaZnOnbEJzDJLs19s9nPDB1TK7YT7siHCngGOSukPTPwteIT9u3HPGbYtsnPtt/nI5m/1nOXQf7mMpIAfoqUx7iyAg68W6gjHeNn/JAX/xZZXDlUcQoBHDxG34vWgSTBRSAhKToY258CU8rdLCuZaiZw== 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=4Vwv5BYX8jKLSSrZ/QfAEh4OknHdTPPElyfStic/MXM=; b=hL9sHiPr+DGxALuJGholgjO73iu2kyNJ9YAu2+u+mr6WAI84aBTjTCcQPMesHm7Sl04OzcjjZFLDEsCH3379zJVreK1eQxAXi+DSm/W5HJozA4cl0Qh1MQeYAalXsR3+uU4oT16fKbAV6ob17Rw7UPzRPgCxhKFvFlBx+PrZFUDz8mTXnQu+swxO/dT5lkGMm7WiOOFwAv6DIG/RWDIxxSv0GCTxzVckEq/inK1m2vEywUz8ITvwbG8YnnoX1MrH6PTEhIhfT/Kip6Sflxw1zWjgzsmboogRUMxkzEmkSwmPOM62o51m2kziaXEh2FWh3uagov+mGjy6Si+IPp8m5A== 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 PAXPR04MB9156.eurprd04.prod.outlook.com (2603:10a6:102:22f::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.29; Fri, 14 Oct 2022 13:34:11 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45%7]) with mapi id 15.20.5723.029; Fri, 14 Oct 2022 13:34:10 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v8 09/15] mptcp: register default scheduler Date: Fri, 14 Oct 2022 21:32:16 +0800 Message-Id: <39bb9f95dc6bb94f22df5522b46f427c0888b415.1665753926.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCP286CA0096.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:2b4::12) 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_|PAXPR04MB9156:EE_ X-MS-Office365-Filtering-Correlation-Id: 8788253d-b496-4f50-f3a7-08daade8c68d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2Z8fuIKcTkua36dTi2AdKDr0pBPMkcEdeqIgeSb6xCbZRkFKlfCorPcnujTktb5ezKbPDjc+ZU2ABA/ZWw8RneOkQJydM5vQq3eJT3SEHFZPq4mGzYC9jz4xy5ULaWynqHMzHiwGD1wZ5mgUzi9HnxfDM171nxdoG0vPvNTL4mz/7SyyGvwYLijyihRVd5swWVYNTlJl0+Niug6McGMZ9BjbLSvHjApgJu0PA0kG8jKcVl8yL33sWgQ6qMhGL6NyfSthR2oCIY4d1ZJL5/0Jkz6ImsUYqKCQ9MW2Ts+4GSHSk768tUqDghyN+UPB4h4pLiWgNeW2RCReleWdYT+ZTXOP51lskK06+isoY+LOUKPC73ZC+RvA5Yw/NkeXDAjSudHDo3eUIyWnOICa9oPGyUW3ttZswscyJ8uUvCoVH8kbI1xZpGojaC4pRlimtcJYZKcBW1dLwSy43JFtd4C4WpeHYEKM8sP0MtmTR5nOymKclryORoXPYnOQGeNgv7S/ZuF3QmuF6zPV4Eu4Ne/Y51ER0rR9gxWLDQ8fBZnHmXjJ5jSzH8+uUj7VWkn0PKSMYu13ltycfE2JdT9veT3ziIW9gk+vG5hQuxnMWzIA8A698xpPUtaQ+MWPymwFH6KJUqmew5c9nYOeCm6b06rYd8Lime0L3ly1KjduE0mf9VEtoWA+lXXrNPTHfX9uQPSZKBlJk/BAvK68iBDNhhUJGDyMRUSh/2oLq5Pzs5qhS1fZKRElhUy3+TaZwijIpsjZ 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)(346002)(396003)(136003)(366004)(376002)(39860400002)(451199015)(6486002)(36756003)(2906002)(83380400001)(6916009)(316002)(38100700002)(41300700001)(6506007)(186003)(8936002)(107886003)(26005)(5660300002)(2616005)(478600001)(44832011)(6512007)(66476007)(66556008)(66946007)(8676002)(86362001)(4326008)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?gAEplqOcihju9/aIhYzPP+UwXpo+x8zw3jzEw7iaEY3UrIqhuXvMjnMHU0yy?= =?us-ascii?Q?oQb9JzdC+c8X+yeeF43IIqvG+gbUaXTN6oyCqB1/0F9eZXcc+fLw1a9Uk7vU?= =?us-ascii?Q?5oYQXxMjF5nXE6gJ+LrRL5rgPzB3czOYVJubNGch3/6T2lvbGXy5Pp4ISkhr?= =?us-ascii?Q?gDmOJPqIVfAZ9LR5dYrEnXs7CVoVveZm+1eFwDDREWuQIwXFGZGEqq6gFeIJ?= =?us-ascii?Q?LGndNIQLL77JnI5zVb0YjAotkYg5yOOa0P/yFazwdLRtGX+ttqFEWgmM7Unm?= =?us-ascii?Q?Vie1Fe0AY/fEq5OGetOZtU5eEv6XZDO6bmFQA2fCgF2TSbLb/q42BZpuwlAG?= =?us-ascii?Q?y3/vqA4I/aUf++6ilQi8DVJ4mqNgYVt7HQrfpspAc5Ukk+PQhtrdBVkwZxKV?= =?us-ascii?Q?SlIJytblUnjgctmmGQDnz9zAXvqJm11BRGQE4oL9lwpt9R6vtTg+weT3ypQS?= =?us-ascii?Q?AGSPx2Hmw88QRX2zFIiML5797E+flAf/6HZeASTjlRS9z/+bI0abWWp1WIGX?= =?us-ascii?Q?H8cS+vx0BShYejcLICqQFh47M7Lhd109HDoLOCRwUT+OJK5hTpv6c+gYrs2A?= =?us-ascii?Q?C+ZdAw02zgDoEeY22aPntoHxvh25txo1KdWgsfOSYw8Q4ij8wOnNKq5Z0lqG?= =?us-ascii?Q?2tSfYziyb+64NvXMsBQioCOmceBIUkkK4G8C3YuhnIJ1zHZFR1AD/a6A0Z8G?= =?us-ascii?Q?8KQI3sn2Kzkh7n6JDqgcBqzqQtRLKTD3jLXgRsm+ZevsU+QbP7HTMiHKmcdq?= =?us-ascii?Q?ACUu+DJrNgn4Fu0v0UpbrO/iEVidTGjFi466D2aRZDUgr6N3tw6qcSDNZW60?= =?us-ascii?Q?i6XMF5uoSrYaKnUT8s3CZH1vHpNJiz33f4nRa0h+j61ZSlhpy0jbDuBmcKjm?= =?us-ascii?Q?IyJRxqJe0X5iXZmnvdmujd6kU8K8OsMxcVZxZCWSgMtvOjmzRwn5V7gFdZwu?= =?us-ascii?Q?hNjJc8AKdTyxy3VxDbt8DX+s46hVNsnHw9Cpvxeyu8z+6lAV2SXuwXMZgHpu?= =?us-ascii?Q?2zEJ7EvHa8yDK6jg6mTizaWAVS3M8rsGA1CxdMeKZPVnQkdu+/KLy5lo5JJM?= =?us-ascii?Q?r8/cfLE8OZBiWdALLAGZpX4Hm1rXAg9FtY6O4viy5bPpIVG7IPpQcF+g3kAV?= =?us-ascii?Q?MHmdARn87B9DTukt7NXNIMg19lOgnAKZs+9t43IEePoFCHlH8+igrTidnLBN?= =?us-ascii?Q?7ogxGm6iYVjwGp/6wEGgqAkTbJAzA8IMpOZgQ4ql4MLuJqAkZeFKI2hAcoYG?= =?us-ascii?Q?7oSBmI5gU/XWK6FG3rViEimRRrsMQ+V/3kE81bDDL9WzvE9UI/vDUON5GnC5?= =?us-ascii?Q?VwYpmwpxVRYXni14a43U2QQ0PbXOEoI3aioGlon4vfD2iILFV2DmEtPjW/pX?= =?us-ascii?Q?10M0DTexujl3r3jbYSOHDzU1EeYDV+iW8g3JnRTMudArKRxaznUOoWvmMaH8?= =?us-ascii?Q?lcGp+eKGhl0B3nVVq36BkEJ4C+nT0g6U2j2V1Uxl5BtklEX+1Idq/CxkF084?= =?us-ascii?Q?6hII63+JL7Y3W3g94JAnsyN70b7vvtXV3bnyqd4I6uO8Lsdzyq7NXJd0YTlu?= =?us-ascii?Q?rvX8GYtNY7KgAAWu5YPpAoc64uxFcYtSPaVPvgW6h5INM+SIVbjRyoP082Eq?= =?us-ascii?Q?Aw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8788253d-b496-4f50-f3a7-08daade8c68d X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2022 13:34:10.3899 (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: dXfQz+FHNV/uSL9GAxU7oWPchBcDTP58ONV+dczt2uY7XBEjZgzVyxcKW/SppQmXIHapYdsmp5QLC7+C52fGkg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9156 Content-Type: text/plain; charset="utf-8" This patch defines the default packet scheduler mptcp_sched_default. Register it in mptcp_sched_init(), which is invoked in mptcp_proto_init(). Skip deleting this default scheduler in mptcp_unregister_scheduler(). Set msk->sched to the default scheduler when the input parameter of mptcp_init_sched() is NULL. Signed-off-by: Geliang Tang --- net/mptcp/protocol.c | 7 ++++--- net/mptcp/protocol.h | 4 ++++ net/mptcp/sched.c | 38 ++++++++++++++++++++++++++++++++++++-- 3 files changed, 44 insertions(+), 5 deletions(-) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 106d22730954..93c2b5d71254 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1406,8 +1406,8 @@ bool mptcp_subflow_active(struct mptcp_subflow_contex= t *subflow) * returns the subflow that will transmit the next DSS * additionally updates the rtx timeout */ -static struct sock *mptcp_subflow_get_send(struct mptcp_sock *msk, - struct mptcp_sched_data *data) +struct sock *mptcp_subflow_get_send(const struct mptcp_sock *msk, + struct mptcp_sched_data *data) { struct subflow_send_info send_info[SSK_MODE_MAX]; struct mptcp_subflow_context *subflow; @@ -2184,7 +2184,7 @@ static void mptcp_timeout_timer(struct timer_list *t) * * A backup subflow is returned only if that is the only kind available. */ -static struct sock *mptcp_subflow_get_retrans(struct mptcp_sock *msk) +struct sock *mptcp_subflow_get_retrans(const struct mptcp_sock *msk) { struct sock *backup =3D NULL, *pick =3D NULL; struct mptcp_subflow_context *subflow; @@ -3851,6 +3851,7 @@ void __init mptcp_proto_init(void) =20 mptcp_subflow_init(); mptcp_pm_init(); + mptcp_sched_init(); mptcp_token_init(); =20 if (proto_register(&mptcp_prot, MPTCP_USE_SLAB) !=3D 0) diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index e553fe70f9a2..cdea1efb14a5 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -633,11 +633,15 @@ void mptcp_info2sockaddr(const struct mptcp_addr_info= *info, struct mptcp_sched_ops *mptcp_sched_find(const char *name); int mptcp_register_scheduler(struct mptcp_sched_ops *sched); void mptcp_unregister_scheduler(struct mptcp_sched_ops *sched); +void mptcp_sched_init(void); int mptcp_init_sched(struct mptcp_sock *msk, struct mptcp_sched_ops *sched); void mptcp_release_sched(struct mptcp_sock *msk); void mptcp_subflow_set_scheduled(struct mptcp_subflow_context *subflow, bool scheduled); +struct sock *mptcp_subflow_get_send(const struct mptcp_sock *msk, + struct mptcp_sched_data *data); +struct sock *mptcp_subflow_get_retrans(const struct mptcp_sock *msk); =20 static inline bool __tcp_can_send(const struct sock *ssk) { diff --git a/net/mptcp/sched.c b/net/mptcp/sched.c index 0d7c73e9562e..92057ca94cf4 100644 --- a/net/mptcp/sched.c +++ b/net/mptcp/sched.c @@ -16,6 +16,33 @@ static DEFINE_SPINLOCK(mptcp_sched_list_lock); static LIST_HEAD(mptcp_sched_list); =20 +static void mptcp_sched_default_data_init(const struct mptcp_sock *msk, + struct mptcp_sched_data *data) +{ + data->snd_burst =3D 0; +} + +static int mptcp_sched_default_get_subflow(const struct mptcp_sock *msk, + struct mptcp_sched_data *data) +{ + struct sock *ssk; + + ssk =3D data->reinject ? mptcp_subflow_get_retrans(msk) : + mptcp_subflow_get_send(msk, data); + if (!ssk) + return -EINVAL; + + mptcp_subflow_set_scheduled(mptcp_subflow_ctx(ssk), true); + return 0; +} + +static struct mptcp_sched_ops mptcp_sched_default =3D { + .data_init =3D mptcp_sched_default_data_init, + .get_subflow =3D mptcp_sched_default_get_subflow, + .name =3D "default", + .owner =3D THIS_MODULE, +}; + /* Must be called with rcu read lock held */ struct mptcp_sched_ops *mptcp_sched_find(const char *name) { @@ -50,16 +77,24 @@ int mptcp_register_scheduler(struct mptcp_sched_ops *sc= hed) =20 void mptcp_unregister_scheduler(struct mptcp_sched_ops *sched) { + if (sched =3D=3D &mptcp_sched_default) + return; + spin_lock(&mptcp_sched_list_lock); list_del_rcu(&sched->list); spin_unlock(&mptcp_sched_list_lock); } =20 +void mptcp_sched_init(void) +{ + mptcp_register_scheduler(&mptcp_sched_default); +} + int mptcp_init_sched(struct mptcp_sock *msk, struct mptcp_sched_ops *sched) { if (!sched) - goto out; + sched =3D &mptcp_sched_default; =20 if (!bpf_try_module_get(sched, sched->owner)) return -EBUSY; @@ -70,7 +105,6 @@ int mptcp_init_sched(struct mptcp_sock *msk, =20 pr_debug("sched=3D%s", msk->sched->name); =20 -out: return 0; } =20 --=20 2.35.3 From nobody Sat May 4 05:39:15 2024 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2040.outbound.protection.outlook.com [40.107.22.40]) (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 47C6020F8 for ; Fri, 14 Oct 2022 13:34:23 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OZdpz4OVo0ME83rk/Mydqzf97ADrs5m0WepowXjmRAZXlhH58mPc079tUIKKL+2AN1VCkM3VTewCGgv9C71dPDQCfev5VMbUIyCo+1wKFoXJf1WZRCRTIdl9Rl+TUkPTILiGG57Woxlva9cLYe1l/CpXSZlT81oSDVLdU0hKv4ESYmK6drzNWsdvxM4dIyp6NhZU4UicTVx+sorUQ2YfvrqSMj7Gb6mmmE6pioJW7CYZ26dyfjx703yAv7Hbg3prAHefzVhjcMAhcfRMHq3OZLKdy4GuRTK2POk/ISdM2vvi85arPcx/PdivkCFtd3x67fTZ3g3SphWOGWYFiFvKMg== 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=eU34LIf9WSvwvaxF0Xu8JWxr6eA2+75biWSXiYL7Gic=; b=RGNxSP2MTxunM4JQK3hL4bQXyeWIuExvYWOPKIBVlY2QG2pfdoTBChsi+ERoiC19nI7CL1AmgSRs6SiS1P7BCm+fmsHo3r7WAioQaQ25Ka3X9K8/WWiv2qnFB1W9PNvHGR7TVRkHLv+09rorageror89BeVtXQcSqpkQyHhDWLVBxua+bCkG8KHUmPGZEaC1d6Q680c3fNossGyNY/+5OmiwcOtghVs0DZ3vxBlDyH7Hygj8U6f+RwybLBElRWmfQKJkgYAyVHolPzTdbFH+1ON+WMbqEh5JMZvVosoxu3HbVHJXF5Qyl5kkhEnigkBQEnAsgxbfdM2YV04JrMDkzQ== 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=eU34LIf9WSvwvaxF0Xu8JWxr6eA2+75biWSXiYL7Gic=; b=iNW7JlTTODFeJUzLDdpZdm/4KJLunj+lcI823/S+HNDbnFzdyrT7agiW81NwEr0KAN/Kn1J/SJucyioOj7vMDGd5z9CjutkJOkE+xwYZTRf4yK4rQRfHJGWNf0Mt/7vidz57lYSTlwBpXaajiCuBXl8ZZ6wlk450o1wKPT7yBByHIenIttKEexSirmj8VP+2/nuki8wL1qWhSUWUYwN4mzziMp1aFhqPlJHsX9rdczUoLncuPGiUH3AZu2vpok8nRCYMU+rZAXpfSsbcrxhP99bhebsiP8Ps8QDAq0rutG4o3eVfADtr25SSZrOJeGqZh9YUTaHa+ybDNsaaf1rXyw== 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 PAXPR04MB9156.eurprd04.prod.outlook.com (2603:10a6:102:22f::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.29; Fri, 14 Oct 2022 13:34:20 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45%7]) with mapi id 15.20.5723.029; Fri, 14 Oct 2022 13:34:20 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v8 10/15] mptcp: add scheduler wrappers Date: Fri, 14 Oct 2022 21:32:17 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCPR01CA0041.jpnprd01.prod.outlook.com (2603:1096:405:1::29) 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_|PAXPR04MB9156:EE_ X-MS-Office365-Filtering-Correlation-Id: 9bb1a280-b915-4a24-3e3c-08daade8ccac X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NR8SseJ2nN6X0G9wqzWmOO5tj0Xgcp2kiqYfntqq6a+t3JNT0fyNFwUdEqUbiE/1FcFz2SEByZBHbmrtEzINieoio/Lxq/lGWL+UvhAcdhC8OPZX9e6E7gv6hWWzty59DfWmbiTck4xdiXF0fCHjILefjJqATxhfV49J4WrT56jth2FxBRALRIlGn/ciyzkjc6YzIIcEG8w1BvK/XsxfbDbmpw4z/8Zwdg9wxJloa7T4lfqn8cm0KWfP/IWvoDKQCTt0rSMj/VOfwyYlWt7Jbk+6C3l+GLJIIU0zlfjHNwSLUDBgNBoav/xM4THliqr5BUrTEsi8r5w+pCFd5NF5N/PKZKrVENK9Jun+GffK/qA9/lgQk0won9Lgjbb0618rQV/p3uCwKAyOrIPOj5juYdYwyr3fJHrLPSDSnw3OczO/w2R773bkHb8nTgaB3UFMn0/euzfp4vcj/+T4JOS7pawzNGiZewLmBaF/1blMERiLrtFPb2sFYvF0zB9zBOfBm1rrbOTUeEBrR1m5LmSQtIWIO856n/W+rVwOPNL6YW8kWI5z+4zuuJVc++8bWwgG2i7NnxLRu42T7MN1kwCC6ldYH9Mxiqdr6I3xOn5odX5zXS7hFsHPeKJcWjwaoZQFmsx1NNux5YnXQv5iEPVJotOEDOoD5RZJP73ItktxqpEMU3aRx3dBkY7kNcNJlQDuj8pQqItuSRhTzwrOJMWS4DwDreNykMqKUp5NI9L4EnlNDJ8CxzPtt5OZ7uqUhID2 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)(346002)(396003)(136003)(366004)(376002)(39860400002)(451199015)(6486002)(36756003)(2906002)(83380400001)(6916009)(316002)(6666004)(38100700002)(41300700001)(6506007)(186003)(8936002)(107886003)(26005)(5660300002)(2616005)(478600001)(44832011)(6512007)(66476007)(66556008)(66946007)(8676002)(86362001)(4326008)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ekFrZAy+Bg9eEo3rGGXVGkgfSpqvf7u7puB4RY6UeSxXnkrKOk6dxxNRzIaX?= =?us-ascii?Q?G5Q9HYYa2pN1EQ1grryODqXTuiqak7ATTC9qE9TZ99HFuvGzyKSz0Bf4oex0?= =?us-ascii?Q?4+iIVbcn78TM2R1lSFYlGDSerNlJAA/RmkB9gFK/buSY3EwAwF6Jgwg6DGyf?= =?us-ascii?Q?Tw8xiv9SSeekJ2SxQxKEfF98ZVmu0bO1ggQN4RwB4rXrOcj5xXDrgj2k2bM5?= =?us-ascii?Q?ZktwypHA9FHeAJleXcfBSli3XmnVBPrbulGzkeOanfQfA+TaNGW4Gg2Opdp9?= =?us-ascii?Q?ujmkZLjIHM+vTZq72hF4GU6zIh0fZ48UUcDw+yKbQ6w0ImuvK1YyFiph/Ga5?= =?us-ascii?Q?VS8FpugyFtCWPhkzX9pLmuV5RPfanufUvGuRoKT+aRBQG7Rzq+NGz28nuP6D?= =?us-ascii?Q?FhVpULdnmPr9TXNmvW8RlGb7XbSTBejAm8PRspLcO6MVEc8oshXs2Fb79AMZ?= =?us-ascii?Q?s3ZR0SW+j50nxxDquWNXUa73+doEZvgBt+Pqyl6z4teYrns51EN4mCzRK/iP?= =?us-ascii?Q?hNozRn1UKBGi955KqXUdifGuKrScP41jP8OdIpIbKm89dViYCzlGf7lig72N?= =?us-ascii?Q?02nPJwSQ2ensV3pVK8ioXP+OvFwM82qW6QK/GJmkugRiysKZot72axLxSOa2?= =?us-ascii?Q?kDbQdrqTMNzj5UiwAHl1Lt6NuCtcPc58VoFRvyCuMok+zg4gczGJbXtjWa42?= =?us-ascii?Q?7QkVmNnprJ6cep+cyJy42DbKCp1mlUnxVpYQBmt6EQ8Lby5ep9qVY7+9gH1V?= =?us-ascii?Q?U1Mfvz/MsH0jYph+zwBCSF+Mgdmpw6k8dSGonHm1j9s2YYvc+Xl40VguU7PO?= =?us-ascii?Q?Y3XYX2ciTUlWKggbB3F+iy7U4ZnoR/6thuVw2t/lcgASssmdW32I78jFd0Lv?= =?us-ascii?Q?X1AjT560JJY1pz5e/sJpsPIed0pQiY+NKjdhT4jDiJmeWeI1HWBu45J4uoj7?= =?us-ascii?Q?MNVwaFR5li0n6ZEKps77U/L2hYeJtQoyFBbqn924Q0lBnTjrKR/bJMrDUbFI?= =?us-ascii?Q?Srq7M9KDDi0ctj9UdWiKGZCxJauxa7TM9VwkE3M9AHqYJ1vARQ/67RYEZ/uv?= =?us-ascii?Q?fidH1CLSsWPhqwF+aKm8lEa1p3/0B0n8d1aS+NBdA6Ux7UfGkIuhQq72bZD5?= =?us-ascii?Q?qThMq8aSntbDKkDK76ecpL7AIUeGbnuRfB5N/wdl5tprNP1w4rkicJPkNHLN?= =?us-ascii?Q?0RAyhkHB7n059/eRn5SJUPe4FAF0Qsq1wio+VveeqpIFDRPluh1D+hCSwj+O?= =?us-ascii?Q?3rOfl6s6URX2RH/GMUPZ0ssZmJkTcfSFbSwW/P9y9ZIeSMRLRHBjc6Ycmwkw?= =?us-ascii?Q?lmVkhp3T+Waflh7gZ3302s00/6a6U5UgjVAS5AsYBTG6GqPd7rlwjDIXXl76?= =?us-ascii?Q?OuUFZWnIatJ0gj03h5b5YaoQKV18TKF3Sp/MkrW3lVWai0monQ3GLWkpUOjd?= =?us-ascii?Q?jqj7nXDksarFtp0cH3ohTIhvPA/p7WS5Xh/6q9nSCS6aSLB8/zmvQiqIO6tZ?= =?us-ascii?Q?dlmZUyFoQxajLypkiqyLjkIph90q2NZo/YsRhH5QqTwmfnL1qoIpvgrgszaT?= =?us-ascii?Q?ppJOvYdVgSDOGImKHiM/HQ+q58V0vkGA4uMcc5Mbn9110PNPxj5gygbhmwuQ?= =?us-ascii?Q?AQ=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9bb1a280-b915-4a24-3e3c-08daade8ccac X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2022 13:34:20.6079 (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: YzeBjr7FpJ1XAqjhTggwiT1HWKl86rj/xOkJ9tSNet50uduQvcjSKXLWtPRAMuJC0yqbbeYbiGSivCqVr6bclw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9156 Content-Type: text/plain; charset="utf-8" This patch defines two packet scheduler wrappers mptcp_sched_get_send() and mptcp_sched_get_retrans(), invoke data_init() and get_subflow() of msk->sched in them. Set data->reinject to true in mptcp_sched_get_retrans(), set it false in mptcp_sched_get_send(). If msk->sched is NULL, use default functions mptcp_subflow_get_send() and mptcp_subflow_get_retrans() to send data. Move sock_owned_by_me() check and fallback check into the wrappers from mptcp_subflow_get_send() and mptcp_subflow_get_retrans(). Signed-off-by: Geliang Tang --- net/mptcp/protocol.c | 14 ----------- net/mptcp/protocol.h | 4 ++++ net/mptcp/sched.c | 55 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 14 deletions(-) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 93c2b5d71254..8974ce86fbad 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1418,15 +1418,6 @@ struct sock *mptcp_subflow_get_send(const struct mpt= cp_sock *msk, u64 linger_time; long tout =3D 0; =20 - sock_owned_by_me(sk); - - if (__mptcp_check_fallback(msk)) { - if (!msk->first) - return NULL; - return __tcp_can_send(msk->first) && - sk_stream_memory_free(msk->first) ? msk->first : NULL; - } - /* pick the subflow with the lower wmem/wspace ratio */ for (i =3D 0; i < SSK_MODE_MAX; ++i) { send_info[i].ssk =3D NULL; @@ -2190,11 +2181,6 @@ struct sock *mptcp_subflow_get_retrans(const struct = mptcp_sock *msk) struct mptcp_subflow_context *subflow; int min_stale_count =3D INT_MAX; =20 - sock_owned_by_me((const struct sock *)msk); - - if (__mptcp_check_fallback(msk)) - return NULL; - mptcp_for_each_subflow(msk, subflow) { struct sock *ssk =3D mptcp_subflow_tcp_sock(subflow); =20 diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index cdea1efb14a5..95500d0293fb 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -642,6 +642,10 @@ void mptcp_subflow_set_scheduled(struct mptcp_subflow_= context *subflow, struct sock *mptcp_subflow_get_send(const struct mptcp_sock *msk, struct mptcp_sched_data *data); struct sock *mptcp_subflow_get_retrans(const struct mptcp_sock *msk); +int mptcp_sched_get_send(struct mptcp_sock *msk, + struct mptcp_sched_data *data); +int mptcp_sched_get_retrans(struct mptcp_sock *msk, + struct mptcp_sched_data *data); =20 static inline bool __tcp_can_send(const struct sock *ssk) { diff --git a/net/mptcp/sched.c b/net/mptcp/sched.c index 92057ca94cf4..fd29797af3bc 100644 --- a/net/mptcp/sched.c +++ b/net/mptcp/sched.c @@ -146,3 +146,58 @@ void mptcp_sched_data_set_contexts(const struct mptcp_= sock *msk, for (; i < MPTCP_SUBFLOWS_MAX; i++) data->contexts[i] =3D NULL; } + +int mptcp_sched_get_send(struct mptcp_sock *msk, + struct mptcp_sched_data *data) +{ + struct sock *ssk =3D NULL; + + sock_owned_by_me((const struct sock *)msk); + + /* the following check is moved out of mptcp_subflow_get_send */ + if (__mptcp_check_fallback(msk)) { + if (msk->first && + __tcp_can_send(msk->first) && + sk_stream_memory_free(msk->first)) { + mptcp_subflow_set_scheduled(mptcp_subflow_ctx(msk->first), true); + return 0; + } + return -EINVAL; + } + + if (!msk->sched) { + ssk =3D mptcp_subflow_get_send(msk, data); + if (!ssk) + return -EINVAL; + mptcp_subflow_set_scheduled(mptcp_subflow_ctx(ssk), true); + return 0; + } + + data->reinject =3D false; + msk->sched->data_init(msk, data); + return msk->sched->get_subflow(msk, data); +} + +int mptcp_sched_get_retrans(struct mptcp_sock *msk, + struct mptcp_sched_data *data) +{ + struct sock *ssk =3D NULL; + + sock_owned_by_me((const struct sock *)msk); + + /* the following check is moved out of mptcp_subflow_get_retrans */ + if (__mptcp_check_fallback(msk)) + return -EINVAL; + + if (!msk->sched) { + ssk =3D mptcp_subflow_get_retrans(msk); + if (!ssk) + return -EINVAL; + mptcp_subflow_set_scheduled(mptcp_subflow_ctx(ssk), true); + return 0; + } + + data->reinject =3D true; + msk->sched->data_init(msk, data); + return msk->sched->get_subflow(msk, data); +} --=20 2.35.3 From nobody Sat May 4 05:39:15 2024 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2073.outbound.protection.outlook.com [40.107.104.73]) (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 5FFC620F8 for ; Fri, 14 Oct 2022 13:34:33 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aPmIbCVBeuQA4dWIFip3A5hmTU31G6IPFwm6Tt8mbGNS3Vwqg5Sf5z+LATRhpcZtKS4dmC/eUODP/cV6tlSJ/pzZXwfzRhKaR23r6n2LHw2iC8ZCKVZr5w02hbpGyW4uvxsh9+tTJZYDJ5LKsuI7aykClqepkZ1QTqA22w4ErRfONx5gvC7FG1fhAli21jL7Kzj/Ld4A2se158gS2cMw71BWypmoDQHPwXtJzQfNYgW6GwOgKEFCJ+6eMly2GIAPyI/lzPi5+MYMJEanuBSWmTD2t/LkXk0GYrOsl0tokFYSsd5mr4QCeiFrGQRG6/axkhqV0uBgIkd4AIXpLCDbew== 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=30U1osd3bNjh6lpo4MPEY/Z2QOyeQNh0RWxy1ieaTQc=; b=CMArDYThhvqHBvf55EOycDr9m9Iz0WpR4TbbfjAk1XhwA+cQ2PnBg3jKm6vkiCKCfTisw8UzP0D0tqOYAscHraVQs52rKv7Tbah5Q+vO66VaEe9KTSL3OICemVloBpHRJ2JJKaEQqjOzmrxRwHiuyGQduKr/T1bVWJt/a9IDbDylh9olvgf8oSkOd/Hdj6NIwaBeEsTP3rGDlHZdu/eLIjWIHBDu+DxV9K+V6wuQblNtywiHPusmQlOoj6Fgltk4JMh/rWp4ayMm6UERhU8ok2jwaHWEiCAHqBAlPeU0JXAJ/1/Xbc4y2ZxqZRuJI/Dlxx7SZiCVvZeyew/VIkwtrg== 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=30U1osd3bNjh6lpo4MPEY/Z2QOyeQNh0RWxy1ieaTQc=; b=Tj9TJWV2p96Zxp0VvCGdOxg03CGQ0H/+CUHycUrAKXSJiwwcK535GC4UA34KEKbyIAJPA09cLsLsi02U4I8zq7ESx9fi3g/E/CUzGO9Fo2VCyDZJS9vKX+lpBd7HV10z4UMnDFzhNfy4UPEe3jXFjNdu/PuWyaHL8zXxX2qVnnNIstn8A/zfw6QtdOiHXiUb5TyLcmpX38Mc48giKStpIndBWxLYenw8t1eIKc0K51g57cfuXK7svQcIm217ZYvIwVZiwESyEwpsBPr9kYo9qralpOwOBqhC5msHk7TTR8AstNmKSGqsoCdSESI5Cwusamh1fbbYnlssinAZ4gDKAw== 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 PAXPR04MB9156.eurprd04.prod.outlook.com (2603:10a6:102:22f::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.29; Fri, 14 Oct 2022 13:34:31 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45%7]) with mapi id 15.20.5723.029; Fri, 14 Oct 2022 13:34:31 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v8 11/15] Squash to "bpf: Add bpf_mptcp_sched_ops" Date: Fri, 14 Oct 2022 21:32:18 +0800 Message-Id: <779ac12751ec7370eac345d1e1b954dfddef9763.1665753926.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TY2PR06CA0042.apcprd06.prod.outlook.com (2603:1096:404:2e::30) 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_|PAXPR04MB9156:EE_ X-MS-Office365-Filtering-Correlation-Id: 3ab14a87-b613-410a-0ff3-08daade8d2f3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ri5+uS2n8AKTm5SqKZmTxcDXV71JmJgII+XQ1OWoB2qwv3Hrz4CWeZfCTr9EGfrb5JGcJGP3NpLLawVTlIvtv3bZyBPBKCCLIiR8ir0rCHA3WsLt4gsEVagMoq2QkleJGF98BdEQin1qwByWoKqONEodlu5fQydgDy5uMp4pkui7Lg6QEfEr7s2bQaUcgdvMm3yA0mlk2f2/fOORzbfWvahEX8OfYF/QzynbVslUmpsQR8JzwMA0fp+KRaRSRBMiNLYUFGilvjSOwpjprGQ+RoO4TrQhYXM/dv6KcczHXt1qMSANTKgmaS8oagHIWyR+WHsW1m/VxQHRzqm2dCusixtBzQSTYjnP8kYC8UMYq6onjOXbSpV+mzQF6+HYWfm8lNpxVKsvO/tyh0mFF+9rawHS4CZWzxrquiGcSKWoSyWM77SKwrzkZldlNL6CqFr6kkGdwSB5kCt8mHwAYbIrtd4r/QLPOb0nAT0n64VpnK3fuHYntyeGxvOd6F+aP+aswEBAYnAoy2M4kDVMYIq20nzTDEfGiQRnaPpLzVfASQPyJBgdHTXRi63xoXDvPqDxVfLTLlg7JakxLDyGpLoNuMsSywbY5UL+JbLL9+dazWQ5IanJ2EdF8gqqal0ZtKxyRu1gBj5dE090/+VQdEE2pRcM+G4UfAH5/pwQafvb2ccQq2tBuZ54lsVeIo/H7FHHMcsK0Edaz06C/WAhUqeRNoO+43ZwhDlRtXEQntTi/FHcljcsf5AU2+ynRmtdARSs 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)(346002)(396003)(136003)(366004)(376002)(39860400002)(451199015)(6486002)(36756003)(2906002)(83380400001)(6916009)(316002)(6666004)(38100700002)(41300700001)(6506007)(186003)(8936002)(107886003)(26005)(5660300002)(2616005)(478600001)(44832011)(6512007)(66476007)(66556008)(66946007)(8676002)(86362001)(4326008)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?QECjt7xFJr0d5kY3eiWtEpgaQXoZ9svIyZAqw0Vvq9QA3FGvR+5IQ59zjjKG?= =?us-ascii?Q?80AGfMPnXAMEiI92CImJ05/lR14mUMFBzSIcv1mr+Yr1GcUNo7MiixBRJMyT?= =?us-ascii?Q?BoCToO1IMXl/J71zgC2tRA40Ubl7z5nyzQk36+Y/HeyQNU3g+MEhx/EYjTHI?= =?us-ascii?Q?/MUG+9RWYWLE2P8JKIb38wnkj/cT1XJYOCIQ6oeXyVG6ioegGZucLZlKkDgC?= =?us-ascii?Q?Qj6ITqRA3564bSF1sl0N6OJHU6tWNMoLPowsxumJKiuZEfs9FZFT4z0pT41K?= =?us-ascii?Q?1kR2Vidml9QPcvZEqGf0J35RfIaJ+3iv/Hxr9EAFW6rNCkKiaUtAA4CC4xrm?= =?us-ascii?Q?Ah5conRAebeRKOxfOXOx890dfN6mr1P50mUM2eRAGzEXB0brG9o9HBjXjGCF?= =?us-ascii?Q?veIYUbKEjMMZkib7PbM8tObNFXhXuPG7ADCgo7zzooYmDauG4acG6m7NbUsj?= =?us-ascii?Q?qBK4HvmSJrmD0A3ToBLTQI8gqOxgIKJqEPZoQ2NaodqwW43i3EMFVzyzE4qZ?= =?us-ascii?Q?qjEQhsMUnrcuf1WPvfTdkS0Z6iZlP23biUAt+CFXaJLceaeHohKu7fPs2i3l?= =?us-ascii?Q?ZQQ3+MY6V/qKAuhl91w5FHxbMNZWsQ9+vVPozEQX5RLZIntEQWWxoVQS8SDA?= =?us-ascii?Q?Al5D2ODTeypMboxgrZ65QctbUreYaDOXR9OOEbCSftjFWsyfkXarSaXBAlbW?= =?us-ascii?Q?EWh+3uoxn5xu7XJ9RaNvojowqn+N85eXH3eOINw7fCoYR9MoQ9RqUG1ZbTpD?= =?us-ascii?Q?krdd0ORBRo/qDtJkqP7ksNNWYOU58FKu/otobY06GnVfNIrbv68vvrsTWzJn?= =?us-ascii?Q?jRnIqpoPtEQyzVfI3lo0FDxWHnks5+/ZkPaAxhHqrsBVNNt4Pq+uXKozQ54s?= =?us-ascii?Q?nS0qwKlL67XtUpoKtgSs2H9UP7PJ5ZHWOSEpZNuu13ZIpcJUuuTMfkTXv35t?= =?us-ascii?Q?oe5ZMXcFN7o9HEJ4klChnfvNucUxO7UetDV/87xX2BxwUSz+po9i6/h/rcBy?= =?us-ascii?Q?ngJjnWaeu0Ufdwk4tMYGz+z4t4xcRXN/pBN18yYV54z9ZdzzpCto+vp/XT+6?= =?us-ascii?Q?zkJW+tp0PmXHYb63RUqtn8sF7nWD48AONl15OM84JkoZJ8UP5VNzSdHenCy0?= =?us-ascii?Q?0c0N1rc9doTBVOpZCkyjII+YSRBvhRu71P7sXtGaHde44q/PwRDqNGAMiIQE?= =?us-ascii?Q?Yq70qfVm7U1desGRJOGnHiQ8H73Tjvpm8tfdwJhoDbYIpC5iS97VsQ+PWmkw?= =?us-ascii?Q?BVKKgYh4+sVQcw5YeWxFWnKbl073cprN9b5C83VYcOS9cFlvjjSqRYd1SdMi?= =?us-ascii?Q?lr7dyYa6EgzSNqCUAsnE4QwWhW81NPFPlsSP+2qDQSbh+s4+BkqWiy0RqUCB?= =?us-ascii?Q?OmfVqfTr5L+oj6rLl41wpwT9V2Y6/Lx9iz1NnRMRXpObJtwNm/EAIkOFiWzE?= =?us-ascii?Q?xdCELnhxalALbFCCAx03D3j+lUQbIoBf2ChPqlKv1HS3Nk+vPIQeEE6QjPE0?= =?us-ascii?Q?1LcPL4Nl0M2JupLRUIacVSRUie7GDlQ++zMmcjHXVph6Gm1IJiNzCGaT2ZUN?= =?us-ascii?Q?XDZWX/tJqE8pWqHWJPsIolVcLpf19OuZguj5s5DxX7zqsQKe5C/ywPqtugf+?= =?us-ascii?Q?5Q=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3ab14a87-b613-410a-0ff3-08daade8d2f3 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2022 13:34:31.1227 (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: nGCjD5J5e/YXMvyX0GwzHsJAGe43o43pCBXkh6RO9SIBu8KvJJo+cKQlLdlhqY41PihQDg+FeD9NXPQdaC721w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9156 Content-Type: text/plain; charset="utf-8" Use new API. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/bpf_tcp_helpers.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/= selftests/bpf/bpf_tcp_helpers.h index c7d4a9a69cfc..701cc31359d3 100644 --- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h +++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h @@ -240,6 +240,7 @@ struct mptcp_subflow_context { =20 struct mptcp_sched_data { bool reinject; + int snd_burst; struct mptcp_subflow_context *contexts[MPTCP_SUBFLOWS_MAX]; } __attribute__((preserve_access_index)); =20 @@ -249,8 +250,10 @@ struct mptcp_sched_ops { void (*init)(const struct mptcp_sock *msk); void (*release)(const struct mptcp_sock *msk); =20 - void (*get_subflow)(const struct mptcp_sock *msk, - struct mptcp_sched_data *data); + void (*data_init)(const struct mptcp_sock *msk, + struct mptcp_sched_data *data); + int (*get_subflow)(const struct mptcp_sock *msk, + struct mptcp_sched_data *data); void *owner; }; =20 @@ -265,5 +268,7 @@ struct mptcp_sock { =20 extern void mptcp_subflow_set_scheduled(struct mptcp_subflow_context *subf= low, bool scheduled) __ksym; +extern void mptcp_sched_data_set_contexts(const struct mptcp_sock *msk, + struct mptcp_sched_data *data) __ksym; =20 #endif --=20 2.35.3 From nobody Sat May 4 05:39:15 2024 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 96E6B20F8 for ; Fri, 14 Oct 2022 13:34:43 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WJmrarI51b0MU+NggQ2vco6fSWeH2B5xZbC/tstrtAFGPeCstgf+H8OxdwcLXM/Gm5X8XQJlDpaAWkLHVrGV1HAogf1qxlsyAxufhG2C5bdkaZ7Cca3Shn15CVWhlYtWZ66XeSEfYsQNfr+ttHT1elFCsLXGKSWAQjV4+0A8y2hwoUIXNBgR6hFYQ+E9QLkkd9GOq8sOoOOUB1A1UOC5EeOS/USeUW8p7qK82JrgB3Io6BYbiReCIFy1RhsrLEwT2VQlOyMZmQu6s3pTh+xQtfCDnLySOxdMXyMJkOfzOfsfwXMSAhl7nlMq+2fZRO0WIBU3lX/1izQUSHGtMGWGMA== 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=AJjowJ4690G2NdLtiQ+Je2I0ckCnZXEC/DGaQQoUNmE=; b=RlCbpSUTwevlETwaSTrl8S04rVMQnIEsqQHeh9/jn+2XKjhmDffaABOhCeXu7hJ83oKqVmQzAqqqpdhKXDUdWfdDsDPAX0CfqmeL3Ri7hVnUI+dOrIgXXr8R3ZJbZu77fdGG77e58eKYinnayeSEUscV5HF+BbfYCfuX6ey9Jcio2u5nMVuXr52/yb0AQI4zy8CXqoCT8vfQONhrIMbxZHH6TVZoxWRh6PeZGP8ce1vpui4QHAj5TC0nutPIBiG28XfmOgr7eaT61paSsG3J06bG4xEixctF/Kv4JORba/8CNTxAegSDyFKB1PrpPxMStYQEdCYtSYSMw9/sq6bkQQ== 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=AJjowJ4690G2NdLtiQ+Je2I0ckCnZXEC/DGaQQoUNmE=; b=nIrN9Ii2LuP2OKpFIQgOkri31RoncAah718qCZUVu8RGsw3TVgihahXHF+em8rYKuOVoPE9xuDzeHUARUgq5q+yYQzHzUM43MiFaTv05ONce9fz66hYVYMLaoQuK99KyzEodxYc5uoTRAxCQgOzYC2Sk7bKE4YkkyCN9deHx+3SEFMr3snHfIeQUAt8qKhBaHEKyI0u+GKFcyysMxLty961SZjhg2oX0IMvq8w9J//X+rJzrUX+tDoXgyD+jP3F6xt6vmx1praKK8Evyskj0V8ZAMf1m7QvFq6wWicsm5B/pL2RcIP8Mjhsf6Pv9q74es4vqqckgvAS/ynmx5sBVtw== 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 PAXPR04MB9156.eurprd04.prod.outlook.com (2603:10a6:102:22f::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.29; Fri, 14 Oct 2022 13:34:41 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45%7]) with mapi id 15.20.5723.029; Fri, 14 Oct 2022 13:34:41 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v8 12/15] Squash to "bpf: Add bpf_mptcp_sched_kfunc_set" Date: Fri, 14 Oct 2022 21:32:19 +0800 Message-Id: <834aee3abe542d820195195cfb9e981e0cb85426.1665753926.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TY2PR06CA0038.apcprd06.prod.outlook.com (2603:1096:404:2e::26) 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_|PAXPR04MB9156:EE_ X-MS-Office365-Filtering-Correlation-Id: f0c0c774-57bf-481b-ac76-08daade8d8e1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nk1/1HCPlz5dG2lQ5N3YZbZOOTtdvIqiM70MTK+wJ/C+FShHgUh2W40SR3HcLmx5PnobJEDFOdJ3oekjsRhDTwFXNOJxykBlxbdRdhB3dqFcMRnz0eOUB1jDqzQ4HZFz8ZhoGDtqxkOKReRBemZlpBPsctX8qwkJnZIp0ZjZer3Qr6IE7SZ9Wq7ziq3i1rH4cKVmlh+X2AmytwYQvsN+674nSuzMF2LILgkiMf1YDMzZI30+fPF8RyPQ+ZuVL3nBucZ6FVGH+nVFY1AJJZbW+1j8c/5AjLLmSuQdzYjKQNNOmb7XZWJBEJZ6E6plODUTe1W6p98yMaaKhxLKbT76DiCK+BdLVXs0TPM4W/oJGnskHmg7LEzia1icOS2ecg1lgS/dsAOJjny2vucE7Lx/+fP9RuKV9qxdhNA7Atb15uPM3eur+K2Py0C85OBwxu1MldwCvcSSZgnbnEk2Cx3coB1guWk8qrCKVXIcF4Aq90/wGEgty8/AnBOnfYJLX5XRizPvdrar/gWvbSdX12zYpKy1mAj4AkVikmSW3HtqZI8RaglH3PlE/uiHA5388YGVS6G11XDxYGt1K8IWIJNtDCc6lR7YXvXRtR6FHsAn/1Ei1qEsT1g8gc5Gk/pwMGY1ZDuZrzkvqHwuBlY7ziPrCl9FfkczYoTWk6Y+U/dVjj61Ndi023wuFboLfPx7PbXHiiOeJTDseA91pmpJmVWiUXSbojOTFx1gfWfcpf4UKg3+NGriE4ManO4AuDhwoVdm 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)(346002)(396003)(136003)(366004)(376002)(39860400002)(451199015)(6486002)(36756003)(2906002)(6916009)(316002)(6666004)(38100700002)(41300700001)(6506007)(186003)(8936002)(107886003)(26005)(5660300002)(2616005)(478600001)(44832011)(6512007)(66476007)(66556008)(4744005)(66946007)(8676002)(86362001)(4326008)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?JmoLtMO5y3g0b5bSurjE/NfEbAtpTGB2SzHhVo8J+Rt/+9+GJtqtAUqTHd0D?= =?us-ascii?Q?WsFS6GY9Br7y72+jyhO9vKhR6gHR9gMMol7Dun8jZAIKxbL7+H2E69vzYQ30?= =?us-ascii?Q?maOKCaxrdcgbWXwogLbDXxcxsRyWI/6Uhblz3rfCKL4WxSZ5+blv8WZqBPQ6?= =?us-ascii?Q?wXSeypXCsmAGYo3wZmK99CgzfCCR/EwPaN5Mwf8xlMchYtFKMWquQ46zBSok?= =?us-ascii?Q?aQikrG8yJpsIsS5bNxG56NRUHNCcnLEK9QGkLvDpLhoE/HUhxUow28MKxhyE?= =?us-ascii?Q?3K0NVwa1qzbtq9fz7ai8lJ7aXkvjxmutFmlu7QcXq8a4svWYt2LFHradQPxX?= =?us-ascii?Q?Zj+lW1xJJL9lo2Gw4boUkEr5OcXtjG3OdbXtmSPEehaJYaxSffqjVP9tcXeM?= =?us-ascii?Q?iWmd9m1IJsLYPnyx226xkN0uBb6z6e98oNAcdpuYP05fnF7fNbYttYktCaBZ?= =?us-ascii?Q?4iZGbEqXheuQ+T9h4pKw11c1yUvfaqMsW5ATMat5P+PVbw0eKis0f5fwrody?= =?us-ascii?Q?oM7p/IPKuO1CR7hkX8l464+5rTk2L0EHeySx5nfVw4wMwCH2weV8BVvYSYQz?= =?us-ascii?Q?/I1ILv2KtsiOzAmir2G53iLhZ5FztXEA5KcrqSI9FYNH157/F82hepvXzX9y?= =?us-ascii?Q?3U4tTajNWbmUgEEAbIyySH3HGrQRkPF3qBaAC2TfxqzFMKO/IvfDaZks1p+k?= =?us-ascii?Q?s7FENuIp7keZzKn3fdSPVHrQqRcBG3sr+07m0xJuXm0aFBwNG+aOwgy5gOqK?= =?us-ascii?Q?SkKMyJIRdMjJU3NDxFYzy+D2z+2KD6SAqJbBwhMqYCv2qAD0wiGagoAZBi/c?= =?us-ascii?Q?jwaUMV+I0NPN2eT159fZuNp+DZju/0Gl7ixppyCYGAMgyS2LDJ4Ubwvv02Hh?= =?us-ascii?Q?QgrxkBI7Gm7DtB3i4QYP4llPH/B0cJsC7TY91kaOKliSbizuf1nCPBBnRMXC?= =?us-ascii?Q?nKC0hu37Es17iFqxj+I4yCWH+L5hjinA1U+rDskF8nKXK8XDWljfiu5vfm8O?= =?us-ascii?Q?x1wyNYj6BMAlKnogYBBVSmI2qVeWQ5v1npJ01bVxUsvCzuVZtmejTqMqWBLk?= =?us-ascii?Q?qcEIodlRE2Cs7UhzOeJFJRZZWl+sZccfgpUrJXVpxdkn3D/R51cdBE7elVvr?= =?us-ascii?Q?6nMbJlc1K5scfXJBQRsQgUBqt/FMWAUulProv83y8jrykkzZz/MU7B215xZw?= =?us-ascii?Q?JqLdZHFGXwmay9JMEY5JodAn2B6DHAr911Yi383Io8J9EOfwrqryTGEpLtcc?= =?us-ascii?Q?1DgdLfS5AEveueh8xX/CbYgzAx7k13/TgXqg1GvBcMo8ISuIfPtv4lvXEYL8?= =?us-ascii?Q?AAREWECrr6jV/j+ryR1KwRVUPe59X0miQbWLNUVzJ2+W6APWlRbbZKCiy8Dt?= =?us-ascii?Q?DJmmD4ITlyNq5cuZ1q/F5AkR4IU38XlMLFtiSSzqHG0s6csidsvbECxMZEvQ?= =?us-ascii?Q?r4q9kYG8kRq/T7jI8kzr5BUQIlalw8zZxnAYpnQCbkHB6T/iNNP1eC3jGn+D?= =?us-ascii?Q?Tjx0rMGkpsNKVAgFsdiOfSc529rl+2PmiAawz+MX0pnhj9JH/MKJtPizLId/?= =?us-ascii?Q?ZyBAUqHIOBoFX8ZDyYq99NpCP/rEJiZAPwrAQN8q5Bm2uGPvYoF3PdqMxVPM?= =?us-ascii?Q?hg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: f0c0c774-57bf-481b-ac76-08daade8d8e1 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2022 13:34:41.1063 (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: sig7jxUbn33I1jXF338g+XeR1Ya5sVtbos2EBCIzGOu61Zh+PqEo2VGuLMISqbBVPve5bVYe/XgeoNdUJPAi4g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9156 Content-Type: text/plain; charset="utf-8" Add mptcp_sched_data_set_contexts in kfunc_set. Signed-off-by: Geliang Tang --- net/mptcp/bpf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/mptcp/bpf.c b/net/mptcp/bpf.c index 0a768898990f..03decb05755f 100644 --- a/net/mptcp/bpf.c +++ b/net/mptcp/bpf.c @@ -164,6 +164,7 @@ struct bpf_struct_ops bpf_mptcp_sched_ops =3D { =20 BTF_SET8_START(bpf_mptcp_sched_kfunc_ids) BTF_ID_FLAGS(func, mptcp_subflow_set_scheduled) +BTF_ID_FLAGS(func, mptcp_sched_data_set_contexts) BTF_SET8_END(bpf_mptcp_sched_kfunc_ids) =20 static const struct btf_kfunc_id_set bpf_mptcp_sched_kfunc_set =3D { --=20 2.35.3 From nobody Sat May 4 05:39:15 2024 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2057.outbound.protection.outlook.com [40.107.22.57]) (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 979D320F8 for ; Fri, 14 Oct 2022 13:34:53 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iCuiNYnlWX84NCjMIS98aidtwmcVO12lBcyBGNWnZ8OmUU2Uru7K2KTSBWQDqrYQyOHSWeVmACoGdJ+/roDW9mLH1Mw7vEN7ljR/xVg8Mpw2YQBTujQCyD2iKwU7rDceL4LC7FNHPiy44uh9EQjQ79kN33Rd/x4C/tJr1ttFTdr++KbqhkJVo3gCBC+1aP9k1CZxTDQ8zavlRTKBnspILZ64S4/DJQIkgy98Wp9gedg06t6U6pQwDMTQq9QbkPaBHABZQku9zO2IF2qE8dJaTofQEtWJYs7kQ9zxN5d7XxjAxo3bYHYJ/tawWLojzIj1re5vZMOI4IHZQG9hdpH9oA== 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=BnDh4myN5PG5rA51tFqnEO/Baj34uQClbwjqgpGiogc=; b=NyGSBS3uVHoZhG6fP5uGuT7VtmAQkR4Weac4u4v2gUToM0KM0+66CaDyjpVs5yPlxtVPFkGYMo0V1B2rq5aHtiOKJQLkurEgGrCpWD1RsdUvCVTwATwpJ0VuSWr+UHEAbvIYu5Ke/ZM+HyPeuymzwFFAYOpxbewVl56kZkSMC+UrJpJjeOzuo/WcMZGy1ZgnGKdWFC1doirdfcMs0EeBORZD2OpUHEVoahNlRBJgigwPVW7a4V3egvbUGqZX1SMYMG9/AJ9vndLdvd8EpKFptySNVRSQkH2oIj48AdlDAK2SQ+8TC0cqmlg0Xq0VQYl1oeZyoddGG9IF8wLoGKErBQ== 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=BnDh4myN5PG5rA51tFqnEO/Baj34uQClbwjqgpGiogc=; b=gva+bBk7dhNeekjHd/JpCmiq4zbDpc3jXZgNIbWpIxoaSVnaDjz8iAlx0vMyLR/bAraOpS+1Xj47ZrGY/jEaCnugz+yEmnTd4zpynVKVpcGszIhUcOjC4Fcd7bYDRZC2+TR6hM3Sc7tTsF5UM64+5E6hudQlrub4Mi7jmPoOUt2YwlQx3ZoOL+tQeIMxFCCNE4lC71nfCaYslMtpBZH6W1luZwkvlLP0K9zTEgpEeEQWE1PSDXiGS7y6ILFSMeshB1sufvdUJ1hHPXnrzetsBxVFiAM0Az09cVzY3EwopLMw3kQQ+Kp4DpQ5uP87bBZowAEgy82C6pWbIhvK4ofHzw== 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 PAXPR04MB9156.eurprd04.prod.outlook.com (2603:10a6:102:22f::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.29; Fri, 14 Oct 2022 13:34:51 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45%7]) with mapi id 15.20.5723.029; Fri, 14 Oct 2022 13:34:51 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v8 13/15] Squash to "selftests/bpf: Add bpf_first scheduler" Date: Fri, 14 Oct 2022 21:32:20 +0800 Message-Id: <74112bf0ecb5e8a83985e6d38d52f158cc9a893e.1665753926.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYAPR01CA0084.jpnprd01.prod.outlook.com (2603:1096:404:2c::24) 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_|PAXPR04MB9156:EE_ X-MS-Office365-Filtering-Correlation-Id: 1909381e-e2ab-4451-48ec-08daade8ded0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +JQjIfwZ5+gekIry0PglYgp5tF83lZQlo+1+j4EqDx9tmBwStldzq0oyReEP4HPwFlleNzhXNdtAscgULNXSsfseU06nyqC+Pa0ad6v9GWFCKdX0s1rRygrsTQ+2zoaAqVzoU1m0TXuBQNmlqiGNgHGxfdDdwwlb2lXoF7V+VWH5xrfYoiphDjIPcLvb9nyFm/LOoHDC2myKe0F/D0IYIj6fSnCBvE+FFCHrVSTOiAZlbT0C/hu42gexAU+jM3D2vLTamHjZAmG8OTVgg9+jnkIO1u+622NlXH8Am33+YpUnomj2Diu0jujCA+OxmoTEFFG27VHefhiH82jU6x8k4AxKD0NMpEdBX1fHUQppxElXw8YCjn7QcHHw26Fix2aRGIvlWIgarTy2HwxGo6rd7AGNAJjBplTBAzeLxUtxdpte5x38gItYO3qWouWLnzE+06UsYe+FjWw/qIU5QTduTWDKe2/FLBE+Sukw2OH8ofYQnstCG4+1h+48ayTj6KvR4PNuL13QNNWJjv+jf4b52nxk6xh98EtnkkSWH8CyVCgsEnymTZmqhTTLNYr8ZnlidSYAK2ipiI+ci0y3KK/Y0j/KxPH4clybBegjHF7UEMUwcbgj9CjEPtN4ZoL080Ady8S6HkXbosR0EAFIUMVEZ7uR5XrOlRr3qjfoviifV5ron3cGgRkfPP5WgXaFEW13NN4g9bibBKvdN5gYSurFXvcmVlVhffAzt80r9mlbxWBomB9dc8M8gksBQh2Teyss 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)(346002)(396003)(136003)(366004)(376002)(39860400002)(451199015)(6486002)(36756003)(2906002)(83380400001)(6916009)(316002)(6666004)(38100700002)(41300700001)(6506007)(186003)(8936002)(107886003)(26005)(5660300002)(2616005)(478600001)(44832011)(6512007)(66476007)(66556008)(66946007)(8676002)(86362001)(4326008)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Fh1iicUtF9aXX3sF6Ivbhzhzytt1ALqGbbLbkWq2LRlx4FAySq7jg94QjQRK?= =?us-ascii?Q?eig8RPo17GnpuVyTIOXcd4aqpitKc+V/ivgOJYKU587rlgmvsNl88i51wz36?= =?us-ascii?Q?YmVYi1yc4i78+ZWYiH3yhS66Njv9eRjh9cwr1XnpGanQegxwso3I7g7K8/bp?= =?us-ascii?Q?cmFHjZGEWPLSRpaFLPPGLQFJmkJAnNvvhCzcSu6x+DzUVC3WmU75Oba+5Nho?= =?us-ascii?Q?B1pTaP8c6V7q2Dp5/fpAkHXJ10OYt8FmvtVWM4buRsRfYq+AADPM5rfeV2XA?= =?us-ascii?Q?j2W02C1/zPcXfAlB3vXzsSzUs5+y/XGkTPdW2JdvxLx7X0ime6mOUk9XHlmE?= =?us-ascii?Q?vVs6UNB7DnZ7JWeiO4O1JUHaatLhKobhey7AbYpycvnEiuYPdHXHdD5SwLGI?= =?us-ascii?Q?zMsNm6gJ9zU37Bohw18Cn+3w6RMnj1PP0rL1eNyo6u+blsVdC7RG1+O21hWT?= =?us-ascii?Q?hQMmrM0MH5ePhfxopawsAWqusoo0uI5P5hqQLkCHUrOKSdE7EmVVKuGbY1ew?= =?us-ascii?Q?OjYWzF+QpVuD69H36yOTvXbuVrTbu/xidbTYBBB8LoRwsKBJbAXjR4WKSkfk?= =?us-ascii?Q?ahczDv+S2j3cyHPq2bCakDmaplmpyqdc/+kT/Ti+59432cBJXMuumuufpgLy?= =?us-ascii?Q?seE45r5zaAg8D2O/KmFAffnre30vyw4Bi7dUOscahDH/1nEuwQACt3COj5eW?= =?us-ascii?Q?EaJWAxj6J1xSJZ4WHp5SlwJI1b8KUvbQDaseQ8wlTKa1TGHzLrX39uUPZenL?= =?us-ascii?Q?A334ZtiT9+oIVepXnXS0v2xm9lPjqTNWtXeaYNbE/8Zcu15zLbOG8nl3ey2y?= =?us-ascii?Q?3bTnqGcokcrra82XO+UTWZQR42uk+BarSgA+JVdPGejRzCmh61YUgzyTyPSY?= =?us-ascii?Q?Vi6D5QG0HLIXTEx45JtdieSO5cuTAHltsZnkCKqTlSVgjNQfdoS+rqR8GY8T?= =?us-ascii?Q?v4thaWlAR7znVKmNJQoVlqxznhKc6b7MUEqt2Qs+trJ1xrr7YD4Xn4gwFemt?= =?us-ascii?Q?TGipB3hRpWC2OFr/3qCB3A0jxWwoelJQMqMHowotpDYHHmQ+9gPnr9GnbBnX?= =?us-ascii?Q?eEw1JqdTzTw44syKxJeE5/Ecg9ai8kyy/dncwExL2z4oxmRxwoAV5nYNVMwN?= =?us-ascii?Q?MCE/SKforXDJfsCEKvbKek5HMZ6O17U8ExgCxZhAzT5ac4E2/L/xjmXie+0O?= =?us-ascii?Q?XgEXZ+nk8zbmdTQKfKjUbvGMSY7VBvhL+8YtCn1lggc+AXtY8gZGUeA/DYdu?= =?us-ascii?Q?cLoLNYc41yQWGz83AwKQxJ7GO37RpGGQOl01bXH1UweqL4m6dt6ogWhnjUut?= =?us-ascii?Q?8uo9cVP34eP94yvYpKqvGYhoQigREZ3p44ndHuJUXDnYTCbOkKDlDLmXCj00?= =?us-ascii?Q?JxcZmviPTbZWx1IC4LPvISRmIAnW46D2OI0Wd0jj8k6QFqGBR0nD7DlyBDQL?= =?us-ascii?Q?YK7wGZB9Suy6LfGAzVRa0cj5Jgyya2lXTv4mvq6j2ACoqfnGViCzTwV/vw3N?= =?us-ascii?Q?y8Sr1HP3ROnPiigh2BgDFVxJdSEjIyzWg0nlf1udZR63a45L4CDLaFRVP1z/?= =?us-ascii?Q?rADLDeC/jKnKSW8+Xm8/i/vMkHUHDzktOUJ2WKsfuHsnf9KnU5/H/vfp/TJx?= =?us-ascii?Q?8A=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1909381e-e2ab-4451-48ec-08daade8ded0 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2022 13:34:50.9493 (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: uL74BuCkam7+KSpisMza+2wccuiw8izMCugRt8RwJEv6ajCnGJ739m0P9RwwfKIaohFV7TaIw/o5sQmVe5uH7w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9156 Content-Type: text/plain; charset="utf-8" Use new API. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/progs/mptcp_bpf_first.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_first.c b/tools/te= sting/selftests/bpf/progs/mptcp_bpf_first.c index fcd733e88b02..e4caa2dd8c6f 100644 --- a/tools/testing/selftests/bpf/progs/mptcp_bpf_first.c +++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_first.c @@ -16,16 +16,24 @@ void BPF_PROG(mptcp_sched_first_release, const struct m= ptcp_sock *msk) { } =20 -void BPF_STRUCT_OPS(bpf_first_get_subflow, const struct mptcp_sock *msk, +void BPF_STRUCT_OPS(bpf_first_data_init, const struct mptcp_sock *msk, struct mptcp_sched_data *data) +{ + mptcp_sched_data_set_contexts(msk, data); +} + +int BPF_STRUCT_OPS(bpf_first_get_subflow, const struct mptcp_sock *msk, + struct mptcp_sched_data *data) { mptcp_subflow_set_scheduled(data->contexts[0], true); + return 0; } =20 SEC(".struct_ops") struct mptcp_sched_ops first =3D { .init =3D (void *)mptcp_sched_first_init, .release =3D (void *)mptcp_sched_first_release, + .data_init =3D (void *)bpf_first_data_init, .get_subflow =3D (void *)bpf_first_get_subflow, .name =3D "bpf_first", }; --=20 2.35.3 From nobody Sat May 4 05:39:15 2024 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2070.outbound.protection.outlook.com [40.107.104.70]) (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 2E05620F8 for ; Fri, 14 Oct 2022 13:35:03 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XvX03bCQhHNpsBMl/5UpqVN8xC9zaS61gBhgQ52ashif1UF60rlcIhJXAvi6WpTsTdo4DoRq2yORbIjo1WCth6+7icZViGIq+/Mz64sv18NXRWnntOIgeRy8Ii6IN7zTLhL8x4nRNMQPnwEICG5yAQdsjjTOFl9BGnWXgQeuR4JFXXQV6fFgNdLq9+z2mAzMJqf/YgKe2ypc5pg39eRswiTsXgj7au0GiKFyv+oeD5m+Bh8a9DpxMo5nNHL2jGg2DxXG63kBiK8ByLEFphUsY6lDH/CGcLS5pXcl/vOHnO5KqZg2w6h01jSdOzb5DUOQTZAPxXmgfQKUk/qYVLdUMg== 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=0PVfXsdGgJPJNdmc3V3dkJQzFVGqb+WIe+7PEFL3m80=; b=Ajfg82Tg1aIJ7nZ4w3w7T5s8q2KBTiyaZLGJupYEkw+8/pfg4nQJ9Ril0HwTyoDse5bLmO+d1wrLM6tTPGXrLwJ0inX8ZFS1EVzvX2M2EwEPvba4+O4gWudpWRDnAF50FBYjmLf+QqED3Otm1ljT8J3EOCmMJYHGNkmhRk5uPcj3y6ZxPDIEi3JHLajoNS42QMLdNN+AhUKYjoxPCh0fV9S5uaB+/NyC3og6SGe9hgsl8HO/LqUcoC5+B4WT3/lmSUL3vM5p0NfbItqq+EmZlaOfx1uXkpuz6ChtyyQI7ltQ1FngjazlNISzxpb7DENiYHD6oSwuSpi+bx8rbEJ/Ug== 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=0PVfXsdGgJPJNdmc3V3dkJQzFVGqb+WIe+7PEFL3m80=; b=K0vST3r7eLvtD79wq+D+rlpVKtoP/NXZo2qEsrtdFmlbrLzvujnZ/WxdgaemPlxF3zd/ZOZ3NocZkOu41tobb9AmXEYDE2Gw0JM3opOJxswKKJXf725qR74V4SIx6zicHAQbCA51ZUGnjkxuYLVin5isxGpX/3QCuH9PSgGgP3PXZWChCeOYaDir7Bb+gvKtw61aSRCy+zvzbSDZbyXlW5hjtQ9hmyftI45C4f8OEkBMCL/WcwaVbahdJmwV05W5y8cVEePgeSjfnH8AHc2AeURem7tFrlUIHh86oqL73W2IpJjyPGSsgpm4SqHdWkCyZH+fTQWWkRBsdybyJsxtRw== 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 PAXPR04MB9156.eurprd04.prod.outlook.com (2603:10a6:102:22f::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.29; Fri, 14 Oct 2022 13:35:01 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45%7]) with mapi id 15.20.5723.029; Fri, 14 Oct 2022 13:35:01 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v8 14/15] Squash to "selftests/bpf: Add bpf_bkup scheduler" Date: Fri, 14 Oct 2022 21:32:21 +0800 Message-Id: <7249ce2f418dc84e658062058b39eb0ff9e8de47.1665753926.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYAPR01CA0083.jpnprd01.prod.outlook.com (2603:1096:404:2c::23) 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_|PAXPR04MB9156:EE_ X-MS-Office365-Filtering-Correlation-Id: 5d389f57-08b3-44b8-d0ec-08daade8e4ca X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GZd7n7w3aw8Zh2urOAEIHQB1alibVrxdd3qhxitLuhTylVofud7COK6lwC3vHE1HIwWlSHNNELujt+YS2RFMZf1H/fn1iaSnva9VB8+byFcrB2g/YMxPWFl+FSpke2V69dykjNyHQql9zuzbER2oV4+aSJUwM523Zi6hD0xEmsx9juOnSHmIdiXuTOpT0ABXHLCnvvsMfNOydjsTgFgC175/aSJiFzA+jA9wWTEKf3klScupymwEaURDoG3owA48fcKuGtZNgEteFC+0yvOtjs314Y6V/3TFN8+YP0AhInsQg6+rW20gl7Hhpi5VabDpg6mlGKvcR+wndV88cS07/p6qZA+WYToXuz0Kw9dSvfyfW31ZDTNVeafuw8OLdLuntDr0vVvrttiDGBqb6JQEobQvQ6I0gD72z1XxglsIQaxsEB/hgdsuO5KueRt4D7cWJ99z70jc8Vq5tNxvvBAdQ9g9+2BWtL2SuWFfv7oGSpYaUKbWafqW75otYTiSvyA9uVO6UBX3jXR/Q4rd5D7iNHD03yERiTJ7RGJxZf4R49KMImuLRe465I+cFg4+uhiM7PtCj+0ElMXHPZHK2k+sHZPcsjptWN52EhdBbW2nRpzUWywms1eF1V4uDlDG/ko3pctCc3nqIl2087emahi2ncdxs0eQnKIiQwCzTx+rz2aWSl5N/KcH4808ahYIu0AXbnD1JBFSRpAflpvCPUurU742412m8VAHZVZ4TuL8NEGA7Sj5sWW6/Q46MRGhhtwc 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)(346002)(396003)(136003)(366004)(376002)(39860400002)(451199015)(6486002)(36756003)(2906002)(83380400001)(6916009)(316002)(6666004)(38100700002)(41300700001)(6506007)(186003)(8936002)(107886003)(26005)(5660300002)(2616005)(478600001)(44832011)(6512007)(66476007)(66556008)(66946007)(8676002)(86362001)(4326008)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?OIixKCMwbw49L8GOJxYa/4nmSvAqYRA9N5Ns4/YZz9U2xvbPQQMysn5jo2LU?= =?us-ascii?Q?UCY2B3eoWttysw1UMzS62mEqBdKuvfmxEi2Y1f4xIU0dryU8zJ4KtXv1SmlM?= =?us-ascii?Q?3uS1cdZWEDnooXALuLgsszGSED4ou5Gt9j2ZbWaxY3mMoKFFiVtB2NK8JhHJ?= =?us-ascii?Q?zI9pd3n1Kpr2eTr69j8cfR2SoweyjshfrM8nTLTJT4jGy+Lzb8zvEhYmJue6?= =?us-ascii?Q?9xlinQpOTKEJBjank/HYYRhhEjil+19o3MMn43+9dNfcumLx6LSF4BXQr9B4?= =?us-ascii?Q?2Q1YPokisIHuFLlBimORPxEUe8prtUax+mz1TS2J/iH2h1uvNk2gCLalLUKP?= =?us-ascii?Q?tA4Us2AVCzOgDzQT9YZOEvVw1R4rSM/bgnlopVO69ZPyK3asETJrtoHESpE/?= =?us-ascii?Q?TRI73J0L48UYMChz53gqC9EC6R85Lm3gkpBxO/36q4MdNF8U2T9Il7mxOoS0?= =?us-ascii?Q?rqfvo/IODLTn7KLoB+xvFxvAm8f1J9v74Qr6wJr/4v/CiDVVpuFZtkNczoIk?= =?us-ascii?Q?puQ0NLqDnlGdjzrRnY7VNdf8K5jDkrgTEWBe2c+8IwFnwPQnjp1wBzLyqtBD?= =?us-ascii?Q?F20NYPmYhxGXyaj3YC1V8LNjqGTs65IdLy+UEpJyN0fGnC9d7BIyfmSiE1ux?= =?us-ascii?Q?TcR59Ma6ukAKGc3wM5IotCiruGwxI4NMV1Wo7zDeOwmb1E0WbmLPeHSXLj7u?= =?us-ascii?Q?a0ukZXdzYQLvp294LcRiWLYu9DO9eypdEUhuKNvVT/Fh1uoNdFV3axTNjBHF?= =?us-ascii?Q?yrZO9LB/oJq1janNjGLp6JBANnWlqwQwA1i75u9q8m4l/RR5J8XuUwFn6ruu?= =?us-ascii?Q?OGiEnLQfsjbzesrGoCJNYWzvV0JR+qyoTaWVq6tuikrzGJFCpYZfLrl/CeRa?= =?us-ascii?Q?VWfv8d+nHf1SHt2greYhELL1As3jv7jWLydSBlwxT/HrIyt+x2SlHkJ8lYFk?= =?us-ascii?Q?dzOT+HQEeM1dkqD5G5HGthlT4oTeI5QBzBHSfoMOST79cBimjI/NuENAxm9p?= =?us-ascii?Q?FWbDgfciMjVIUcaVEYtiArHOZoMjbhGfO6JLFen110RyXzAhcIxonjrePApt?= =?us-ascii?Q?xvTcgExsTMdTTFgx4Chl2KGZwtWx8VvltVIAzXoqzcN7OV8d/fr6zv9fuPox?= =?us-ascii?Q?6ihBkwVjUC8wJ4/IlvReJWNK+PAQbOR7Ysi+YI05BRuByc/MWi/IhRzNE0Yu?= =?us-ascii?Q?8Pn9bIlLESmH/6wvGYSQeYiBEoauNaEUgkMH9D/9daTX7f0iphMEZI/uSRc7?= =?us-ascii?Q?SDzbwhMjAlw9WcO4koUvSTGBo8ouKm54xb1aKIqA0C2NCOxsKEZI5UZuoizP?= =?us-ascii?Q?3KYpocsObCIslAy+p9EGmWT+7X5naJPyP7KxbxC/tTs5oumyRfIT/K4Pa+NX?= =?us-ascii?Q?/gH/2UOtMIvbKCA6VAnlpi0goXtE0fgAeuqB8VVm+Vtcw3GD+VO0OrtSUO0J?= =?us-ascii?Q?XiBWCyq+/vUGwPv6VD5MWYHj9t/lAaUcvQjOIUZI5/SGYvrKESKcvP9Z6ybw?= =?us-ascii?Q?FRYJQlKZaKdtRDF4Jlu4a3Bowr+rVcdzkT+e4chhv3UsdstFf+ewURTMh0qI?= =?us-ascii?Q?WCsCBRtIevrX+Ss/XtierWHWsEpOxkZGvXRrZgr4uqd1WTXUMMyRPwa1x6aA?= =?us-ascii?Q?wQ=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5d389f57-08b3-44b8-d0ec-08daade8e4ca X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2022 13:35:00.9798 (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: 9S3LkWMKycq/FE7iD9tGzxs3ZWz5C5KT4UitOdd/if29WlbTMtVu7nvU/fI16y0p184vnk+DCg5ul5I+bDS+KQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9156 Content-Type: text/plain; charset="utf-8" Use new API. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/progs/mptcp_bpf_bkup.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_bkup.c b/tools/tes= ting/selftests/bpf/progs/mptcp_bpf_bkup.c index 949e053e980c..b2724426676e 100644 --- a/tools/testing/selftests/bpf/progs/mptcp_bpf_bkup.c +++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_bkup.c @@ -16,8 +16,14 @@ void BPF_PROG(mptcp_sched_bkup_release, const struct mpt= cp_sock *msk) { } =20 -void BPF_STRUCT_OPS(bpf_bkup_get_subflow, const struct mptcp_sock *msk, +void BPF_STRUCT_OPS(bpf_bkup_data_init, const struct mptcp_sock *msk, struct mptcp_sched_data *data) +{ + mptcp_sched_data_set_contexts(msk, data); +} + +int BPF_STRUCT_OPS(bpf_bkup_get_subflow, const struct mptcp_sock *msk, + struct mptcp_sched_data *data) { int nr =3D 0; =20 @@ -32,12 +38,14 @@ void BPF_STRUCT_OPS(bpf_bkup_get_subflow, const struct = mptcp_sock *msk, } =20 mptcp_subflow_set_scheduled(data->contexts[nr], true); + return 0; } =20 SEC(".struct_ops") struct mptcp_sched_ops bkup =3D { .init =3D (void *)mptcp_sched_bkup_init, .release =3D (void *)mptcp_sched_bkup_release, + .data_init =3D (void *)bpf_bkup_data_init, .get_subflow =3D (void *)bpf_bkup_get_subflow, .name =3D "bpf_bkup", }; --=20 2.35.3 From nobody Sat May 4 05:39:15 2024 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2051.outbound.protection.outlook.com [40.107.22.51]) (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 5B9C520F8 for ; Fri, 14 Oct 2022 13:35:12 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y4F+Aqs4qkE8ekKFO6IoJhc0L+8zFXRYJYGzyqVTM4pV/cndo7+6Ffg8K7RftDqQIO6CCjUPNa52/8QtkPugBVDgKB3IGtmXK7nDnin+I/LYLaGvdsEX9Y0kEJuLM7TVow/mDRgSXRXIiXL2EMJponLmBWIx/c82F71f2BLldXjgYO/k80zgR+EewGExX4v1PL5AT8Gaxg8Pi3j7YnLz+sOVERoLA9k1EEWqoL44+LOgyUX6rkd8wFd9J7zjwzhLAfjy+m/r5ThMB6ov9kHKwQu1dC1WvPmr+iM/6MxhaX0IzfCHoESImKHmNtUE0p9LMlfaiGtrwTw8+2A5Jxnb5Q== 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=SvO+3p2zZ3Ldg5GIzcYs9iyuSERRw1RU7RGqcV6GilE=; b=kw1ugYj2mtilmBejhNTphirFqMy66UsO9jp1GGraaCFIcrSazJ63LuXEQdu63UScWBdUkDVUetf8r26YDGsL7EsXPYg57z6aPzr9UdzGYDI/dIaXWwn+OJn30Kl08/Hfl8ySBkDhseaSiQ2U/lYO8FJegisr6t0QRGM+/zQy1VVnkzBpslinyuCrVyiT7Chxx3A860EyHjRy9259sL3siSubNLhh/BFF+ScQns3EZbDFIngC+joyDcJyJYuENWrqf/EfFbm4WPvLJV1rMHbwNU7t34CYTw3l2YiB9ZiQeFzkJ4Mc3x5WijCWQ4lkeiebfp2Htqz6q6UytnV0ddAwiw== 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=SvO+3p2zZ3Ldg5GIzcYs9iyuSERRw1RU7RGqcV6GilE=; b=OxQc24hR0pDsrrtwh4VbznH87gdy47ICMFS1CBO5nyAas6eK3/TujzMGBX0LI4ldVxQ2vpE80gnyX544AqWFhtfAoSl61hI0Ji4ya9hce8rhi9y/qfhvmjKumH7wilr3S65IEp81LzpwIwyw6pxBnYwUY1bN8/XQFsea+9iwQ3/sk9CtUN0Y61BtrsQMpcSjk4OcL2gsi4apFtE9YxakCkBSNsYQ8LNH0Yynqte6PJvjWgbDXYmkskgQhOjpNNrXjbPjpHlc/BAdpY+++nxJs690KnzZb4QvLEYQdgbns5hZABLIlkQctZV/Ah1NX9fq56VFmu3zBhbkz0+mKJPHtg== 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 PAXPR04MB9156.eurprd04.prod.outlook.com (2603:10a6:102:22f::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.29; Fri, 14 Oct 2022 13:35:10 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::645c:cc06:a616:fe45%7]) with mapi id 15.20.5723.029; Fri, 14 Oct 2022 13:35:10 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v8 15/15] Squash to "selftests/bpf: Add bpf_rr scheduler" Date: Fri, 14 Oct 2022 21:32:22 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYAPR01CA0085.jpnprd01.prod.outlook.com (2603:1096:404:2c::25) 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_|PAXPR04MB9156:EE_ X-MS-Office365-Filtering-Correlation-Id: afbc8237-020b-4127-6536-08daade8ea0b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: C0GCTPYucIXH0PgkeaCQ/n1kmTRa1ASmYkebtsRU48PFXmO8M4bl/U7wKH+z8jA1xO4hDrvrNWbkEJBlwvmTTnPUpqHM8f3rOOikyPFuD7jKFwc065sR5Rs51WiQBikSxse/05chi4P4YytKDFUY6H5iYeX2VpQeB4FeecA8ijUi4vLMjPygfsWvF6vMZs3Dyoy0wmQm9+5vLnwpr8F7zOWaPp9lkDXbJHJJFTppMe4ueKIW23vX/uz4VELIvEWdhMSSE6okmXG0r+beDiUglqrULTMJOoXpBJwypr3Nj7rrx9xMJkdMa1y+4vyTOexxgVYXemAec3ym4IiESkKj6STWEZej0Tx74fI4MoC3MOnHFFureQj2M1GyNVojr+/N8znj4K/o5FSc4VXKZZXXaHfFxZu/uPEB8vH7xTcQkiPAmFT8V7VII+XE4Kl3HTQvwM5UK9jXnSGHj+7cvMK/o9nZhJAmfWoY4meakUFf2VcWQQO+Fo58dRKVa9pfuH/Zx6OHPr4LVREkOWCM/BgSci2kK8lFpMd65UTN2JE/WTuxnOiiEtN95ZtWfxgFVbCQt0zP4IuIMioHVOiAJd55GSi7O3gLVBqitm933Dc+Rm44aAnlQwj+LauiDR+r3LjCGdka8yjRtpLcZpKkzjvsLt6sYzr88VB9hRtDuNeGIt5rfV3ZTAWih6XUwamVTM28bZmdJ+R5Eh+k3cgCE6Mr/TBUBKEbvLs6MqQXslyUpDoTVpffO5gjg8xaQA1XZnxN 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)(346002)(396003)(136003)(366004)(376002)(39860400002)(451199015)(6486002)(36756003)(2906002)(83380400001)(6916009)(316002)(6666004)(38100700002)(41300700001)(6506007)(186003)(8936002)(107886003)(26005)(5660300002)(2616005)(478600001)(44832011)(6512007)(66476007)(66556008)(66946007)(8676002)(86362001)(4326008)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?PKjOEhy9GCRHzKdFFcNBk+1eTnkvM/Pl9ys9NbEI0l8O8+3oIYQETviL9Ptr?= =?us-ascii?Q?JF1kMsduqQB5t4JyS99+z9tyvb7wxFVdOxN+rSj+IePqf6ItkCnIElY3Xf7g?= =?us-ascii?Q?ybMQK5NCeZrF3GBONIJ15quJB1mhjI4c0kEnEnq1qcI4ws/21w4VBAWnhcTD?= =?us-ascii?Q?wnib5Chvkoa10VaVMXRdJARyJe8OdYbZhgC6kAZqZCXIqWwOo8NRFjnMhrux?= =?us-ascii?Q?HLqEqb0EmUJpgVOB0NRiTm3jHoZoyNxB+qUCq1eM0F4382UrVIkhc+pLNDbQ?= =?us-ascii?Q?Ge4Mv5BD9wsdHq+gUxldtOcGfmQL357tMw70HqNr+36HKSFYXVRDPe2aNE8W?= =?us-ascii?Q?/cy7MyaAbQ79yuGvvRzlFrFtXCcStvCOqWoVj5oxR+0By2yD/0Ur//9ZR3Ql?= =?us-ascii?Q?Kgrk1M5wvu+I3ciIM+JCiM4tkJ+vnl/jiYAQgB/TBrqzeg55XzLqsAtIfvEZ?= =?us-ascii?Q?3w/4+xwXVmtNRhmcK+b2TtlIAbvttX54/cuZFvlPQq9TEdMGfxjeGKym3FWC?= =?us-ascii?Q?AD9sS1rZAx+m5BAm9fvtHEd1xVFeYc5T33/zksj1qYF6t5den0JVr4RqLCnK?= =?us-ascii?Q?7uT9Ie0Rfz8brepO6nacHsbFDZ8AeJcN1aIutRmCTb4Q081a3hlA3aW6j4r+?= =?us-ascii?Q?eEZW56axXiXpWiAi+wxi9pwdcXLrf7ARz/GCZBoQ4OHHo8+tAgTnfIYEOB7U?= =?us-ascii?Q?LLNV+wFhhlVaj0BuL9nTox3ROj/AGChrj30GYHUk30Ac8Kik0XOuJP39Wzzv?= =?us-ascii?Q?9gJ4qD6NQCHZxGhqZEa608kNesQ+JNe/T7/I2Ej+yo9dfjJ7eswtIpgP3Tgw?= =?us-ascii?Q?utR6sE5TgTFyvqn1XdiE8B7rCznIhWj2E190XnNpUWujITBknGJxg+EM97Gt?= =?us-ascii?Q?qlgOvCyhu/M1ri8pIq6uwBpK9fBQVH0W8d0PbQOtT0qQxdRJhEBTJfGX7i1K?= =?us-ascii?Q?y/CX/4l3DueP5fCAEjQjrwlCfjKdbOIlg+weNmQa/Ijd/Kd021pnwSQ9rQoQ?= =?us-ascii?Q?D6pzJQn49OamLDOI23y1BY4nnYdJQfbecJMsdXhqQm+MIKsoZdWKeyWqpYZy?= =?us-ascii?Q?3f8VMOfo6dY8L9el4q0TmKr8WLxLs4oUl+63CubR2/B8MZk8qtCFVHrbK9sP?= =?us-ascii?Q?9F9lZRKskNNkfZifwZZ5jPxyfr7uzC49k9fowmFw1pqk6BVuoh9xWKCjGw4t?= =?us-ascii?Q?WKZrcZYeFArYhKqTPNuEF3YBormvp/ylvt1lc4TBIXmttyhO6v/mkP4EykFU?= =?us-ascii?Q?l0gBhibkeBqcq7Cd49WwagPcC020LMk99PvqP9gqAzy0jXciB561zBa0SxUJ?= =?us-ascii?Q?TQDXYgPrIXbsmB0MQDhFhuOngDhTg9WMa1dNbs+s34ax+H+vlqu2dEjwwH25?= =?us-ascii?Q?sdafHxtrP1YVySQdAYX9xQx+jq7J887djYbFO+uUd3u9VYkpZLqH/9Aken4b?= =?us-ascii?Q?uJvlimynGyyLhC2dgWOxA1nFQi20rw+fgD8uw/sj+XW83VaaNvkKi5+ty3O7?= =?us-ascii?Q?KpWeMxI4yErss72a28I5YgGyrosZQ/u+xvg2xDw+gBdnlXt5J5yrBjkNs+Ia?= =?us-ascii?Q?UZ2KjNjeCv2mlGYlo4kIU2+1an1fokqWguKgYvNGiwutpNrxPh35aDXSLiJq?= =?us-ascii?Q?KA=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: afbc8237-020b-4127-6536-08daade8ea0b X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2022 13:35:10.0573 (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: /WSrQ3zX0KjmPqAUuiPdN2jwyFBF7hd6jZ1EoqY3beCIwr83VQPuBX5k9KVQprY6cXVAUf3MViQL2suaRvxWUg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9156 Content-Type: text/plain; charset="utf-8" Use last_snd instead of msk->last_snd, then last_snd of struct mptcp_sock could be removed. Use new API. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/bpf_tcp_helpers.h | 1 - tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c | 16 +++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/= selftests/bpf/bpf_tcp_helpers.h index 701cc31359d3..ee64b29bf9bb 100644 --- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h +++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h @@ -260,7 +260,6 @@ struct mptcp_sched_ops { struct mptcp_sock { struct inet_connection_sock sk; =20 - struct sock *last_snd; __u32 token; struct sock *first; char ca_name[TCP_CA_NAME_MAX]; diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c b/tools/testi= ng/selftests/bpf/progs/mptcp_bpf_rr.c index ce4e98f83e43..2d27523b5a7c 100644 --- a/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c +++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c @@ -5,6 +5,7 @@ #include "bpf_tcp_helpers.h" =20 char _license[] SEC("license") =3D "GPL"; +struct sock *last_snd =3D NULL; =20 SEC("struct_ops/mptcp_sched_rr_init") void BPF_PROG(mptcp_sched_rr_init, const struct mptcp_sock *msk) @@ -16,16 +17,22 @@ void BPF_PROG(mptcp_sched_rr_release, const struct mptc= p_sock *msk) { } =20 -void BPF_STRUCT_OPS(bpf_rr_get_subflow, const struct mptcp_sock *msk, +void BPF_STRUCT_OPS(bpf_rr_data_init, const struct mptcp_sock *msk, struct mptcp_sched_data *data) +{ + mptcp_sched_data_set_contexts(msk, data); +} + +int BPF_STRUCT_OPS(bpf_rr_get_subflow, const struct mptcp_sock *msk, + struct mptcp_sched_data *data) { int nr =3D 0; =20 for (int i =3D 0; i < MPTCP_SUBFLOWS_MAX; i++) { - if (!msk->last_snd || !data->contexts[i]) + if (!last_snd || !data->contexts[i]) break; =20 - if (data->contexts[i]->tcp_sock =3D=3D msk->last_snd) { + if (data->contexts[i]->tcp_sock =3D=3D last_snd) { if (i + 1 =3D=3D MPTCP_SUBFLOWS_MAX || !data->contexts[i + 1]) break; =20 @@ -35,12 +42,15 @@ void BPF_STRUCT_OPS(bpf_rr_get_subflow, const struct mp= tcp_sock *msk, } =20 mptcp_subflow_set_scheduled(data->contexts[nr], true); + last_snd =3D data->contexts[nr]->tcp_sock; + return 0; } =20 SEC(".struct_ops") struct mptcp_sched_ops rr =3D { .init =3D (void *)mptcp_sched_rr_init, .release =3D (void *)mptcp_sched_rr_release, + .data_init =3D (void *)bpf_rr_data_init, .get_subflow =3D (void *)bpf_rr_get_subflow, .name =3D "bpf_rr", }; --=20 2.35.3