From nobody Wed Feb 11 18:55:35 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 14B95C6FD19 for ; Fri, 10 Mar 2023 22:06:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232052AbjCJWGH (ORCPT ); Fri, 10 Mar 2023 17:06:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50164 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231310AbjCJWFI (ORCPT ); Fri, 10 Mar 2023 17:05:08 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EB7F710869E for ; Fri, 10 Mar 2023 14:04:01 -0800 (PST) Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32ALhqog029136; Fri, 10 Mar 2023 22:03:44 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=5kCLBujkWUw5LQO4rqHkzi+74eHake+R1P/q+VfpZW0=; b=GG/kEx9gXbBw+vwpSYGklEUorcoAzobW+LcaTSP2KyCH5868kUgZNEX83oVqCMje0keD FfO0e9WVTQ8jwo+x7N2p0GSJni2ZBVfDK615tePoDghUezmpM+PPt+SnPH36ZfybRb8L MBVoJK3D1y2xkhNmjlgDT3cliSaHEsxgkkpushJIGJbHs7MyEW++JcmFL7+654uniiBn HenAwDjN5XK0rIhqgAzjDFXB6WRZkDWkoGh6eOXJ84Df2xrGEoUwdjABpfzOdciH3fYb WO2yjtro8z+A/LCZB9MP3Jp6Rj/Nl4ueC1UPzE7/05oS13iSNf9drX9yVEMkK4/VisMj ZA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3p415j6dek-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Mar 2023 22:03:43 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 32ALtb67031546; Fri, 10 Mar 2023 22:03:38 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2040.outbound.protection.outlook.com [104.47.66.40]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3p6feqrwk0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Mar 2023 22:03:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cO8N2P9Uzyj1D1k9dF4cCLQHCbFII7JYhOQlf9rwTkIoevw+Mx4xL/c61GH2EPS97rQFsxt8E40U3glEt0126tTSrWUWjkc4iNIu0ywK0nc88+/rPSUVYbuvx7uc/LV/2jcXlaPMvpMZBooY2wh4INcirVSHlZfNHR3yFMBb5FZCFFS5XSsj9qaqTNUO3+hijILHb85y8W54LEC+6xBnHyP+eSIFtVab+uR/bgrGEuE1nijCeKqgqmmMrYlnZ99HXKw07wsA+CW7wknmWUgrW7DJnV5HJmYtVq0Gpw7U0IJZTisQYgipR3caKNpzxCbVRVt+a9lvDYsH1btP4Vr3vw== 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=5kCLBujkWUw5LQO4rqHkzi+74eHake+R1P/q+VfpZW0=; b=Pg1rxkUNp9lbM/ert2WSF29i+EmTKteqxm9uqQ96UTuCIu2gTjhv9keD+eaDlrYjaaAzBL/2Y6ri+E5105reEKLA1Ku7XpFJHdb8UCFENDvr4inj3M6/t/ROBvlt1iw8XVjzSocxloZzEQYf5JiG4bWkjqNMyku+u33nNqJDs8C7/oKNYacIPKOSE7TDIo+mx1P0iCjfLU2Ljbs48Rln2j/VXiHxwnmXV+uE9XP0lxZXmMgso8DMFF9XX01WPzhRxuRPw9mFtw8XeFdqVQbcy+j5pnpE7apxiJWyqjjb/O4ANO5Zo8tEvy5j57HuS0bBzI913QD4I5qbKcX2BFLQwQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5kCLBujkWUw5LQO4rqHkzi+74eHake+R1P/q+VfpZW0=; b=JVJ/P5nUQMRS0VJO7bgHyJLZVR7u/I1qRLzsQW/mC96kpn5uKdlDcA13bTVyMDBDeVN1CNevp11oq1H0a65SULi5w1pBS4nZ6VZmI5UpsCZtf1TSYZhz1arHfYsKWzFBpI3CaXZvXZObGE73N3/8MjPiau8WAlT+leUOu00f2q4= Received: from DM5PR10MB1466.namprd10.prod.outlook.com (2603:10b6:3:b::7) by CY8PR10MB6514.namprd10.prod.outlook.com (2603:10b6:930:5e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Fri, 10 Mar 2023 22:03:36 +0000 Received: from DM5PR10MB1466.namprd10.prod.outlook.com ([fe80::7dd7:8d22:104:8d64]) by DM5PR10MB1466.namprd10.prod.outlook.com ([fe80::7dd7:8d22:104:8d64%7]) with mapi id 15.20.6178.019; Fri, 10 Mar 2023 22:03:36 +0000 From: Mike Christie To: hch@infradead.org, stefanha@redhat.com, jasowang@redhat.com, mst@redhat.com, sgarzare@redhat.com, virtualization@lists.linux-foundation.org, brauner@kernel.org, ebiederm@xmission.com, torvalds@linux-foundation.org, konrad.wilk@oracle.com, linux-kernel@vger.kernel.org Cc: Mike Christie Subject: [PATCH 01/11] csky: Remove kernel_thread declaration Date: Fri, 10 Mar 2023 16:03:22 -0600 Message-Id: <20230310220332.5309-2-michael.christie@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230310220332.5309-1-michael.christie@oracle.com> References: <20230310220332.5309-1-michael.christie@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DS7PR05CA0074.namprd05.prod.outlook.com (2603:10b6:8:57::22) To DM5PR10MB1466.namprd10.prod.outlook.com (2603:10b6:3:b::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM5PR10MB1466:EE_|CY8PR10MB6514:EE_ X-MS-Office365-Filtering-Correlation-Id: 8dcc29ba-9d9d-483f-2963-08db21b34c42 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xLS49cVWNuBowvkDvZLJ27DiV/AjnrjDaJqwZsgXFXdZjcUbxTzU3qo7vz9DC94jzT2QHkd/I5PVutXbz7E0ZISHdgG6Vs/48Lq52AJFJQZNI4rgeb9M4patDDP871FU8tH8YZtV3aXy5Gn4iaY+4/0stBhgOwCYSyh0CBNmOinAkIHmuvN/QLCAZdUPQ6XyRl0sz3XS32K9iFPBQkoIMAbSHPk5y51tVJFhv6/yy7WV9FBS7LfiHdyiNfE5Lbpn0JrKT0RgxP/Y87gwePL7/7tnc13Wy+0bs9vuVAu3E9VJSxLnFiMnLE3G/HwS3HIpM8PyfsHgMwv2QmoadbBxg38NeDLEU/XlBIMQUj8Gw2JFU5c0ivAkY8cUVfLuTCCFAMZ15J8bXfAEDNeho8o69gwiPyT12YFp4BrA9fMa8K1Oof+SQCUJXtGiAgvUQpJlpmNTm9P+ZVPyk20anWjnvaBkpAo2yRY+7JSFT+33uFOe8H4XazJFBQEemeeLAMHKt8l6Uw3j/+j//dJTqRoupxsS0BYiZrLMtHQM6JGL4wMwTPg1/0K5Uf29Mr5vEcPwdEGjWsnjmVClg3AxDf2P3V5ifF3EATKquzQQ2dkBWnjrOVIEfN6yUV3nB83BusO9pCZz1h8il7k4CpbG+3KET00MQovuOOuK83z3iOfNHawC5cJUwqUzUuKMkTTQoQlq X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR10MB1466.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(366004)(376002)(396003)(39860400002)(346002)(451199018)(36756003)(6486002)(186003)(6512007)(66556008)(6666004)(2616005)(107886003)(1076003)(7416002)(83380400001)(26005)(8676002)(66946007)(4326008)(41300700001)(5660300002)(4744005)(2906002)(66476007)(8936002)(478600001)(6506007)(86362001)(316002)(38100700002)(921005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?N+6x8fXM0PLUEX44GayoZk/smwZUiN+ZYlVwKu496hoyxBB+EWLle36yoLHm?= =?us-ascii?Q?ILX2OmKInR0r/qW2G4zzPZ64vBvaG3bRQTXuGvlb1sRwW8v2JFc1QooDd5D1?= =?us-ascii?Q?CKjbDGR5R0X38kmVlPF/rml5tEv0uzDc2b+8xMQp3V0L8lyZ1bC6sQWRhC/t?= =?us-ascii?Q?dHBkr4f7dQxlF3YVVCD3Ykn7l0v5Su1d4k4vUU49xBnqA5lOQ+H9n/n6HtNa?= =?us-ascii?Q?i7r8VHENR5ZcNAkAIzZ0cIzKvb+kD36C33sjQvl+e8HKHExxD/XQF93QrE42?= =?us-ascii?Q?GMUYwJ17u5hTBLI4dapPl2NMSJQxxXp/nUAKW56+uMEPI/oL5efVG8xRTQBi?= =?us-ascii?Q?H/J0SxCwu3F9LTZLghqKXPmV20lRAP32DWQjhlhf5GsmW5momj7qBQVkjtQn?= =?us-ascii?Q?ttZdXtztMvJ7rW09C4nLm3/QL59XqP37xJcMvkdr6hHPKfjM37OZBm8Nuv8+?= =?us-ascii?Q?BJK44nswjzSwDseDbPGYWOHyLLa452zdDYwIfPOss9wkkZK7g/neH2VFH23A?= =?us-ascii?Q?fcI6Azfi5GXPLXXTa3S7GvN55kE/IJGusSjPWaLCMPik4rPzGPrQOySd7gNF?= =?us-ascii?Q?erCrawV5660FNcVLr/4GLkG5ARZ0M7InS7tbLv8dwofhumMNUpKlNK4uy1Ju?= =?us-ascii?Q?RF4LG5845GXywm7sVjSdocGDq6aP0Jh/rWOhrEWWiZWq3w+uAQpbRwbzd2j+?= =?us-ascii?Q?7RkVUrrb+w+XFak+veHmReCEXv7FpqWW3zOUgd9C5WjDjmb5fqgd2WORhVuh?= =?us-ascii?Q?fqUwao70FYAxLUSA9jUYOYOSatudRFmbJVYohL7ehtnfma9P5/zkjecUh+py?= =?us-ascii?Q?QsQE+KaCxgpqQeImCxEHxLgGMpIbO2IwSqwv9paaj8bsZV0rC9nNKeIkM2Vf?= =?us-ascii?Q?dSoHvJIqgaIAe5RGpcOJaTxavfd9IoUoDQSoCbAGOUD0AdaSJdcffHirK2xo?= =?us-ascii?Q?rz01tFWU1e+TZ7lNsRr2jqwnslq2agMi5KtcJDkZ7jZMKgBwv28j1+ZK/udd?= =?us-ascii?Q?Wx4+CXpBT0CUsnDXxmtoPL7+C0SswUZvZsdqsOrEnj+69XRYBe8PvU5k4ZI7?= =?us-ascii?Q?N4xQsK9tXNA92f2QL7K7BYUIScnPrnl6m3frA/iQJiqTcD9/K8l2OZjTcA6V?= =?us-ascii?Q?D4UYSK5+WIV7qhU6zTMbC1H3WLNXlxT/l/wfwebo5U0OdaE59FYUq28kuStE?= =?us-ascii?Q?TSDCjwChqBb9eo9DFW2HfXUlDlnFFskPUTWfkxoUTjvH7lgyb+mcDTeKa4vP?= =?us-ascii?Q?UFHwb4bEgff0qK0gxE/K2RVAZnXAhJK5UpTgu87Rch3/3t0Gwzg31pfl7srO?= =?us-ascii?Q?n6Q2c5PgE31HWTiuhiYwIPklFhqM6sLC9GyXgjL8t1dqNkX2w0D6oPLICcRD?= =?us-ascii?Q?pA7cMUhYnw6Atg0K3g4BBU/xI7LYE4e8+rzWZwHAKknPJIkUNkcEgEpCZKLk?= =?us-ascii?Q?fAWHYGIxsYMIds2qtHNJGcIzoRyUp4Tmo7vn7X6Y+7x1KYW7863h9JiOFUg6?= =?us-ascii?Q?Pf88UcpzViTUF6DRFsyClFKMKY8wiYHlP0MpXP1zvcnPKtJ1J9gHnH/QwBwp?= =?us-ascii?Q?ElpPh8OkyFiHC42lW7cs7XGRu83u99xlAiW7NL5hqW1tAuuPoocBqx/M+IIt?= =?us-ascii?Q?tg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?3p656yhP55LNoSDRABQuvVGdxB8IY6qz2ii1OlZNapnRvlh7cjnjEgtgamlJ?= =?us-ascii?Q?Sghgn6rZmD8M94kPp8JWKYluoluI+CYTzOAY3IFB9/fh6yi1oPfwf10e1CQn?= =?us-ascii?Q?gA9GTo39GuSQJeV+G1lxRR3ED1eyQxCSw2vbN7OHDCDXXW7LoD/79uoIKb+I?= =?us-ascii?Q?QQJZsABxxgkdkv4v6fexMwO1XzUKKbplJqeXzmUXPKfO6MG9LJO/otud439W?= =?us-ascii?Q?4YZ5zr25OOffq2Ce5Q6Qi3hyb6TB6nzJ5ARN8mNzRclQ4Jkiepi7PyKYlG8n?= =?us-ascii?Q?qWZIHj4iv0d7DrG/Wz/RYsjQ1Ca5tdgXVNeXJkPpuYapaXNN9SXEkbX+tmqM?= =?us-ascii?Q?tIDrk6Og9myexayWjlh+ox1cKE6rNQQKnuf3KH21CfiJ30NfzRsYbMWLxwND?= =?us-ascii?Q?tfl9PeT+5E5M0NkHuP9qw4sFZTCAaakbVIvTzAUw64wiag8ko6De5UibIDLe?= =?us-ascii?Q?Q8eF/k8jFpux6SfQ8aQlKOa6U6A0I3ogynyh59lpHo3U7Jq78wcmfQHEC3g4?= =?us-ascii?Q?tJY5IkKB9cy8jAd0fgndDQf/GAhWoQCOVlJCFDBylCb4xHsfvczSR6ZtAGA/?= =?us-ascii?Q?t7XMdLboDoaIpiUycMpWTigC1FsKt2rZ5p6DvuVpRUeYf1LFG2OxkaD8gXbo?= =?us-ascii?Q?gxGz2RvfzbcQEChw5yywph/rVucCoX+O/5RoCzHoHscc39SomkL8NB0Y26jo?= =?us-ascii?Q?egEGFx434M14K0MOOjHPYl40x92KxtWIWBoXXSkj+SegdAHrJo+kRscdB/hF?= =?us-ascii?Q?OP0xqe4QJSyZclRK4DH2BVtBoDeI/wnVUdJylc0u5YLGa/uD2lRAG0SoQtfU?= =?us-ascii?Q?7tSxy4kPd9VE2mQh184whRFqrLUz+/28qQ1aO1T1FMZoc4fx2DNwp06Uy0O2?= =?us-ascii?Q?6SF1nVmhPkEQGQigqb8VDStqQqyzOC9QDZ0cCFSeuKbvEX4PY3HBG7XAHHiz?= =?us-ascii?Q?DQs9e7yq9Wl4x9YmM4KEHkwqzpDODgHX3Kks2IjF99vhe0EgPFbPIz098Yr5?= =?us-ascii?Q?e3XqDiPucCIG0MvvkzqjtMJtUw=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8dcc29ba-9d9d-483f-2963-08db21b34c42 X-MS-Exchange-CrossTenant-AuthSource: DM5PR10MB1466.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2023 22:03:36.7198 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: DxjowuhVSFlv1/JSJZocF44bVLr8kMcj4i/Deyt7RYUD/qCzuTay22dEPB/ITGf3UnX5LITHDlJiPfYJp7ED9jbRf0XQQVUzSrUH3FsYUxs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB6514 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-10_10,2023-03-10_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 spamscore=0 bulkscore=0 mlxlogscore=977 suspectscore=0 malwarescore=0 mlxscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2303100176 X-Proofpoint-GUID: -dddLJ4PZ05YJ8STl7rvkspGNMi3YZBP X-Proofpoint-ORIG-GUID: -dddLJ4PZ05YJ8STl7rvkspGNMi3YZBP Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Remove csky's kernel_thread declaration because it's not needed. Signed-off-by: Mike Christie Acked-by: Michael S. Tsirkin --- arch/csky/include/asm/processor.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/arch/csky/include/asm/processor.h b/arch/csky/include/asm/proc= essor.h index ea75d72dea86..e487a46d1c37 100644 --- a/arch/csky/include/asm/processor.h +++ b/arch/csky/include/asm/processor.h @@ -72,8 +72,6 @@ struct task_struct; /* Prepare to copy thread state - unlazy all lazy status */ #define prepare_to_copy(tsk) do { } while (0) =20 -extern int kernel_thread(int (*fn)(void *), void *arg, unsigned long flags= ); - unsigned long __get_wchan(struct task_struct *p); =20 #define KSTK_EIP(tsk) (task_pt_regs(tsk)->pc) --=20 2.25.1 From nobody Wed Feb 11 18:55:35 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 26E22C6FD19 for ; Fri, 10 Mar 2023 22:06:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231640AbjCJWF6 (ORCPT ); Fri, 10 Mar 2023 17:05:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52058 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231296AbjCJWFI (ORCPT ); Fri, 10 Mar 2023 17:05:08 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EB56015CBF for ; Fri, 10 Mar 2023 14:04:01 -0800 (PST) Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32ALhsf5029162; Fri, 10 Mar 2023 22:03:42 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=D6xeXYXIkgxlteVxLTDjwh3tQBqZDQy+RqjxJ93917A=; b=yhqVIbD5DXgCu+WPCadaUEu0+Va65xGQTgTGZGGT42e2LcixOp326ZhSwEOsduFlrp/V jhEJWKjJUGvOe/iMz2DXG4RwTiJNX3PGy3fM3IfynWIFddIETpF8K/kZW3LS3zMMF05P tRYQEOMIduQzgtRl/PTYXu2I67JUdneKNchrCD+TsMB9AL+JC4fdg79gAgnmwUjR49S1 AlBC9AjtKVaZhzzTh8zt3PR72jSjg5l4sk/bJjksC2Tw/usim1DSnYlGF0eWHNLABj/u w8arFurfqGAcgHdwRPS4flSuZ0qEG9dxRhFvmEotHykM5JfRhpxwHu5XKqPA1wzxrcrL cg== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3p415j6dep-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Mar 2023 22:03:42 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 32AM0NIW025577; Fri, 10 Mar 2023 22:03:41 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2041.outbound.protection.outlook.com [104.47.66.41]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3p6g490exs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Mar 2023 22:03:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j0N6O6Rupi8NueTaYK+G6wy370DyS8bPHwG0R8aurk0u2z8ruWZRYVtibArngLw/w7XudcEo721Nx4Ymc+eIjfsGEHEpCJH7sKGHuL1UWakLUqW+IxmGEIadlYmkMTMi04nX4x/U/xRJDCiXRa8gfUTFz4wQdN5e9+CrqILtoxxL0mTZ65kiAuHqn5kRbXtjfpGc3lxohJyc4N0tHl0YAHB1nSvz51QhNu3hXkvO9QBxM3olUYP6LilLxn01bxJO6qPSLqqUvhBhqGVb6uNFnKNl12jowQy6yQCkCKt5zBaqp3SEGQApSBZlqoocQTxWj1llDb6pTMV/2UF3kgYNqQ== 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=D6xeXYXIkgxlteVxLTDjwh3tQBqZDQy+RqjxJ93917A=; b=MsKbxE1jtg1BycLIedhiJu6On1zpNmqYBoVkqBO3F39sBkQQpcRmez0f4vCnbY1nO5MlEZyOI/0PF0Pgpa2ezhXAmGsst8CNSEEF+KGDaBYKI4Q9sfVlCo6B2QZ1XxoP0uFLmB2KGYZvp1Bg/rEnLfILuknBfmyz3NZEV05ca9iARi3YAEQiAwy2aRjKdMffcvzO8arJ+mTsP1kD8I36oXibqgxwyTHmMHxUZSECXVj7Uf2tdW7L5Q6tHtX31pz1cEepu9qhQv7TLUmOKktyNArBsbonNBIK7/gm65cRujkiqegHglyhbncbDroJOtStVD6IuPFQFoVq8GmYudM27g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=D6xeXYXIkgxlteVxLTDjwh3tQBqZDQy+RqjxJ93917A=; b=hGY+CB0gfVAh3MmfQWsRfxJzBoqAUf/Z2qhYcpGgFJUHdcLZ38wll1Cr1wub4kYwVHodwYXOEI9yCrDFbgo9cCdir4fqF2yZXfqiyGkghGskD4uh58Y5wMVJdeM/xhyt88RICCBrRgDSWl66v2Uq9xnesC/AR2LMgffW5Z9fhdQ= Received: from DM5PR10MB1466.namprd10.prod.outlook.com (2603:10b6:3:b::7) by CY8PR10MB6514.namprd10.prod.outlook.com (2603:10b6:930:5e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Fri, 10 Mar 2023 22:03:38 +0000 Received: from DM5PR10MB1466.namprd10.prod.outlook.com ([fe80::7dd7:8d22:104:8d64]) by DM5PR10MB1466.namprd10.prod.outlook.com ([fe80::7dd7:8d22:104:8d64%7]) with mapi id 15.20.6178.019; Fri, 10 Mar 2023 22:03:38 +0000 From: Mike Christie To: hch@infradead.org, stefanha@redhat.com, jasowang@redhat.com, mst@redhat.com, sgarzare@redhat.com, virtualization@lists.linux-foundation.org, brauner@kernel.org, ebiederm@xmission.com, torvalds@linux-foundation.org, konrad.wilk@oracle.com, linux-kernel@vger.kernel.org Cc: Mike Christie Subject: [PATCH 02/11] kernel: Allow a kernel thread's name to be set in copy_process Date: Fri, 10 Mar 2023 16:03:23 -0600 Message-Id: <20230310220332.5309-3-michael.christie@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230310220332.5309-1-michael.christie@oracle.com> References: <20230310220332.5309-1-michael.christie@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DS7PR05CA0069.namprd05.prod.outlook.com (2603:10b6:8:57::21) To DM5PR10MB1466.namprd10.prod.outlook.com (2603:10b6:3:b::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM5PR10MB1466:EE_|CY8PR10MB6514:EE_ X-MS-Office365-Filtering-Correlation-Id: b6738802-5315-4901-8d4b-08db21b34d4f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kO8ItI+NDcfNZoevq3BUZBvm0qJ+vF77AGHFSVP/RlGNslzRf/gQf80wuaPbG26snCwq6lc0bhvXChueQam68N4FVNSimUZw683+xYtrsybWGJl7xIK2sfKpz+NBB2xD703IAZYHXeKXIocIvlrMkrCKcL8BVECxCEU+II8Y6/6rd9yn1XAy5gT43tUPyoq3UHBgskUcUXL8YLt1PbmQVLIKlT5C/7326mP+oWs0fAldgxb1gkKW3EwrQsL8c15dixdM3DM7EMHG9zWIDpNMjHRjug1w7/vc+GnN51L+rqmeZqEROAsd6pFeZ+P63m7rVVMfK1O7Agjdg921w7gB5Kf8u+PLQEPkKAJNgoVwdZX/3Z5oTEHlxDbT2LOr0fFgUuB+NsK/547Etxj1x0k+aMV539RxwFANVbP5tPCikfjJvHwrcD33SxR7K/eeSpM7KsdGXDRL3NueWhSe+Dc/m1S4dMzSQ+o3AeYeBlw/3seFOjEJfpQ1jR0ZotfyzFwuCtYDAFxKwDhkNZ4swydr8BausnbbU9T453BECU3jv16oQdMaEw9phE+gad/1t3oKgxjDyRsLPEFXOsBglcHFEmx5f+bIuY+Y/fdpxE/UKEcCmGfwMDnM8nbKnFfUlZZMUj5iHzGHwOrIO9x9qJL6G7xuCjZCf6qyxPtRTzLsQIclfmvoUNZQAm8A0eoMZ6tK X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR10MB1466.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(366004)(376002)(396003)(39860400002)(346002)(451199018)(36756003)(6486002)(186003)(6512007)(66556008)(6666004)(2616005)(107886003)(1076003)(7416002)(83380400001)(26005)(8676002)(66946007)(4326008)(41300700001)(5660300002)(2906002)(66476007)(8936002)(478600001)(6506007)(86362001)(316002)(38100700002)(921005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?dhjaqwJHSf4ZkWY5pOsOIKi1ZOeWjQR8WsiAwQMcuwWzUY+5SKraWpu64Njx?= =?us-ascii?Q?WKb5Foq486hscqg8QNxG0fjaua3D41Koe1svwhVdOGGEMlrnAVPzZc8bKt1T?= =?us-ascii?Q?oo3T9kNclqqd/FuRpj+PF8pt4l6RfmlOwd5mHkRNiUyKmWcvaaVyPxWO+Q9e?= =?us-ascii?Q?x01qDSKkuwEcvwJF9JjXuU7Ll6qCzbM7NpsJDrplETJPK4TtFkOC8Q/NYo2/?= =?us-ascii?Q?DwIh3jTn6cWU5yovk+lWLZUsAI3pvBGcGk7i4wkQX8gbg764LYJvKjyr9yTQ?= =?us-ascii?Q?T16Pb53FlQu4yqTGzYDNDrnCOCneMP2O2HAhIXfSBke3+FFsQ0wfxAmQm26I?= =?us-ascii?Q?ggjHPbRdgmFAzfmsppQhqVw/kyBV5fHjZATqtTUvgssGlKMxwLigfVEPEzce?= =?us-ascii?Q?ebVsr+n3rSkSKpQ/zddnS8X1HtvE2i+grKk2k6ho869AJoE/TGJgJQQGWbgD?= =?us-ascii?Q?lTutKCnk7ExVnjYIGDkV8FfyxOll0OluWwmIcyWm7Jzq9UJqrA307BmMM7jy?= =?us-ascii?Q?cbev7rKk6pcVZBq+LD1E9aqewGT/mlTOm4Y0P27kMUMyxOC0j8M7IT3AkRus?= =?us-ascii?Q?SWJleINA78YiGaQpHSvJZW0WBiouVh3Pwlq5m6oXh/1xuFvWPl6yjTJekPPt?= =?us-ascii?Q?AEaHi2TFpXTmVvdlf+YOtgSnH2IPv9/1T8v7IuAO3uxPQIBkm9Pfjqz0ZwkL?= =?us-ascii?Q?c/M26rGjAZEtZJjox1URj6hQXJAjr+NBQRolScumhw3cCB4ypdFUqa3udvW1?= =?us-ascii?Q?ADZzPlt84bHCZAom8hOVrt2tD/bMpfbkXWM9rAYektEk/bhmfUN1rg//8RS2?= =?us-ascii?Q?KP2/SvjezEc+NGqc045MBT6LTt2KSQgxDAffUhV2TqkzPKRGFDTmcunRQkgP?= =?us-ascii?Q?Men6UhmlIjgi579pWXpKDA1Pp9O553tauVjgTQWh7ajY5c0aIpe45/KaLlMV?= =?us-ascii?Q?IQTwV+1u6/4aqRm+/aWfSqbbA7RDTpjmxT17Ti8lncNK1gXpdRsduBREvZYJ?= =?us-ascii?Q?d79o/uKDg+aoBpQTtvcY8nb26jx6/thPf1A4B2jEzLzzGeCC3PvewE9XfDi5?= =?us-ascii?Q?5ChJPtlw/stObk6COMNXxDKQqnODvXCl/6UTToKDppDEPVrNnlvQmhbUiVw9?= =?us-ascii?Q?UJ161+UWbb9IxedzNmRk1djpk7wh1slBKVNM2ynb5P4zljbscDlwOFhLLmP9?= =?us-ascii?Q?62O/5vetUBEJGXC6UEAbE8ROn6M0fc1H0zVgfmHye7h2BxUhvVMCw3LPZh+N?= =?us-ascii?Q?xcCUNzY46C135qSbvY+XfvP8rrAESaLTl2ynYb+JI1YU0th6gHDzCOjEXe2p?= =?us-ascii?Q?UI3bXH8x5GEDGv1IVmrNSxZPyYyOCg11a6SzJxytICoGPAtcCL73w88WbyNM?= =?us-ascii?Q?XDBiBEaVWALsHrDViJxR9/dWECecR9VXCAkinnFGnIwjNuHRvKrQWyihkTWM?= =?us-ascii?Q?iM83uODUcD9kuGQ8GZ4Yc9ZoyDPHoUQloCP+dsKlvS//P96NVUGsohSSDduu?= =?us-ascii?Q?HEL+eSteLu845u8HE/zm6XZem4qp4FYXytN6Gvz9xyI4bfT9Bdj3cGXU4ii0?= =?us-ascii?Q?MJ8+CjgXDD00IGrsggtd9Zlxmxdb4F4G/3q7b/l1HPo5Ql2oki/BgEf9wyo8?= =?us-ascii?Q?vA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?65WqZ0v8FURIxBqKSr8wzZzKhGh+JvLAzBZBN/eip6zvhts2DIchDAybQxGe?= =?us-ascii?Q?+aVL50rJWzmwTzMZO//vPXlmjRVhcSrfCkplA/B9OMrP7xY1mmFrfMcjiH3D?= =?us-ascii?Q?I4qXN58Ja+BZWlDAxGwkcUZMOrnylOKWmq0VwGAhh1Vs9Zj3jo4X6fSXChSR?= =?us-ascii?Q?BJ/HFrnqVLKTZEMVtqS/No4Md6r9UR8tga3n55kjRWTivUKxgadRJn5fTVVI?= =?us-ascii?Q?SbifC4SVxQurtXQEtfB4bR8GzvqO4ngepH0Ntl61CJzCGMduxbEC9G3ltJ25?= =?us-ascii?Q?U1nw0G31dlDOhTrHHNkglgPqbJY9/MIbBuHrh4CbOKUIc+f8uunmjPj5XSSh?= =?us-ascii?Q?tU7/dnsK5GXxB5aylAcsNgM8LKqSDXSNr3Qj7B/yVHqzkBKneqZF0egiSm35?= =?us-ascii?Q?UVmeGqPVRL1+wtfQD7BqeFDTp9ECugD3lBNZgy2bzImluMKo56g/M9YNiC1o?= =?us-ascii?Q?y2Q4yjO0XaAWBx/d6fSDiy/zyjAojEXXhHbCkTv114NfBATVkkGTKL75hbK0?= =?us-ascii?Q?qsB/GNFOAlhLfwBX+XLvzWkxgYd5fLVl5aoLa9poaMIjz1e2GJp8uqXUzmHT?= =?us-ascii?Q?nY4QSA91k/jV+mXM6pzzJ4hk+R1NF2iw0sm3BAuw0qMoSZOb7a0voXy++wey?= =?us-ascii?Q?JCyYcU0bPAYO2zKl7tPRrNMQRMZPkzL4WaYt2Ud/e/g1p2HhZ1uaWy2L5UAK?= =?us-ascii?Q?iqnOprsHouBumT9H2Pbyq5rMk7TzUSevnNTsuim6ueTXS8snBQwtZzPE+vlo?= =?us-ascii?Q?sWheWpgKGbk/0PS1LX/lHp/agyTaK2GfHD2tc3PpXG0WR8Ip4nTD4RWXDb/L?= =?us-ascii?Q?wV4RADsgJh7SiHBNAsU6oEmdlJYRVvwn+QKE8x4rQkQR7R1euAZY+WJ/k+jW?= =?us-ascii?Q?FU98b2d/XZOZqQkmTmuy6wU9cByoc/47bepuZaaLbO1Tamv8VPbhixp2nabY?= =?us-ascii?Q?O6tYlPfn0xoFNYDc57Bns+pMZOj/hHgQRA82ENaSSIXb8EAGz7H+tt+ckLw+?= =?us-ascii?Q?WAiW/FyDX5OUzk1nqguTO0c+tQ=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: b6738802-5315-4901-8d4b-08db21b34d4f X-MS-Exchange-CrossTenant-AuthSource: DM5PR10MB1466.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2023 22:03:38.4697 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 1Kyc0E6MLiV54r3ZAxNn/NOoVKzOHy9N13FHgDfyEqyAKX7pskigrFFGQptTMdM0GCSPVbV78OH1Z/08Yyb7Jyd6ROhVx8baFZATFp5vPfw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB6514 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-10_10,2023-03-10_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 adultscore=0 suspectscore=0 phishscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2303100176 X-Proofpoint-GUID: mioaakJSdvN5s6aooTZxqR2InI6NyU_c X-Proofpoint-ORIG-GUID: mioaakJSdvN5s6aooTZxqR2InI6NyU_c Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This patch allows kernel users to pass in the thread name so it can be set during creation instead of having to use set_task_comm after the thread is created. Signed-off-by: Mike Christie Acked-by: Michael S. Tsirkin --- include/linux/sched/task.h | 4 +++- init/main.c | 2 +- kernel/fork.c | 7 ++++++- kernel/kthread.c | 3 ++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/include/linux/sched/task.h b/include/linux/sched/task.h index 357e0068497c..32c9f01af0a6 100644 --- a/include/linux/sched/task.h +++ b/include/linux/sched/task.h @@ -23,6 +23,7 @@ struct kernel_clone_args { int __user *pidfd; int __user *child_tid; int __user *parent_tid; + const char *name; int exit_signal; unsigned long stack; unsigned long stack_size; @@ -91,7 +92,8 @@ extern void exit_itimers(struct task_struct *); extern pid_t kernel_clone(struct kernel_clone_args *kargs); struct task_struct *create_io_thread(int (*fn)(void *), void *arg, int nod= e); struct task_struct *fork_idle(int); -extern pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long fla= gs); +extern pid_t kernel_thread(int (*fn)(void *), void *arg, const char *name, + unsigned long flags); extern pid_t user_mode_thread(int (*fn)(void *), void *arg, unsigned long = flags); extern long kernel_wait4(pid_t, int __user *, int, struct rusage *); int kernel_wait(pid_t pid, int *stat); diff --git a/init/main.c b/init/main.c index e1c3911d7c70..9dc816aa904f 100644 --- a/init/main.c +++ b/init/main.c @@ -707,7 +707,7 @@ noinline void __ref rest_init(void) rcu_read_unlock(); =20 numa_default_policy(); - pid =3D kernel_thread(kthreadd, NULL, CLONE_FS | CLONE_FILES); + pid =3D kernel_thread(kthreadd, NULL, NULL, CLONE_FS | CLONE_FILES); rcu_read_lock(); kthreadd_task =3D find_task_by_pid_ns(pid, &init_pid_ns); rcu_read_unlock(); diff --git a/kernel/fork.c b/kernel/fork.c index 9f7fe3541897..cb8f85c88c75 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -2109,6 +2109,9 @@ static __latent_entropy struct task_struct *copy_proc= ess( siginitsetinv(&p->blocked, sigmask(SIGKILL)|sigmask(SIGSTOP)); } =20 + if (args->name) + strscpy_pad(p->comm, args->name, sizeof(p->comm)); + p->set_child_tid =3D (clone_flags & CLONE_CHILD_SETTID) ? args->child_tid= : NULL; /* * Clear TID on mm_release()? @@ -2727,7 +2730,8 @@ pid_t kernel_clone(struct kernel_clone_args *args) /* * Create a kernel thread. */ -pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags) +pid_t kernel_thread(int (*fn)(void *), void *arg, const char *name, + unsigned long flags) { struct kernel_clone_args args =3D { .flags =3D ((lower_32_bits(flags) | CLONE_VM | @@ -2735,6 +2739,7 @@ pid_t kernel_thread(int (*fn)(void *), void *arg, uns= igned long flags) .exit_signal =3D (lower_32_bits(flags) & CSIGNAL), .fn =3D fn, .fn_arg =3D arg, + .name =3D name, .kthread =3D 1, }; =20 diff --git a/kernel/kthread.c b/kernel/kthread.c index f97fd01a2932..63574cee925e 100644 --- a/kernel/kthread.c +++ b/kernel/kthread.c @@ -396,7 +396,8 @@ static void create_kthread(struct kthread_create_info *= create) current->pref_node_fork =3D create->node; #endif /* We want our own signal handler (we take no signals by default). */ - pid =3D kernel_thread(kthread, create, CLONE_FS | CLONE_FILES | SIGCHLD); + pid =3D kernel_thread(kthread, create, NULL, + CLONE_FS | CLONE_FILES | SIGCHLD); if (pid < 0) { /* Release the structure when caller killed by a fatal signal. */ struct completion *done =3D xchg(&create->done, NULL); --=20 2.25.1 From nobody Wed Feb 11 18:55:35 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D9453C6FA99 for ; Fri, 10 Mar 2023 22:05:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231490AbjCJWFn (ORCPT ); Fri, 10 Mar 2023 17:05:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51998 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230287AbjCJWFH (ORCPT ); Fri, 10 Mar 2023 17:05:07 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B54F0104F54 for ; Fri, 10 Mar 2023 14:04:00 -0800 (PST) Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32ALhxkZ001664; Fri, 10 Mar 2023 22:03:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=WFj74BjVDsDk91gUZrRUu96xe91VWTAKOq3E5PuYr9s=; b=Gip1Tgh57u6WQrq2vXSAvm1P9fUqc/2DINKsNDgLMqTNy3VZG5iPwZutfTlb6xa/qgQP x9nkby7r5sB1uKVY6AGeMwnj7J1IlzejvNDkjTNh+oj/uyDZC0/Tv2bQNcslxPwLkQAV 1G9yEMoArfMg1XntDgm/hwyRM9kM9XVmWF0MZQQ41js2QCsZreNY70dRVHZ5conQTHPQ 0+k3NtRo0xGi9f9DCOMS8htYh1na3tI0UviTPM+3l9x20TJjQQR/pZKp7cEESNnFfCEl d5jhftZYYb64h8iffz3URlvRacrKVNsWuVsGVuSx2xQIYXnblqXPk4cx1SoeOgKH3xQJ JA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3p4181643q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Mar 2023 22:03:44 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 32AM0NIX025577; Fri, 10 Mar 2023 22:03:41 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2041.outbound.protection.outlook.com [104.47.66.41]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3p6g490exs-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Mar 2023 22:03:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RFzubORAc//SgDbIpztEkYdeuvoGFlOdYEpmgPTTsqIOqTBuVpFphWQrI8H/kkxs51x1iAltLVAwJk8fIYB1lyJ7hKS388rKc5F+vAgbZCf8aPOTp+bLDWeGbxKO6aZnH4nXMANOFJ1VqktSlWFFMd/sr1PQkATCTXu0acsQLHCXecgasfaCdGVUzO0x3JPK9luQIzahCaBo4/mn0xFzJOi1sbwSP5dtIeWWElqqdkxKqDW4N6Czu05MtXTz1+OzeMlOcIT+LIiqP2JMwz97B00McIcoEJqnHGt1V91PhkyJCXosQPUifpvFyeZGXl6u6qO49XRmVxmCiL1fc7eKQg== 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=WFj74BjVDsDk91gUZrRUu96xe91VWTAKOq3E5PuYr9s=; b=ULRDZC0M5a2ifta2RGhPnz+599Ym0LNXxAMcoxJozBJXRBpB5X5LTP/Pyq7psykFysoYs5IycCJAzxlc8sVVvXcxGSHaf5jsg4qF316NyMpG3N+jy4uBiUwbQ6WdGJW12U+USvcQ/uQujkb8iCmEAz4Ak+wkxS3ejrqHSLF7nOWMgtHjpAvPBJOBMngCTEGIZ9skmpT9DbRmyrpVOFvAeIWpOx/+ZvkgeMpQWjoDMFdnKVhbfJaYydPvM3MOoXfyP3bE9dRY2DYXWwAOtzaXcYXJcNVQ9Ib6ddwtEYqMXzug83DeExW31BJhvX640zp4fh7CYkLEKAG7EZTq8hzaxA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WFj74BjVDsDk91gUZrRUu96xe91VWTAKOq3E5PuYr9s=; b=t+7kjJ73+TO5d0lNn3xsc6AhH74riE2vb/+ddnGckqYJAkkYhpMsT/9OgDInuD7mkS958sTXZX6SkpY5O6Mru4pKuG1N6hS8ThrPQoATbykaVetZBIUd/Hn8elQ3enykeGo+PftFc/lEfl7nneeaAhQ/V2LQ8+OGrZhbdpy1siI= Received: from DM5PR10MB1466.namprd10.prod.outlook.com (2603:10b6:3:b::7) by CY8PR10MB6514.namprd10.prod.outlook.com (2603:10b6:930:5e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Fri, 10 Mar 2023 22:03:40 +0000 Received: from DM5PR10MB1466.namprd10.prod.outlook.com ([fe80::7dd7:8d22:104:8d64]) by DM5PR10MB1466.namprd10.prod.outlook.com ([fe80::7dd7:8d22:104:8d64%7]) with mapi id 15.20.6178.019; Fri, 10 Mar 2023 22:03:40 +0000 From: Mike Christie To: hch@infradead.org, stefanha@redhat.com, jasowang@redhat.com, mst@redhat.com, sgarzare@redhat.com, virtualization@lists.linux-foundation.org, brauner@kernel.org, ebiederm@xmission.com, torvalds@linux-foundation.org, konrad.wilk@oracle.com, linux-kernel@vger.kernel.org Cc: Mike Christie Subject: [PATCH 03/11] kthread: Pass in the thread's name during creation Date: Fri, 10 Mar 2023 16:03:24 -0600 Message-Id: <20230310220332.5309-4-michael.christie@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230310220332.5309-1-michael.christie@oracle.com> References: <20230310220332.5309-1-michael.christie@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DS7PR05CA0076.namprd05.prod.outlook.com (2603:10b6:8:57::13) To DM5PR10MB1466.namprd10.prod.outlook.com (2603:10b6:3:b::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM5PR10MB1466:EE_|CY8PR10MB6514:EE_ X-MS-Office365-Filtering-Correlation-Id: 06f18f69-ff10-4767-2c94-08db21b34e58 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2Hl3o8Uw4hM+qEvUu+Vl6xQvxZHP+HnOMEhm0GUAm9jPmIFL1tXyp3wL/WH2nffyhNxnEuO0nqsL5JCu1a7rKukFQRx4BAQV+vbGPYmcUosupjYIVzgeNc//fGjE9pW7peamqecKy7M6s2C15F1qMrt5jtj7ijGv8QZmdS75UIGOLGviUNvyGWAlyVIE/bajNdEXUbvdereNXyEcTBokNYhGUg3hY1kYyFuSgJhwgyD8Zez4wxaz7a8a527/iTAW/+C+IwFSPo7ggN0bJqlca75bnqVOvb/vw1UBNC5eLJDaz6vSrJYF5cYaPiNOEaszvZQne9MRJ0RdpQtNYZfGKKKwJZ2F0Uo1rDa/8SDQmNxs5cUkSpfTGXE6z+s33NtXEsh278X/fDM4azTat1faIwGNF7By/X8JK0mKr3dHPH0IKY7+nIhzlxwm7poqE4jdl3mxgcuP1nt1c3JoeRQDAPzOgPHfDDBhQC1elTWzEOZ/0vFk2foonc/qzd9o2Cxuo556D0DJ0S2TuI1s1ablViZEbol05wVDGNX8QyaztNAcwW8h35Phm2TY2Y91uN3d4genBDckNJuZ+nG4tleWWStbWDW31adhKM+r2lXY6MQzHj5EZuQRgsga+Ot3ELtLpYRUshFyz0KT8hDSpzFEgC9rsgdNYIP8LjjF3H0oR9PwO4YjUBLp8gNWX8SihQZG X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR10MB1466.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(366004)(376002)(396003)(39860400002)(346002)(451199018)(36756003)(6486002)(186003)(6512007)(66556008)(6666004)(2616005)(107886003)(1076003)(7416002)(83380400001)(26005)(8676002)(66946007)(4326008)(41300700001)(5660300002)(2906002)(66476007)(8936002)(478600001)(6506007)(86362001)(316002)(38100700002)(921005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?L00NhVzd1LJqTqqGFojzWozAg6HGBI+Xw24ffjl0HZdE8oBVCmyUkC3w1GQa?= =?us-ascii?Q?GabzJgqfMvrHcp3mz1s0SWouIvK1rI50s4yOq76uTZtFAhAssqXKV0lr4Pxg?= =?us-ascii?Q?BowZ2XicRI2Crecz+agPVGiBcWywr3zBZmN41n6K1QFP4OgdYofNkjeFoCgF?= =?us-ascii?Q?0cBDmi8ZgWB8iLMlyvAAAtTJNctdlnnknMLk4hUJvXNC2WtdS0Q/NOGBU2sS?= =?us-ascii?Q?SrB6Vzmavl8Ot2rFOhYZLDHdyL91CupdWH+aqvEOjVP9fS/ZEA9xOGTXssxW?= =?us-ascii?Q?G47PEHhodtLmX7gPI1ayAE7fYHuhjr/ZlG2xYL0xDvBFL72R/colw4JSFq5W?= =?us-ascii?Q?idyXZW4CHh92dRceWpMZzasEHJBUtPae1S7sY94cE5WmPcHyCksPIepK8Fad?= =?us-ascii?Q?4V8UasGY3v7JKEuTVWPzVGHWgk/XxmYEQekkH1tLKhXiDxncS5WNyjK7fXnP?= =?us-ascii?Q?4VW9X5Re+enOg5zE3Keu6OFU8gMuzhbB2azQvJ6k6kjBh74ektoWhYoiHGlR?= =?us-ascii?Q?Ov2pRgRa0x6LIokmg/lMHGQXlNvIq98V03DCfBrG12wzbVIdYGDFIK1zBXnF?= =?us-ascii?Q?bov11ArDC7+yx+uP+8I2YgDFbPEFJAgReFDx+CAT759Jx0PfFsFuDI/GwgnS?= =?us-ascii?Q?MhaO4DegPjOCJdSN+VxYA1Y1AuHuTHBtmMZHueREHwPYxS9ANjSxazSb3Pl8?= =?us-ascii?Q?aWhLzw9RyIHth1XUkUsIwC+GDsIm98RqGfCNGKJWAC7zXR7a+2UXSZIXQJHM?= =?us-ascii?Q?4ywwFCmh2ZPG5aqsFJbgugXi/DM3K+0us9bgMRFzPmlbb9nFR8WIEP2zxMCb?= =?us-ascii?Q?57mbv7fQXWAAmAnvecO+mn02pyxLjot3ccWQap6NDcM9aD1rTQs6YuZKGrTh?= =?us-ascii?Q?Nuu72+t7ML7MAjlD2ZYYCu0O5jGtBrlcHbng6eHV382C5kNp34drKoa+WeOx?= =?us-ascii?Q?MYpM8kmVUXoZ7LpQ58+mzX8kPD41TfPSO6v/iScLPo+2VrtCJGlCgHm3N9v9?= =?us-ascii?Q?8Xv4UzyUT1U49NXiDVCgD5i0O2KEv2EsnXiAtxGL7nUzqh1omy3fj8meKMDe?= =?us-ascii?Q?7aoIQsSDD3Yg6c24KIG9OcfjglLP0guWNjC3U2TtNZktyxIPrZlGZhk4I+Kc?= =?us-ascii?Q?jSxt6G0kSvv5SIqJ9G43e87w+s40X0VPRFwYucKuNXHda87vMmGaWembKegG?= =?us-ascii?Q?lJI9M13N0VR4DMN6CFr/VqH7DrKPG4nxDoGWaILTBUzc3ZE5QvX5lZyXKL2v?= =?us-ascii?Q?dbZYMi6CFOf/KELztnPoeDr97N/a0HwNBedZlccXgTLhdPNn0V5ROgwAb/9Y?= =?us-ascii?Q?eHfrGiddlvyc74TWJ1F+GiZFBTLaPsejavf3X9TVIRyrLRBWRW+/kNblEBK4?= =?us-ascii?Q?f5PppMrpZ9BJy5bS4cRf3Zzqi1DLo5zFAstiOageRjoeNBHiwnBqG59D4ugy?= =?us-ascii?Q?NIg9uOBWi/MtNgeQ8O0nQ1I1Oysky36hG7iDvhPSFfIoTppjGu7U5X+8tUPN?= =?us-ascii?Q?zruKJ9q9H3OVM3olGG/EcUhE80w5FpG8Sk6j2jeXfML16VXusjSAmaeT8C51?= =?us-ascii?Q?HvYvWvzQPaxjCReniuz3NGkxeYnHW7g0Ao37pe+kh7Z3QQLWpVRwWjE/LvWN?= =?us-ascii?Q?nw=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?CsijrVVbkfskwhMAdQNwt08ahNLEenZDm7G9CBuS4cRl3R5VBNJhVwr3iFty?= =?us-ascii?Q?MGSNY/efVhKpdBV954OkUegEujRRHZDqwnwqGt/H77Y5bkf5GVaS+YX8lkBv?= =?us-ascii?Q?h3/CJY5+rfQLQD3YxzunyQsYvJF4tW15WktbGGTnUZKgeh6uIrcNmXJ748E1?= =?us-ascii?Q?dGs+ubi98KaJ+AWwtuS4Cj6ZdEjkAuw1GlJ/5Ua/iqP1njkS7/UXJPeEvtg7?= =?us-ascii?Q?sAivEVfpkD2UYqRrG8kNXn/EQKhoRgBMWyOozcR7IpPm5O4gB6EH/gwPudDy?= =?us-ascii?Q?BuBBsNr9Ez6ixVY7c5LcgB7zMjT+S77KOB3o3KT8bI54JGJBTg47wZ3TCkOU?= =?us-ascii?Q?ryC5Na0RLpOSB23rXZJasvZwR9bwa3wTqfBD44RW0DYVeJvy5JgsmbWH0i1w?= =?us-ascii?Q?gcgqo5e2vbePSPeKcFL2+oAkxgjKHXwIkAPkrNk2lQeX3kH/dt2acml+XSzT?= =?us-ascii?Q?6a7QJL/XNOMtzySOfq4s/11URbGYVbiyIfxDGmR6/B89/5Cx52rOqWb+hKMg?= =?us-ascii?Q?ZEjL56jNloKZUgCpXFtaJv4bVVknh/RLBVFm0V2SzVi+05Ygm44h6fNRKD9e?= =?us-ascii?Q?rOX9n+HX2bk+xElKN32ku8X+YatIEvJzh6u1nUwjugPfJVtHlp44gJAZbMmH?= =?us-ascii?Q?3Bahf+SL3+6sf6m8oS5tylW81uqtqO0OkmEWVXcmvR9SCYwn/y9iIC2h0dos?= =?us-ascii?Q?bYKkcnOmkIdUV09/OtUXqdPgqElq+EQsvSIwPQ7pntKBs9bHnbolqpRhNVuH?= =?us-ascii?Q?mKxHClCfv/NHBDHcF/YJwnU9YOp8SWCI9vLDhf/DKH3I+Mp4Cq1YoYW6AidF?= =?us-ascii?Q?ue7BRkZN+7VxnjLA+8x+5Zgf+9A41g7/kxkG25w4NZdoBjh6y89DnH9g9Z7o?= =?us-ascii?Q?S6tz50ReaUR159/a/k8uLCPoAH61cnbG2sR7KWnhfPNOKGrnEfDWfuuBmsMt?= =?us-ascii?Q?akjw8u7XFiU5yZRvjEJvdnnAqenIqHJGQSVokJSGNwzWpQZ2hhfCVOTGz9ts?= =?us-ascii?Q?BSlLMVbZCEqZ19QYeJbviZG3dQ=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 06f18f69-ff10-4767-2c94-08db21b34e58 X-MS-Exchange-CrossTenant-AuthSource: DM5PR10MB1466.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2023 22:03:40.1883 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: RwnlTw4QJgM9K8M+DdKKZE0XEeRSDMSwCBnLKQP9oFnvF2osaEs9edw07L2BDz+siyUm0qqOKU0lrozd/IUNgcV0m3pk2XdHG0TxKkpe2Fs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB6514 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-10_10,2023-03-10_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 adultscore=0 suspectscore=0 phishscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2303100176 X-Proofpoint-ORIG-GUID: VyAX3ytKY0PC4etlzF91RLUPcDXd2w4M X-Proofpoint-GUID: VyAX3ytKY0PC4etlzF91RLUPcDXd2w4M Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This has us pass in the thread's name during creation in kernel_thread. Signed-off-by: Mike Christie Acked-by: Michael S. Tsirkin --- kernel/kthread.c | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/kernel/kthread.c b/kernel/kthread.c index 63574cee925e..831a55b406d8 100644 --- a/kernel/kthread.c +++ b/kernel/kthread.c @@ -38,6 +38,7 @@ struct task_struct *kthreadd_task; struct kthread_create_info { /* Information passed to kthread() from kthreadd. */ + char *full_name; int (*threadfn)(void *data); void *data; int node; @@ -343,10 +344,15 @@ static int kthread(void *_create) /* Release the structure when caller killed by a fatal signal. */ done =3D xchg(&create->done, NULL); if (!done) { + kfree(create->full_name); kfree(create); kthread_exit(-EINTR); } =20 + if (strlen(create->full_name) >=3D TASK_COMM_LEN) + self->full_name =3D create->full_name; + else + kfree(create->full_name); self->threadfn =3D threadfn; self->data =3D data; =20 @@ -396,12 +402,13 @@ static void create_kthread(struct kthread_create_info= *create) current->pref_node_fork =3D create->node; #endif /* We want our own signal handler (we take no signals by default). */ - pid =3D kernel_thread(kthread, create, NULL, + pid =3D kernel_thread(kthread, create, create->full_name, CLONE_FS | CLONE_FILES | SIGCHLD); if (pid < 0) { /* Release the structure when caller killed by a fatal signal. */ struct completion *done =3D xchg(&create->done, NULL); =20 + kfree(create->full_name); if (!done) { kfree(create); return; @@ -428,6 +435,11 @@ struct task_struct *__kthread_create_on_node(int (*thr= eadfn)(void *data), create->data =3D data; create->node =3D node; create->done =3D &done; + create->full_name =3D kvasprintf(GFP_KERNEL, namefmt, args); + if (!create->full_name) { + task =3D ERR_PTR(-ENOMEM); + goto free_create; + } =20 spin_lock(&kthread_create_lock); list_add_tail(&create->list, &kthread_create_list); @@ -454,26 +466,7 @@ struct task_struct *__kthread_create_on_node(int (*thr= eadfn)(void *data), wait_for_completion(&done); } task =3D create->result; - if (!IS_ERR(task)) { - char name[TASK_COMM_LEN]; - va_list aq; - int len; - - /* - * task is already visible to other tasks, so updating - * COMM must be protected. - */ - va_copy(aq, args); - len =3D vsnprintf(name, sizeof(name), namefmt, aq); - va_end(aq); - if (len >=3D TASK_COMM_LEN) { - struct kthread *kthread =3D to_kthread(task); - - /* leave it truncated when out of memory. */ - kthread->full_name =3D kvasprintf(GFP_KERNEL, namefmt, args); - } - set_task_comm(task, name); - } +free_create: kfree(create); return task; } --=20 2.25.1 From nobody Wed Feb 11 18:55:35 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7BDC6C6FD19 for ; Fri, 10 Mar 2023 22:05:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231605AbjCJWFv (ORCPT ); Fri, 10 Mar 2023 17:05:51 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52008 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230526AbjCJWFH (ORCPT ); Fri, 10 Mar 2023 17:05:07 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 955A6105F20 for ; Fri, 10 Mar 2023 14:04:01 -0800 (PST) Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32ALiNKS028939; Fri, 10 Mar 2023 22:03:46 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=W7qRwBDMfTUla5lm/y0u5ByOA0UDUIrnm8QJPHPM1EE=; b=XhaVqjMqnMXSnAUilagBqN/oHoUaiumPWxOVca2cLMtkKjEJxXwBeHEayN2QOvtJaWTI UyIehB2b8yzI7dhgoJJqMWdG7Xx4I/4HvylSJQ0OqC0D40MA/WnyEP8G3Lir1ehz4W64 XY7M3JGd+hkmJUn/ojMB6IBxvEWd4/UlQTy3VFuU/9qKE/Ja10JeWeE3xvYvl0njxfdh 4jYjdvQFxOy5sc8JMPG2Vq6zVb4WXgnN5g2zUDnkrL8rAcVpCnwerqsYD1UNJUEIpGlC FMk3tSTfticDFaG7Ci+bRVgGEAE68F/7IxIqhpumTKgBJDrO1qqrltNBk7LQgn6LMjSs Sw== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3p417cp8yj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Mar 2023 22:03:46 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 32ALm9c7035033; Fri, 10 Mar 2023 22:03:45 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2045.outbound.protection.outlook.com [104.47.66.45]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3p6fubfdqs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Mar 2023 22:03:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Uh96zIhjU8ad/kzKm0tAfLIBHLCFZAAZh/DOWJ5R+ub6pEUPRjBBfhMrykD136KhTFsMHei2+3nbEoYMzWAIPKadkG15GEmjbDKxeshMO3DvZyHujWt+pyNAhMcGs6WSMcLGxZUT+AuFrqGRlJwewZKXpn9bmJozH0rkJlFV86cx3dODx2R1i3gk1qzG+ThxKfm4JTDhLRGSg2xrKPGlCf/5/2YEL44nzp3FQa7pmoqiyA9AQWtwY+wcxxfKjrsnmel/QvaZxoiE5msSe77s7HiA6uvhLWjTsvQz3aXTQTf8ZxBw6E95LikdAB0LXx7ON6xx5JzRdIYWnZyt4gzeqQ== 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=W7qRwBDMfTUla5lm/y0u5ByOA0UDUIrnm8QJPHPM1EE=; b=U9B1ew8HNBkaL+NLvAurGOmT7YuKPsycB/G1pfni1Gzut8KosaGLRxCTSksA2gBFN038/o0+r4+OOlg62A3F9ksjxMItolPFWSp49M08Z6orj0wgitny3kVt+0F49VIBecSM9WC4kJlX81mY3xBb3LZ7zxL/fSs+UuGtKCtSuxjIlRzQxoR82q3kTbWVdLh/ogxJMkZm/d582/dkwmIESnuF7oUdG791zUJSCBMaHtgbO1DtKDwU2Ce7wOLdpnqoGhjAi0oKkUz+eobddAS5TbemdrPEpU8Q4E/pPaAwjvouT6rt9gJBHoCuAcSXlNuFYnCoAYwCXT1r8B4yri9uhw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=W7qRwBDMfTUla5lm/y0u5ByOA0UDUIrnm8QJPHPM1EE=; b=Je/GP+kRIQjoc60l4Pp2HBoLFrr8jsgtapMQIWBjJQIJq2lZfipaUeHoVdmtQzwqSfo4ZMd5wsuHjHBsbTrFYLyCwT1ZTIb47uly0OzafrW5y4RTVOJAv7TzF6bUNJ/SXaFt2X2YZc2xDjGBSSpksdwJKz7PojehPGRxRLsd6KI= Received: from DM5PR10MB1466.namprd10.prod.outlook.com (2603:10b6:3:b::7) by CY8PR10MB6514.namprd10.prod.outlook.com (2603:10b6:930:5e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Fri, 10 Mar 2023 22:03:41 +0000 Received: from DM5PR10MB1466.namprd10.prod.outlook.com ([fe80::7dd7:8d22:104:8d64]) by DM5PR10MB1466.namprd10.prod.outlook.com ([fe80::7dd7:8d22:104:8d64%7]) with mapi id 15.20.6178.019; Fri, 10 Mar 2023 22:03:41 +0000 From: Mike Christie To: hch@infradead.org, stefanha@redhat.com, jasowang@redhat.com, mst@redhat.com, sgarzare@redhat.com, virtualization@lists.linux-foundation.org, brauner@kernel.org, ebiederm@xmission.com, torvalds@linux-foundation.org, konrad.wilk@oracle.com, linux-kernel@vger.kernel.org Cc: Mike Christie Subject: [PATCH 04/11] kernel: Make io_thread and kthread bit fields Date: Fri, 10 Mar 2023 16:03:25 -0600 Message-Id: <20230310220332.5309-5-michael.christie@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230310220332.5309-1-michael.christie@oracle.com> References: <20230310220332.5309-1-michael.christie@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DS7PR05CA0068.namprd05.prod.outlook.com (2603:10b6:8:57::20) To DM5PR10MB1466.namprd10.prod.outlook.com (2603:10b6:3:b::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM5PR10MB1466:EE_|CY8PR10MB6514:EE_ X-MS-Office365-Filtering-Correlation-Id: 180ae6e4-a9a9-4c0c-8032-08db21b34f33 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: O5/NQIzJ271WyPDGk7pQEv+UbqwOov64EzZIjiJTfDFQfXHzFo7UnPQxwQG6C0gXyzUAuoG/fJq2jfhgUktFseuudeB9+7GP4sH1zQqi9z92o90vWg0kUe2gZ2HdpZzXZ4Ph+3RlzEJYWJHscUtYtwbFZtbC6HqplginFXZ24/47n2hY1IdeYr9orIzFw7cwJ3WOsl9g3Gulv/EMSyiDMonbPg9wIj6KFniYFCjL0rhP6FabvvwmGgYqh63l/V5+eggzMKzAKHrBiFa61Bm76IIF+QMfikXtaRDuJb3eKKcBXFDlb/hlcW5xBYpcCCmohniPeMKcIxp9v8DYu9MdBNmAMW+YR6SlvnV1rV/b5zVperutrgOk2MfRICyafYhGxWS4eMBFUqI5aRYDw+IriCLTBJzJGI76tbUzXvtehyaXG39uDNkVR1NkzWF5QcVe5xDi01XbhenU0DlMKtsrFE1vowZlrHTVIgNJhoY4K1YA7UJHafRnJKPY/1ujzH3Y9l19XMOWHK14OOUTlSVr/05Ec9lCyrXqROQ6oXyvCzmSPEp7t/U8oNRshi86Zl8hS8qcQ7v5j4NOuey3qVHGBUeUdMzs5ycEg3EcAvozDPkHJuIB04D72Q2ZEaeEwt9CExrmhLYJVWu8LKasA7QPuWZS8jTCV6dkVpudNRhk/yV8zvpBeEr7lqvMhx0ZvCJG X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR10MB1466.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(366004)(376002)(396003)(39860400002)(346002)(451199018)(36756003)(6486002)(186003)(6512007)(66556008)(6666004)(2616005)(107886003)(1076003)(7416002)(83380400001)(26005)(8676002)(66946007)(4326008)(41300700001)(5660300002)(4744005)(2906002)(66476007)(8936002)(478600001)(6506007)(86362001)(316002)(38100700002)(921005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?DTQOfoiPTA07BqVvTuNcnhoV70Mm+9kTMKnOlzT/72o8a2vKSlOcUbIhR7eq?= =?us-ascii?Q?GiBJ27xDKNrmbk+R0yDhKp89TtFDhvPtIH3uPMRkb+l35AFcmkfX6dTCwBHf?= =?us-ascii?Q?vRr5l+O/6llfM0+buUz5EK+g6fjGrs04yrMCoPVuyxkBBAWfWBGAUMxeTK+v?= =?us-ascii?Q?dY8lHZI0v94REzp5wUgGcLfPhrkp2I/MbjgbZgqgpWWe6fF8YUQIi+sXEmKs?= =?us-ascii?Q?gMSojP95Gwf88BENdj5R+fXaPFT9RxHeJnhwc2yAVNciEx18Nb4rR3RNnqBA?= =?us-ascii?Q?OC3FVZOB08mn/MYAGQwEXCHPxybA0m/vapgmBqWQpjXy9seIoLt9qtDhy1xF?= =?us-ascii?Q?cyf9/y2d7OyQdfwCZ09wbbuKe33GsgfslYQsHotzDh/NhYcB63TKaneCWRTL?= =?us-ascii?Q?ZFYGupgIip2S5ZOb56WBHU5nmy29TdQpPTCNbkBEIgd9VTvZJcD7O9TqwmZX?= =?us-ascii?Q?e1fP/Z+0sCGO1ogp2y/Kgrzm8bCp9qbVSanWLi3Y+nIz3fXoiB2O71TeT7/O?= =?us-ascii?Q?E/qXzggSXypw9RWvQc4IOtHFC18+duCK+sP7MAljZEjGgA8W62p9s933Olak?= =?us-ascii?Q?Y3VSlYei3Z/EWVnKXJNtX8U/lwM/c2QzYIF3/8m++jAogGFHUAnyi1n0gejl?= =?us-ascii?Q?ybKWx7a7WkNeRPsEMpUcL1K1XQ/KYEPEuwmLwSkdF1+knNHJE0iyMwh93eGU?= =?us-ascii?Q?64TGQqPQMhlaHRdFy6ODWTD1csxdREnQfoPqHybd2qKaVPvVqAIzEW/iG3MW?= =?us-ascii?Q?FybMZ5K6tnk2mYan8uveUj6WjyzS4qBtD65DDnKA2XqHoav7QaSJZvp9lg2d?= =?us-ascii?Q?OspTcKHzrIUepokmTzATfmjcIs8YsdIb+R5fbfN9XA/9HO/iJVRm2haGEe5k?= =?us-ascii?Q?YgqIMM4gYEfApa8xNWIKaTfVZm8j7l3shggFPgaFrFiOiarBg6lYG/t5/phu?= =?us-ascii?Q?bwuuTUbSmhrN0mIwj/fHkpZNrwdOwkBfPlcmMVH6r1+nW4Th5P31a09yPrch?= =?us-ascii?Q?9INw5AgmEaArt6FuyD0rt0oDAYCobEx5O8CacrUeUGOkI3c00AhaRIjFCvsy?= =?us-ascii?Q?8JAIyH59J1uZRlTnir1POsgZqftfJ1LfDxrYIDLcsUmZB6hFxHFMdrrz02YA?= =?us-ascii?Q?1lrl54UDfh+qycBggjySCVTNvA1PC/rETvD9qC/sWX6Oqc1Vngkal1lToQaE?= =?us-ascii?Q?Vc2MfFIUNGbEkKezEIOQkzatLL082Jk2JJnRN7czx2DCm7UXNGVhnRieQh/O?= =?us-ascii?Q?HllYMSOAyi5Cv5VnQLhN1XYidC9lBGiXQ6OS/Ld/6dMHpDxzJ77IJXeiAeQ7?= =?us-ascii?Q?krUG13CHd2iX+tKup4wWrEvjiktrhzz6mOkidbqJFH3O9EXDHK5rCk+LFKuS?= =?us-ascii?Q?uigU3sXQdStAEaQ+hZwpl/m7Pt76tb0DRihLmS3yCB4hPuPVTNtwHDNwRrs9?= =?us-ascii?Q?vYI7w2umCXKQ05X0X/sCO3UHH0YnIFAkAreiY+HxM8bQViEGADDt9qdDEMgN?= =?us-ascii?Q?iR2pUDsewqkYnYjnk3qkdO4ukLKiKgmYdLJpLaP6SlGfpYN6Jy5A3CiTpTNJ?= =?us-ascii?Q?xAQmOqiu/TIiugAcAAhihDYx2GPv/7K9k08lr/nDpkGd0UAvicvYeyO0jmZg?= =?us-ascii?Q?7A=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?bJlUhsC3FjgcTvjhpuhgF4wNXgalwbB6WS08d/RGtoI+w7TU7708sLQBoDHn?= =?us-ascii?Q?OOcmkQIjupYymb8QZeL2Jy/d70f/aU2ZV7+ppG/gNsG3v/fQUIFL758pecyZ?= =?us-ascii?Q?iSYj9nV4LnXMRL7tGWzDKUS4mRDVJR/tA0KQoolzkPGQVQhN66c/4VTbf9O6?= =?us-ascii?Q?XxIMowk19r9/DQgWU0B4hf26wnTHSVNhRduXOsvZS8sWV8zeVc1kSl+Ciux5?= =?us-ascii?Q?GSJqCv0zlwgp1iNEVEyrHl2Jvwb+t6YMjfw/GLlch9Ou5l0PRuYahiJhiSNU?= =?us-ascii?Q?xhoDQzWyjKUNYrInqTn7ggljXe9GtRgKGbqo3Tm5J/v8HkJfcSdfMyXcOqEE?= =?us-ascii?Q?A5ss33At0oAwkM9EpAeCyAmEpUcy2vdhHjQqTfreysPeOj21P3NC7uVQaWLo?= =?us-ascii?Q?79HUxSaxqMvlN2ydAwXGzincigyp+l2EhfdMTSeaf98p9ucSedJEqCr8soc4?= =?us-ascii?Q?VifUCUN8QHM4t27rDFd6dRBGVXMLEIN3mnWSYJ8h8Ed/Pe0KawWjMlqfhYBz?= =?us-ascii?Q?mrATjy8oVZ5RmFuvWnwYzBY97gUYhDO/yh4rKjtZp3Vz9RYDtUjhQOgyTwhw?= =?us-ascii?Q?RdPdvGQ5OBrhcCelAPW5URN1BiuPQRidCEFhnCMY0wviQ8E00nrsgAJOZNS2?= =?us-ascii?Q?zBxP7x2iYx1fpohRQyhRsXP9tvc/oKZmpWgRaPzxuijVECeSpltDUPjCgeeq?= =?us-ascii?Q?YAg8Ys9VIqMhTy4WZ2jzyGVpzlMG9DsWisrKruXRWAUqWEoLMvOxGXEwJaQD?= =?us-ascii?Q?VRXR00yddf1GT4VmuNgPWiEWTS9/k8HzuYNaFe780R8Y0TIDC1rd4XPu3QRi?= =?us-ascii?Q?8K/ZU97q/tXTBrbVihu019J8BF4oHUh2k8mgUispTAgCDNB1uaTnQwMNWxal?= =?us-ascii?Q?WEatSU5QudTblGHvnI/wPrqH/Ur9vEbgCToeUh/hpFO+dcPUq4Ucwh1lngou?= =?us-ascii?Q?Iw4+pWGM4NmueVvAUnbUH7pGJa9qLlGha+8vMmRd/QiqUk236UlttoVmCYfI?= =?us-ascii?Q?MWUUwsnjfHTPym3FLTLaKQ+4lA=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 180ae6e4-a9a9-4c0c-8032-08db21b34f33 X-MS-Exchange-CrossTenant-AuthSource: DM5PR10MB1466.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2023 22:03:41.6101 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 9kmKECQMMTbmIqVar/0bhRe1S877a9VI3jSRRlijpheWU2+6T6DIpWvcRJqYLH3zXhM3beTSNcLMwCnQr9d9rK90nPwuoOGMhgKHA+2prfI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB6514 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-10_10,2023-03-10_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 spamscore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2303100176 X-Proofpoint-GUID: cF9ZAoR8K1iNw4Xm-XKGy4xmOL5P8Aoq X-Proofpoint-ORIG-GUID: cF9ZAoR8K1iNw4Xm-XKGy4xmOL5P8Aoq Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" We only set args->io_thread/kthread to 0 or 1 then test if they are set, so make them bit fields. Signed-off-by: Mike Christie Acked-by: Michael S. Tsirkin --- include/linux/sched/task.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/sched/task.h b/include/linux/sched/task.h index 32c9f01af0a6..268c77a42155 100644 --- a/include/linux/sched/task.h +++ b/include/linux/sched/task.h @@ -25,6 +25,8 @@ struct kernel_clone_args { int __user *parent_tid; const char *name; int exit_signal; + u32 kthread:1; + u32 io_thread:1; unsigned long stack; unsigned long stack_size; unsigned long tls; @@ -32,8 +34,6 @@ struct kernel_clone_args { /* Number of elements in *set_tid */ size_t set_tid_size; int cgroup; - int io_thread; - int kthread; int idle; int (*fn)(void *); void *fn_arg; --=20 2.25.1 From nobody Wed Feb 11 18:55:35 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 273D8C6FA99 for ; Fri, 10 Mar 2023 22:05:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231183AbjCJWFy (ORCPT ); Fri, 10 Mar 2023 17:05:54 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52050 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231270AbjCJWFH (ORCPT ); Fri, 10 Mar 2023 17:05:07 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 976DC106A1F for ; Fri, 10 Mar 2023 14:04:01 -0800 (PST) Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32ALhqoj029136; Fri, 10 Mar 2023 22:03:47 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=3m8FWwybgWEViMTVNeZsK1ZRJSlE4UNrL6uWmcMtmcE=; b=K0ju5MiQ+h4jcL8sr4VKilT/yC7P4hcXqjakbwHlVYE++lXNHy09+L2NF0Tz4OEm1veR ty0Azo0G7Oe16aWxIqBSCkSM957zYSkb143J2lv1IZMAFtQE8CyIVuM/SDar7ZVCtfh0 IOGLTiOadrfnUdTeq6f+QOEQP+v6XYxoSwpFe7Bf9fThJGnT+Ek2dv6UlG+YNcAfA2Cf Khd2vtNv2Ixa9HjbAyDtl4qIYjFF7ZIb4WNNwWlr3nPGvxfYYyCXlrXpOxbsA+vEc/+y FWsa2tbKpyOPhrKZCkZsZXPyT2drY2Tgsgs2XP2TV2RapyHY2aMbcYOHOvqHtJysNRq5 Kg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3p415j6df3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Mar 2023 22:03:47 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 32ALm9c8035033; Fri, 10 Mar 2023 22:03:46 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2045.outbound.protection.outlook.com [104.47.66.45]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3p6fubfdqs-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Mar 2023 22:03:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S//5by31FZ4rZGWdXfs6j/leBUa7d1auEyYKA/obighP4TrZVthreVRYq+1s1l7LlMhtVirFCWoJ3ukicBFAV4W6qJ5zx9wGTouco+8ElLHgC1aGYT7258HGmnRkuOkITDWYPPmN3sa0aYALC1V3dmpSg7cIRpRGbgzrX8uFKQWukSYmxnBri6POqi2KcoKkWPz5cwrNNQUOCxvyQdFvdVaMd3SSePL+akiQK3driL7yDJnqIl5+QgrXLaeU9+VULnnkv8vuY6Fj9i9dNfcw5vHwmC/J9ZOWTBqaBQOImobAUVMFbFMlTYuU0y36dqoPhZE6beP5dXfR6E0oJLE6NQ== 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=3m8FWwybgWEViMTVNeZsK1ZRJSlE4UNrL6uWmcMtmcE=; b=gBUaiFx8i0vhegsvkOaRbWeNFKe2eFmnwA21H80CEpNCPu6XOsLGWQ0Ek/KQaz5hpKa0lLgI0Tnh7K9vpMuwLF0I1asBZG0H4Z7L+1VIZXhYoFdmdPVr2EfZi3locxwsvCWZ/30lDPTMI4NqQbjNtNg12i27V9yrguIyKLnua7l+rSJRjO+lgQPG+ER9mVLO3lR6lnd9whMHzd7RktgGX99XbzI2qi3YtPDX+6g7PNGsWc6aTSV4m7BuwVfItXX1op5ZnAVUnyAGo8TSxLAljVCGtcCfQ8nv8jqkGDdO8PB1BofliGPGl7YXhp8eq8FBQPhrtXuRxt02GIKjxI6S9Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3m8FWwybgWEViMTVNeZsK1ZRJSlE4UNrL6uWmcMtmcE=; b=FXEJpFCnLwlX3zQ13LL2h0JORVu5eBG8/KsvjXYGSmxGeaBfYYUlhJvqdbw3pgQX0ENu7PpOMUockrKRt1BTSndY8bbjBOnIvZGBEzwAhzUQj0XEbjzKtjxC/B1RzpXfd0bUQTv57txVxVdSmxoV7J9oY3qn/svNGiDXcvX6sHQ= Received: from DM5PR10MB1466.namprd10.prod.outlook.com (2603:10b6:3:b::7) by CY8PR10MB6514.namprd10.prod.outlook.com (2603:10b6:930:5e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Fri, 10 Mar 2023 22:03:44 +0000 Received: from DM5PR10MB1466.namprd10.prod.outlook.com ([fe80::7dd7:8d22:104:8d64]) by DM5PR10MB1466.namprd10.prod.outlook.com ([fe80::7dd7:8d22:104:8d64%7]) with mapi id 15.20.6178.019; Fri, 10 Mar 2023 22:03:43 +0000 From: Mike Christie To: hch@infradead.org, stefanha@redhat.com, jasowang@redhat.com, mst@redhat.com, sgarzare@redhat.com, virtualization@lists.linux-foundation.org, brauner@kernel.org, ebiederm@xmission.com, torvalds@linux-foundation.org, konrad.wilk@oracle.com, linux-kernel@vger.kernel.org Cc: Mike Christie Subject: [PATCH 05/11] fork/vm: Move common PF_IO_WORKER behavior to new flag Date: Fri, 10 Mar 2023 16:03:26 -0600 Message-Id: <20230310220332.5309-6-michael.christie@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230310220332.5309-1-michael.christie@oracle.com> References: <20230310220332.5309-1-michael.christie@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DS7PR05CA0077.namprd05.prod.outlook.com (2603:10b6:8:57::17) To DM5PR10MB1466.namprd10.prod.outlook.com (2603:10b6:3:b::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM5PR10MB1466:EE_|CY8PR10MB6514:EE_ X-MS-Office365-Filtering-Correlation-Id: 37dd8d1d-acb5-4aec-487c-08db21b35024 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qa5G/AEqBIPOWSF0/eVBP5+ipV+TSk8n7cEkzQ3h5k8vWBtJ/CeZXGfBITj5UZoXY4vIH0eEI6Qk3LhuxnEQCrvYouNq+dN6wAMFplGu0ZOHFEUASUxuNwiA2uCIyOeN5G29A7RJI5yQ8CdIGmVPO47HkItUu4ml8klu9k0jBJFVfjQtxDcnVErkRF5Cpkl5gxAGaL3SdG7nll3A15th2KoZ2oR0KJ/CCADJd0GW2c1sYLVWE+ANsioVYMtA6UDW9EL8+HICkdeE5CCLZQkpVlbSfv6u8GbgFGba3DfKXKDaLtrRlTWEZYhRookINwAo3c/R29W6QBlI+4MAkl3420n/Gp7jmBm9rU7ow9B2eQ2X7XPpOoCSo5X62DrkTusEFv8HMY6ckuQeiWD0jlG9Ags+OCtjl7vYHdtZgKUb61x1TYBli+vo0cQtQM+avgfFiij6YPrYVo9MFnYlX+0xRb2/U4UmIp6KfPfUEB79C/u7nb6RIyK/Xf6q9YkQCVP5eYaBn0kJ2UxTjtVG4tKTLiv5FW5i2so8cfCExYxA7wPRqsC//SHLTHqAIhYW7ulQ53rmek/FEuzIMe569O1X6Nt47Ro3OFF1mYUuBU1nMWPQF7ELU0xVPkG3HCT7LkAfY27Hz+HQcERehhmK2lfCH3KDcD0dyMKxwMZhAFMopOjKjf/P/9p0VRJyRh3I2ukJ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR10MB1466.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(366004)(376002)(396003)(39860400002)(346002)(451199018)(36756003)(6486002)(186003)(6512007)(66556008)(6666004)(2616005)(107886003)(1076003)(7416002)(83380400001)(26005)(8676002)(66946007)(4326008)(41300700001)(5660300002)(2906002)(66476007)(8936002)(478600001)(6506007)(86362001)(316002)(38100700002)(921005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?plYnWi5S/0bhldyuo51xnXyGBrORCNZXLFbMtbIq6NyEEgiJBzOZw0FHT0Q+?= =?us-ascii?Q?1OtgbE6fkRLIHYI9APLR0NaQ6Jo4HLzLedQyk4y+4a0cet7nGaWt1jCeFAWx?= =?us-ascii?Q?EN22AN+pxvI5UY+TeXTYfADVTzCSAGxQglerIe/n2IRTPNdfW2HROYYqGDPN?= =?us-ascii?Q?FywQIHsVcW+W785vsPy5ypSSTZzDN6E5Ragq11GBbNIFywv/xo5Y+ui5rH1/?= =?us-ascii?Q?HW250+VOuLNsv4/V+ZeVN/wLoZq14Z7sLHuwQbZliHcrMgm0CpjNZQ6SRYHd?= =?us-ascii?Q?LltSF0MpNV0vLMIcmWJBCAFbtdZF6J1WIvcMQl36+oYSj8NhHCgSKztv1l94?= =?us-ascii?Q?zrnC68hE0LYFMQ7LGv8GqVU2FUPjs7Gp227Z5TN5C8E8aeMkuVe8s8uJAId4?= =?us-ascii?Q?Nmcu92khF6S9DmUGR7u2h2C8FTg2+YypQPHhcSYtSxmfpH7rF6wI1D+f+H9/?= =?us-ascii?Q?Y3izo0/CCS821ROF7G74aHeoVkcwRltoiLGMZOkToLQ9lqcae/pO3gwAc3UH?= =?us-ascii?Q?3yC7ItDCht3A1WiIdkWCpObEXVl/dSKaCo2EtAHwv78HnFeWzEui6JA+2AMm?= =?us-ascii?Q?KElORpbPyyMgVMWI3SQ90EHSag+UxtJGIWo9JyRC+u/OznMxoamuDtf3yCLj?= =?us-ascii?Q?rChtdyr8jVvjk/4P8uICGABSOss8OgeWLXbyYTPmJtXkWBQWtVsO/sJAK7Cp?= =?us-ascii?Q?hIOmHgVBebHirj3d1eMVH3AShacVfYzg4+rCd4ZZbH5OYdXFg7e7W1RDizNj?= =?us-ascii?Q?hUgK06Vt9eC52A8sN2ENCkIG8QxiNH14WaSwh8zeztdiH7YxEmPKGAPBAjWH?= =?us-ascii?Q?3mK72kmGz0xuKm+3yy7xRDj3RNLIvQWunEZmkHuPbb2Ujo4BDAVZ5O8/34G6?= =?us-ascii?Q?gbscZenO/7GzQtmWTDADcJtxEs1Y2OT4Yo7vl0Xqta65MG30mcTPDY5UCUke?= =?us-ascii?Q?35g4hK2zwiCvRPDVkT6zvJTLRBN0HH9/Zt03uJx2iCIzed04e4FJO63hvG5n?= =?us-ascii?Q?rTXVdGa+mbCDjEEfBaaeMbBkcxCT3rn8EgAQoJFO5hp4mLzfNPi2EmJzP769?= =?us-ascii?Q?xP9WP+NYVPK/glU+rqSLwS6CLjxtyHKWA4FAcKer2aiZaTIuveMcKFZMfMBW?= =?us-ascii?Q?I3KR7YXqWO0OCKzPgMIBkIsv9ONM3ZmONZABX7AUf+rxJ4FzuKlVW2y+gQ2a?= =?us-ascii?Q?MHuKaJLAulhwwPtNWF6mKbwAUJDcZGHgcuwQ+orz2sJ3Bk1IldfBi316M6Rm?= =?us-ascii?Q?2UduKM+N7H5F8A7KIL+V8sYg3d4URcJYxVojH9sGhtTbP967UfVnn3zxLV6k?= =?us-ascii?Q?r6uF4RTHSf0Y7ehrTv/eqIgD8SMaYaCL1L/DIDW3FD5/x7KSezEp/TTaB33s?= =?us-ascii?Q?lm+2aJmuF/BH4tGWa3oq8rYnzugCffs20OnrHhIUlSpw1CptazaLcL3Yy9tW?= =?us-ascii?Q?QIvHUGTNW02VIBeJjSfq6K4yEM4PqRXSUWx8FsqEmEg4wyVxdmxN/CV3am1d?= =?us-ascii?Q?WJT6QXw18UkpX28wFSaggHQ0NWCerMNS5MV0h+3WooaWC6uTOKmaTGNHQC1z?= =?us-ascii?Q?fxVasZD6zTM0cw9//6qTiiHHG4RC09pRB0qfa5vqUTbmoK5iX/uNegRDCrFj?= =?us-ascii?Q?Cg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?zXXTJAHQYJN1Suy++dGMQR2VQP6TusHeEgMoro7FABPGL7S6xfJGvTyaCBE8?= =?us-ascii?Q?irmxMCjrvyKdLI+fH1+wE2+vP0azY65NrogUTJus9F2/estT2cNrsQn7wGLI?= =?us-ascii?Q?TyHfX6fUclyn/VSCYbF/w/HjutC704RXFFoeEYj8OA6dC8ht8np1/FGOG26d?= =?us-ascii?Q?G2g2M9rYdXN/Uipwdpx01wV9ELGHO7xcYt086TXt3mKCWtToI26Dx08P3g8L?= =?us-ascii?Q?hsD5tLQJpDuWBiMzKldOQkfM1AFDhcdVDLH/0w2JoJN1DbFiyOjb3If+vNOY?= =?us-ascii?Q?7nLRYcSLQVpX/GwqKyUfaLqmvEMfRSf6IiP0EKNW2xX4SZTM+yNSuDVoXGx8?= =?us-ascii?Q?aqM2QhMnDnnKS2ka9PwsTfEUaCSbInGKT6fyW8gqDHBqrOOBMGCMESiP1cuy?= =?us-ascii?Q?BF77PReoUePoTdWBFwftxccfpWSBjK0ok49Xm5gTJlh0cbuQZnv8W2WFxEl0?= =?us-ascii?Q?c6IGd+EmenHi8HIJNiq1Evt0QW6GtFo1mghsb2FMfcKsKiYUyWrqRZ8PVcy4?= =?us-ascii?Q?WHEXZyLppn8m8N14M0jKf1Hkpjxqeh1bQHWntmIU3rrWWjs7sJTNL2VO4W3Z?= =?us-ascii?Q?V552COc3GI11SQDPJf/oHs4faTiT12Z+H4DDZC9zqndCoHomRvy3lwZb+8PH?= =?us-ascii?Q?lNrpnz8MBq7pnqMDJlpz2LfjpP701Hea5Uc8exRi0OYRnBuhYLn1LU3XMbY8?= =?us-ascii?Q?gclqFkYl8RkyrRRNY8HH/SjJYDEMN4FQn4rxi2SoC3IbzFf4Ewg1vN5MnCj0?= =?us-ascii?Q?jkAF5HdMu77bHugR7aLPBPYXLKFO+l43CbnLlgXxmId72Oqpcxtwshn/tDgj?= =?us-ascii?Q?ylJ+h8cwANdkiplpwz+aUXO85gymEKdeewXURttKQ2oSxKpA6ZfEh323kt/A?= =?us-ascii?Q?Wlv/K2QuwpryOLHt8ihNG4btzGY+9jeJ3lnQowzXhjaSvYwNmyQPSllpIMQi?= =?us-ascii?Q?qMrzgMakMJSw71WMfvNVhcDYkHrbd/t0ybbHSAtm+ylCLk2wDsQXgS24doyW?= =?us-ascii?Q?t8XZzQFMSNtAKZ5FdaWfUcUEfw=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 37dd8d1d-acb5-4aec-487c-08db21b35024 X-MS-Exchange-CrossTenant-AuthSource: DM5PR10MB1466.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2023 22:03:43.1881 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ownaPa07fGzhBSPeOCR/8rGzS0p1R/fIECbguWTIRoZPM93lHvickUDZpY8G7o2HyGMC/nrmBzJQbiilJGlhIW09WQNO4u31JskvKHnNuhk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB6514 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-10_10,2023-03-10_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 spamscore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2303100176 X-Proofpoint-GUID: -m8s1-iiWfoHuUKKL3ibB7FqOMVbnxur X-Proofpoint-ORIG-GUID: -m8s1-iiWfoHuUKKL3ibB7FqOMVbnxur Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This adds a new flag, PF_USER_WORKER, that's used for behavior common to to both PF_IO_WORKER and users like vhost which will use a new helper instead of create_io_thread because they require different behavior for operations like signal handling. The common behavior PF_USER_WORKER covers is the vm reclaim handling. Signed-off-by: Mike Christie Acked-by: Michael S. Tsirkin --- include/linux/sched.h | 2 +- include/linux/sched/task.h | 1 + kernel/fork.c | 3 +++ mm/vmscan.c | 4 ++-- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h index 853d08f7562b..2ca9269332c1 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1723,7 +1723,7 @@ extern struct pid *cad_pid; #define PF_MEMALLOC 0x00000800 /* Allocating memory */ #define PF_NPROC_EXCEEDED 0x00001000 /* set_user() noticed that RLIMIT_NPR= OC was exceeded */ #define PF_USED_MATH 0x00002000 /* If unset the fpu must be initialized b= efore use */ -#define PF__HOLE__00004000 0x00004000 +#define PF_USER_WORKER 0x00004000 /* Kernel thread cloned from userspace = thread */ #define PF_NOFREEZE 0x00008000 /* This thread should not be frozen */ #define PF__HOLE__00010000 0x00010000 #define PF_KSWAPD 0x00020000 /* I am kswapd */ diff --git a/include/linux/sched/task.h b/include/linux/sched/task.h index 268c77a42155..2950e83d5382 100644 --- a/include/linux/sched/task.h +++ b/include/linux/sched/task.h @@ -27,6 +27,7 @@ struct kernel_clone_args { int exit_signal; u32 kthread:1; u32 io_thread:1; + u32 user_worker:1; unsigned long stack; unsigned long stack_size; unsigned long tls; diff --git a/kernel/fork.c b/kernel/fork.c index cb8f85c88c75..0dec38276363 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -2100,6 +2100,8 @@ static __latent_entropy struct task_struct *copy_proc= ess( p->flags &=3D ~PF_KTHREAD; if (args->kthread) p->flags |=3D PF_KTHREAD; + if (args->user_worker) + p->flags |=3D PF_USER_WORKER; if (args->io_thread) { /* * Mark us an IO worker, and block any signal that isn't @@ -2627,6 +2629,7 @@ struct task_struct *create_io_thread(int (*fn)(void *= ), void *arg, int node) .fn =3D fn, .fn_arg =3D arg, .io_thread =3D 1, + .user_worker =3D 1, }; =20 return copy_process(NULL, 0, node, &args); diff --git a/mm/vmscan.c b/mm/vmscan.c index bf3eedf0209c..86c27b08041e 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -1141,12 +1141,12 @@ void reclaim_throttle(pg_data_t *pgdat, enum vmscan= _throttle_state reason) DEFINE_WAIT(wait); =20 /* - * Do not throttle IO workers, kthreads other than kswapd or + * Do not throttle user workers, kthreads other than kswapd or * workqueues. They may be required for reclaim to make * forward progress (e.g. journalling workqueues or kthreads). */ if (!current_is_kswapd() && - current->flags & (PF_IO_WORKER|PF_KTHREAD)) { + current->flags & (PF_USER_WORKER|PF_KTHREAD)) { cond_resched(); return; } --=20 2.25.1 From nobody Wed Feb 11 18:55:35 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5794EC6FD1E for ; Fri, 10 Mar 2023 22:06:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231635AbjCJWGO (ORCPT ); Fri, 10 Mar 2023 17:06:14 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52100 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231337AbjCJWFJ (ORCPT ); Fri, 10 Mar 2023 17:05:09 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6E2F8193C5 for ; Fri, 10 Mar 2023 14:04:03 -0800 (PST) Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32ALhqbj029130; Fri, 10 Mar 2023 22:03:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=TD8b+NF7d7DQTr9DJJIoo4mLBEa+PXc0EWbsDetBoC8=; b=zB5Yc5Bf+3Bg6kKPoR0BopXTFn698oMPpWLiLoWoyep4+XiuSjC2nAQt2zF77a+6wTfd 4W+oT8ORHFsKcA5dJG9FrimkupsR1hU8BNk99LEA+hKRxBty68eNxBhvdzgZZp6mlwvH uZhrB0eS+zeYNvl6HzjhDVPNgyvQFrzwhX5ElS93KF4lyT3ei3XRGFuC4xeWvSRxKdBo jJEJxBx+fh4g1O2kN/BhvIP0I5VrflR0MAdEFeAVlCDN1zPrg3LmUAuEym8JLGMsKXia FLXQHANn+nVW2WeqVFVZjGt/Tb5RaY3b6WwPEoLXQMCRkebfDFwBazJECUZQr8Y57G2Q 8g== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3p415j6df4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Mar 2023 22:03:47 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 32ALm9c9035033; Fri, 10 Mar 2023 22:03:47 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2045.outbound.protection.outlook.com [104.47.66.45]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3p6fubfdqs-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Mar 2023 22:03:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=m4jW6SAPV3ZTxZv40syuXLpTPUjuUatWvhlszBWA52Mvrg5470pqMBYSMRLa4EbeiFvtXlLMuNyZ/OEED7n9iK77LJSx8yfMzGoGtZn6Ca1n4R289Pzz7UOP2biaNOA8TKkxu2/D//69IlaVUBCb+zZfAL1FJ4xowj1Wm267ZjdG5H9+8F3SbU/A/odpfnoST1+mX8Rua1YP0MTbPjcWeN+Mf37jcAk/+25mbpF3Ofr8EWEuGJKpFC6SZhkkDR+DHNYS5eHNDfV0EvQkYKnOb3/Wn1O7ywHidEHaCkxeTG+Fc+teOCvyQvJpfe+DJOOnY45KggXw4IuTbaITn7b8dg== 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=TD8b+NF7d7DQTr9DJJIoo4mLBEa+PXc0EWbsDetBoC8=; b=MZARy4pRrj/fG0HdCsq7veIkLdcQ0jPsu2gDTrFvlPaDiLetdpTMSEcvCmVJaS7MwjZ9Em3GbaGuhHlavX1L601qZWUC31FK1sv+JtuF/Guu+WW8lcqaCYH7F1PydNbOxIhozleX8rAxXM81DdY0n4Wy85s9i1z1m/ayejxvoCRhYvF8H7pNA/BTbSqNvYsFsZ+qPJeDBcEYy+skXxz1sOAzljQaRNVbKrXDlkiRT2n8GyMI2POW5NZECbHiJ5GE92gUM2tELOUUvZjwwSwGi/J7OYxIWkrrOcXaVO86ly7dKgNtb8EnAL8/+4xIzOUPXnGi5XS8JWYEsOqjUP3nAw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TD8b+NF7d7DQTr9DJJIoo4mLBEa+PXc0EWbsDetBoC8=; b=BQ1ve/SICcYsNU2bSZLvc/P8gpHkV5Rb29a/AUHjMr1lx7trPluDeIQjGuFFgHgDvCeS0MZGT74n3y57aIZjYo0CnFRJ+FOwdtHggZKDFcvZZ0ykldQZ4bNQdCv2kmIWes1xDO+XWkioAK5PdmyLll7w/q+X+Uyfu3YrRPmWXC4= Received: from DM5PR10MB1466.namprd10.prod.outlook.com (2603:10b6:3:b::7) by CY8PR10MB6514.namprd10.prod.outlook.com (2603:10b6:930:5e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Fri, 10 Mar 2023 22:03:45 +0000 Received: from DM5PR10MB1466.namprd10.prod.outlook.com ([fe80::7dd7:8d22:104:8d64]) by DM5PR10MB1466.namprd10.prod.outlook.com ([fe80::7dd7:8d22:104:8d64%7]) with mapi id 15.20.6178.019; Fri, 10 Mar 2023 22:03:45 +0000 From: Mike Christie To: hch@infradead.org, stefanha@redhat.com, jasowang@redhat.com, mst@redhat.com, sgarzare@redhat.com, virtualization@lists.linux-foundation.org, brauner@kernel.org, ebiederm@xmission.com, torvalds@linux-foundation.org, konrad.wilk@oracle.com, linux-kernel@vger.kernel.org Cc: Mike Christie , Christoph Hellwig Subject: [PATCH 06/11] fork: add kernel_clone_args flag to not dup/clone files Date: Fri, 10 Mar 2023 16:03:27 -0600 Message-Id: <20230310220332.5309-7-michael.christie@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230310220332.5309-1-michael.christie@oracle.com> References: <20230310220332.5309-1-michael.christie@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DM6PR08CA0047.namprd08.prod.outlook.com (2603:10b6:5:1e0::21) To DM5PR10MB1466.namprd10.prod.outlook.com (2603:10b6:3:b::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM5PR10MB1466:EE_|CY8PR10MB6514:EE_ X-MS-Office365-Filtering-Correlation-Id: 7c56315b-14ff-482c-5e93-08db21b35123 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NPHZG1eryfvxfopxiCmzRkeJ8NHW0Vz6Kn7pPg/Xg2SunKwk3UJ3936O6yy5nOwhCKEhdel87d3vfV2xoAm9nssuiyIpmb/DizV2sPaSkW2d3o1Igp4VeNyevhxFjYtO/sr772TUCRPP3HqH3Y8AXWQZ+mfLPp4oX12ppXCToFEOXWD5QlCH1wUHihJq79MWRy3RNaOR3jaEbYkBB4bdBmjSv7xdDDEnPyKnnh+CaVD8VOTLtM5FnjPDHjCmAvWXDTP9+g+9gh8+Ay7IUFtpZ+BjsT1lj/v4mv5ECN/pmMyoSmAFta5LQgAthfvCvTNJEWNoO18JDe4aod5CuzqhEi0bEj3cOsk75DjJUUqa0tcCjO4axtkMn22I6wvJpZUw4o9GYnniehfOSAm7v5Ii0b/1HdX7C4ZucuOWfA7V8Ec2NnWbvkla9DmGXjFw0yg4GbEd0SIqWR4cmmHQg6Id8s4mF24QRBUn25HUtY0II8H39i3+/a5gynaRaogXUwVcUwDUJ8qhu8ToBwbo7lobrnE5RJK4Z0/Qk8yRgW99wTCJctMRmFkW5lNOvSddmZpYLeI/gETgR2MlhOmMna6ZcfsrShgSs5fr6Rzxr0swasYTXpaj8CUBS7RSj/0x92kC8a7t6ppJqWeLMPnJq7mz7le4iM0SocwHpmRZuGcjhJ6AS1zYrnOZ+AmEhOg1iJrJ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR10MB1466.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(366004)(376002)(396003)(39860400002)(346002)(451199018)(36756003)(6486002)(186003)(6512007)(66556008)(6666004)(2616005)(1076003)(7416002)(83380400001)(26005)(8676002)(66946007)(4326008)(41300700001)(5660300002)(2906002)(66476007)(8936002)(478600001)(6506007)(86362001)(54906003)(316002)(38100700002)(921005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?c2F6t/vI+yRblQSgXvJUIq0VY5+OWF4XVmyf8wt0Rv7p4KxylzlKuWkPRcvl?= =?us-ascii?Q?XQcpSqsZpRLNTWGcYJj13wsrG5FclgOKSV4P8Q+MNX3Ri9bc3IhC1kccO7pH?= =?us-ascii?Q?bIqEIfnMCf8Ktvoqkye+3bTSxqJnjdcmbN0gfA8M9dqn9rAHusHxI29uI7VC?= =?us-ascii?Q?KbC5Dk/Y/Isot1RLbWzpacpSYBtPknLq+eDXdYWwvCSDithGqIPTwcrgCdb4?= =?us-ascii?Q?/sZ9vyNOjcXc18DEj98puoRrEpeiFXZEXOm9VQSppl3DJfIQHHArYYSEB2Po?= =?us-ascii?Q?FQBcJhLpII+f7BT41Ld5o1wJgeHuD+xg1KZMwqZLQvlbEzixIow26D2NkgpR?= =?us-ascii?Q?S3MnIrzAhdTMJIDOIQ5sb1a557OiQ3dLF/RZu+lXFwW2AjuofeT4xq6KGDWW?= =?us-ascii?Q?xroms0dBkVEke9lBt+Kc3lgKJS9JvHZVQc+IqGTRU/CmkkpO9lOq12nKp41f?= =?us-ascii?Q?ZQ7h0tpm8HyyV041QW0my/F6IXzlrNdLHy3TjIIUqKE+a/Xv9oAPYa4Xhue3?= =?us-ascii?Q?1hsveLa0H9/sMOH+JNB53PWjk9tDvbu+fmHou1Afv2Px2zNFMLumwwYAmRGi?= =?us-ascii?Q?0zgZgKZgJHaTPL1K+lbGJywTVZzqoO29XjIhV1NFmdoHjcU91BpPyVl4y8k7?= =?us-ascii?Q?ZlmNjIy1XepmxKt3m71NXvXLxp+YaMQkLJLQYInoAZUJnza4/jFrcJXd7FSc?= =?us-ascii?Q?ec4IpWyq/316gXILtx3i0OLirqRXX6s5njUSvHszPR8RIX+MnP0MdPjwycZh?= =?us-ascii?Q?NoF/TCb4RUe7/OTDNbjVlH81Fycr/CcDDJbPhc+3UwnqYFujs/v5geMs2TNk?= =?us-ascii?Q?HfaFLUrB/q7AuEAJEs3UK+8idjHG7rB4v+kcdG2ZEiraINFYCxEgAzmLcafZ?= =?us-ascii?Q?8+hF2xjNeAuAJ+I418IEdma1OGUuMUVTg1ZfhmdH+xuq1b27QBnR3g/40k5P?= =?us-ascii?Q?Fwl/ZHX1yklBrAjzdZ4uw9r9uE32Uy8hLEyYDlPjvRsVoHZKqvwwQcjZ+Fzl?= =?us-ascii?Q?Zmh+d/NzSl/mPEnSmKMpEvJ4ln4WSTXimBCYazcNu3Btiej+mTdbO5oU1gcK?= =?us-ascii?Q?8doM+gwN3b4zrziCYTX8f4DeIG2MSGfv46nPNs/X+BVkGBfQR9wtoDtPblQ9?= =?us-ascii?Q?7f1iQlg8GtzxhDdFVLcq5NpwQRxYFRkC08lYv14l+R56H4fOxNbutjWXz8pM?= =?us-ascii?Q?guzE4Ym2KhBhebKYTiACvrnO7PLsQ7LrXPz3TtWZRdVZ/EIadvQd2koZ91vE?= =?us-ascii?Q?9Va24C1dp+aFpPsI/C+S3q/8YcnL0Fur+X0G0pUlJsrrYXN5s8+9FYNeZ26o?= =?us-ascii?Q?Aw+DcemwbJENiyf+8D0Jbu4Rv2Itsfb33UpbIUbfu9ntaUHkKoLOgI1CwBvF?= =?us-ascii?Q?T7omJcNPlCdGPmAKn16FOm3u0gEdPi/fIQuCRd/E0HycA8UZg4C9Hxos3SsJ?= =?us-ascii?Q?qLqAlBtZcTICcZEk8B4gvG3eZaYGhL+Nfwjrgxi1IWS0Ub9k7xr2Nv+qqzll?= =?us-ascii?Q?kbbkHVlNRpK9qc3wo2277fQAAbj+nZuuuLYuOJwac3dYxEKECKGfVjOMFQO0?= =?us-ascii?Q?WwQTH6+a1LVTbozSCamDMOnodMqvq+Vx53B/HDM8fSgR4khY4UnxvcvsanaO?= =?us-ascii?Q?Ww=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?mbbkuhL8BB+EcF/8T2hbMOmymLjKwhMZI1XzfQffLTgXAbUxC9vLsPeLJrlB?= =?us-ascii?Q?Bfgf/Kj7RUpuYwH/sdBydNHK7Eaqh7kW7dBk0oVLn3Qm3xD4mFGlUcyIWSpf?= =?us-ascii?Q?+LBq2HAEI6CO/Qa+y45sxA85+sbYMCxa78Js9EoMxZL+s78iD4DOXMp2+PcS?= =?us-ascii?Q?m2SHYreWjlKzzl038CY3oSoNZenyuZQhP9x7L9dj4XWP2lYJa39MBCaC6mL3?= =?us-ascii?Q?8p2Qs4M8kbcUZkWlmyluUlzsaEolb83CFO6cq1ImQ0DzeKKuFU7qYFZ5AGs7?= =?us-ascii?Q?x++nzvni8srLU7KltgGtlxuHpRs6lFAm75BRgC4ugBJsOd4yt9Nso1zpnujo?= =?us-ascii?Q?jqbsO9qWDgYzZhG9tcn7dE/MVVHWOWUPUvHtokEfvL9KBZXrnJGWTR+p2gCr?= =?us-ascii?Q?j5xuIGd+RzDdsX8nlqIQZRv/evmUDUhS4T4BktrVYUJ1QmZhihlx572bXJjg?= =?us-ascii?Q?avFo5h41xvFGx7DiNxmXw9+YiWgicxbkn38Bi8Pd/lA0kzPxdEIwXVTafA9+?= =?us-ascii?Q?ZEq+VjqAVqJjJyfWPLtz0nAegx1ESMm5S8ut+WKTObOafH4qWJ7NrHDKM/z+?= =?us-ascii?Q?/wauF5+jNGhdU2MzwVsNerfAG/6/MFIDzaJuF579cfURABYfH3ZGtmz1jbCr?= =?us-ascii?Q?38+ZRxoxgfr8CUWlctNSrQ0nFKsejt102cYSmNXjlH/qksjUMUyF9GcrmAZ7?= =?us-ascii?Q?KfFK7hJ+fcIiI3sXQx3ZEN2ajGgHiYlKZNsSBxyhJiFM7ZnW8DeJt3BUJnFB?= =?us-ascii?Q?3h6zmk7DKqRKcRLbr0Dtcs42ZWwMfVIZCtWA2OQ+BBZ2/BjP85l3nItJF4r3?= =?us-ascii?Q?19cKj/chXwGU0IvLBp/Z34BvC8VUfEGlPj3U2fZytnSwHOf8sOAVFxIpAFC9?= =?us-ascii?Q?TnoW4eBERUMo0vmXMUyvJ/Yk/K0nPyGH7HZILKH/J0H+s/9Vothrpv/POVje?= =?us-ascii?Q?mBiNvebX7Z2eyPtcenVtK9SgQYTeNFK9tY3rJv/zYXp1DGDjChu+hcvATntR?= =?us-ascii?Q?lQ1PjtwSQefHeqx1iAoszKDuN6zdk7nOEYSpD3wetKBVY4I=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7c56315b-14ff-482c-5e93-08db21b35123 X-MS-Exchange-CrossTenant-AuthSource: DM5PR10MB1466.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2023 22:03:44.8598 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: zMxCX90nlpuzAk9OIqreSOOZp+SXuZbXeN74YbbwnApWkm0qOfnAh6tBubwY+xZkf/1Uw6naT7fwjp4EuCkAUf+Q4V6bgTX7UrqrZibNn+8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB6514 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-10_10,2023-03-10_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 spamscore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2303100176 X-Proofpoint-GUID: yunMcCpsoCdzbFHPRgbhRnZbPQ69Re0O X-Proofpoint-ORIG-GUID: yunMcCpsoCdzbFHPRgbhRnZbPQ69Re0O Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Each vhost device gets a thread that is used to perform IO and management operations. Instead of a thread that is accessing a device, the thread is part of the device, so when it creates a thread using a helper based on copy_process we can't dup or clone the parent's files/FDS because it would do an extra increment on ourself. Later, when we do: Qemu process exits: do_exit -> exit_files -> put_files_struct -> close_files we would leak the device's resources because of that extra refcount on the fd or file_struct. This patch adds a no_files option so these worker threads can prevent taking an extra refcount on themselves. Signed-off-by: Mike Christie Acked-by: Christian Brauner Reviewed-by: Christoph Hellwig Acked-by: Michael S. Tsirkin --- include/linux/sched/task.h | 1 + kernel/fork.c | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/include/linux/sched/task.h b/include/linux/sched/task.h index 2950e83d5382..4f816048794f 100644 --- a/include/linux/sched/task.h +++ b/include/linux/sched/task.h @@ -28,6 +28,7 @@ struct kernel_clone_args { u32 kthread:1; u32 io_thread:1; u32 user_worker:1; + u32 no_files:1; unsigned long stack; unsigned long stack_size; unsigned long tls; diff --git a/kernel/fork.c b/kernel/fork.c index 0dec38276363..258163ea5cd2 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -1624,7 +1624,8 @@ static int copy_fs(unsigned long clone_flags, struct = task_struct *tsk) return 0; } =20 -static int copy_files(unsigned long clone_flags, struct task_struct *tsk) +static int copy_files(unsigned long clone_flags, struct task_struct *tsk, + int no_files) { struct files_struct *oldf, *newf; int error =3D 0; @@ -1636,6 +1637,11 @@ static int copy_files(unsigned long clone_flags, str= uct task_struct *tsk) if (!oldf) goto out; =20 + if (no_files) { + tsk->files =3D NULL; + goto out; + } + if (clone_flags & CLONE_FILES) { atomic_inc(&oldf->count); goto out; @@ -2256,7 +2262,7 @@ static __latent_entropy struct task_struct *copy_proc= ess( retval =3D copy_semundo(clone_flags, p); if (retval) goto bad_fork_cleanup_security; - retval =3D copy_files(clone_flags, p); + retval =3D copy_files(clone_flags, p, args->no_files); if (retval) goto bad_fork_cleanup_semundo; retval =3D copy_fs(clone_flags, p); --=20 2.25.1 From nobody Wed Feb 11 18:55:35 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id F27ACC6FA99 for ; Fri, 10 Mar 2023 22:06:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231331AbjCJWGX (ORCPT ); Fri, 10 Mar 2023 17:06:23 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50410 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231400AbjCJWFQ (ORCPT ); Fri, 10 Mar 2023 17:05:16 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 63D7710F464 for ; Fri, 10 Mar 2023 14:04:04 -0800 (PST) Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32ALhwqj001351; Fri, 10 Mar 2023 22:03:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=20MEqU52fkJqviH/yEm3F2iccp74ffcwAYB+++uuyd4=; b=MHNa4f8rIW7fqSSiY/zwDerwcbkS+lTMjTLF+ZHP1+mmlYD/lXidvq/40OKaZz0ZaR9b SI7mWXyYa0s+DUj8rT3oIdmfyuMlrEilWE3PFoOUWTRl10yp7hGgajbXkM2Bv90B1dIG 1Ryr9U8mqSm8AfG+CKm0za4FD4aRgn7jkpIwD0LNqQpe+ivc50Akp3CB7qrunsWEb/Jv FGLnkWrCJRvmYvbuEBC9hgcdSW9f/xZ+g3TSj4PS1fmcxi1pR4PBXwFolXe+5Uuk/DdA IRvaQq18sh9/Anm263YSQcO6SFOBD5GkzkTPWO2stYYZwiXsJl52k5RZ7NN/+SNhevQI 5w== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3p4181644a-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Mar 2023 22:03:50 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 32AM03SK034983; Fri, 10 Mar 2023 22:03:49 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2177.outbound.protection.outlook.com [104.47.56.177]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3p6fubfdtp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Mar 2023 22:03:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M66eMXC1jt6NTuaGZ1jbOOsH5qFcCnn/9nSdmkUAVAmIBZbagKjeq+6wob+M8doPcn4tOYK6/0LrSrc24tJZYXpUcrtFkkIgMhlVA72PjC5l9QJpl9reD1tc1P7D7ntm26qds3E5sFyGpf/TsdnoE2dxrdyOXuvsKlf6+g7XSw3XVKH333Qbx5Oh3SZWLBxsoLIROf2QzoxbNhUkfYV2i5zLGrb2PYLCikSEmtGTqksf+QmFlwryZJ+vE7fdNqXwHM/bRmLoBbIv1tavJ9Bf4F52WXgdleh+ZWGdL8Be2h1+hVU/UnRCm2fN5NOgZ02igj5AHVp1oOTDKcTUAsPeKA== 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=20MEqU52fkJqviH/yEm3F2iccp74ffcwAYB+++uuyd4=; b=OASgwm6P4aQt/CFMApVRocj2YdNJKje3QDD956G9W3zSi6Q+IV9fsGacZsyJndYMbz60w14F5dHM1wrFfQON4wM3wTs+4bAittQ+iOp0dANtARPMEq1lqb2nE25PP48hMuJNfFJjNuxpWVcHq/PuieRHo3KFYSof3as4+R1pYmMamQkRF/Oxs9X4PclBgXC3PWBudIjLAG+vf+mtmbqFblxiWpZ79aQoRcU7G7MQAbx5hD3K780blp4q9vswSZlMsPDYapH5K/rajqSoA5VBx2GIX5zFNo1EEccIg2X53aWs6iDYaG2ISODkkr4v/vbxMEIiMVP5/2vASvtITH0wzg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=20MEqU52fkJqviH/yEm3F2iccp74ffcwAYB+++uuyd4=; b=OX4GhFasJdd5UOJUXKkzaojR5JlCX8aR2DehJ+19NjOnxnUhtyGj7yv+k0LJ+6jqpdffKyy4W78DRntz7m9bcNOM6arXQ3YKy+M+IIQsuH3DpZpyUFBqf6B71E+p7FCmiBFhmpJMHUVTRoD5jAm911yevnymm8Cjs80o+fZkW7E= Received: from DM5PR10MB1466.namprd10.prod.outlook.com (2603:10b6:3:b::7) by CY5PR10MB5940.namprd10.prod.outlook.com (2603:10b6:930:2b::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Fri, 10 Mar 2023 22:03:47 +0000 Received: from DM5PR10MB1466.namprd10.prod.outlook.com ([fe80::7dd7:8d22:104:8d64]) by DM5PR10MB1466.namprd10.prod.outlook.com ([fe80::7dd7:8d22:104:8d64%7]) with mapi id 15.20.6178.019; Fri, 10 Mar 2023 22:03:47 +0000 From: Mike Christie To: hch@infradead.org, stefanha@redhat.com, jasowang@redhat.com, mst@redhat.com, sgarzare@redhat.com, virtualization@lists.linux-foundation.org, brauner@kernel.org, ebiederm@xmission.com, torvalds@linux-foundation.org, konrad.wilk@oracle.com, linux-kernel@vger.kernel.org Cc: Mike Christie , Christoph Hellwig Subject: [PATCH 07/11] fork: Add kernel_clone_args flag to ignore signals Date: Fri, 10 Mar 2023 16:03:28 -0600 Message-Id: <20230310220332.5309-8-michael.christie@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230310220332.5309-1-michael.christie@oracle.com> References: <20230310220332.5309-1-michael.christie@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DS7PR03CA0137.namprd03.prod.outlook.com (2603:10b6:5:3b4::22) To DM5PR10MB1466.namprd10.prod.outlook.com (2603:10b6:3:b::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM5PR10MB1466:EE_|CY5PR10MB5940:EE_ X-MS-Office365-Filtering-Correlation-Id: 66faaa3e-ad66-4ad5-ae02-08db21b3523c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qxTTm2Rr4tM9Lk2x45qvTla4q7cZChStK0abhiYOmcXrcaxpAHbe+lpNFdtrImtDRdTBqrQnGrt1kzU2oNmSgnsFD8YykZ/eO9k8x6x8LjyUzG8Hkasow5QpVJdKrF4Q7ADd0Zsm1YxdRDs8UWWqHEYKMKnF1EmX/hannIU9V6hsyFcHjtqnnTZk5WTcvk1qaQt2LhS17+p2cfBiZPGxdClrXiYD3HvMkkjxzwG7d9BNZnhlYnSgIoOLDxpFSVaRaybmoERTxu5ISD5lAZfK0GmUK4GEqbVnzoWoNhzG/P9suciXWzJlbogaK57QABYX/B1m/IsDC5Rb6HRnfRUPiHWMKepQxsYMXWreRwzAuDTnLLcJ5wBQ967qorCVZtnCPP05KWEODbB6GCxqFsFwqOwvfg+nVZvZPqqNJzzS/Z/eA0Zq+tctH4yS4ZsODRqVHbFJkim9Q39iaKdMcVcpdTDp7EbeVGnyK3CdsaTE84SsD1zjNoa5HWTMo29yJfDseuda77GuJqVlqztjZZ2bKzXkyPhCevsoKTpNky5BDyfjTKul63XuNN1+D1VE6ytrCXCcwR7nw5YICc5NG1YMRLSiaU3JTFUniUpDvRuKvcpc2n//bt8udLVAlEgHh/b3ABW8mDO+Q78k/Pl7he/tIip9008NI+FYM4lZjw7ht+GgJkro6aXk4YBXuO+uFfIt X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR10MB1466.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(366004)(346002)(39860400002)(396003)(136003)(451199018)(36756003)(6666004)(83380400001)(478600001)(54906003)(921005)(6506007)(316002)(38100700002)(2616005)(6486002)(6512007)(26005)(186003)(1076003)(41300700001)(2906002)(7416002)(5660300002)(66476007)(8936002)(66946007)(8676002)(66556008)(4326008)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?d7qp5eUKFxnCDBHYMaaZCL10U91SzeKtM6V0uPjTb0FWzvgd6SltI9A2kXFX?= =?us-ascii?Q?5VHdML6ifye1rItFT5XNWu+Z578M8WLRBQaGLI8njEXrZiUTz4MqKL7cTTU8?= =?us-ascii?Q?lFUEM1H4BlWoNcO2f4Pj1KbVzERjFHEcNYsldM0YBaO1zROoYa2CcGXUa1W6?= =?us-ascii?Q?5JBF9D7BP+Y/2WJFc1YKSnxpiq8hHoUKeIuQX6nnAFDtNwzMmwNeKTz1PK+v?= =?us-ascii?Q?s//QnP0NZ7pEO2PsIVRGzBhoEaZjHcqKkFJtsv06t2nXqVrpejZh6LiDq1po?= =?us-ascii?Q?bMQUf0t5rDxmFpOEzJsB9B6PHgXADnwgwKgXPBOZbEmscz02GWiEl4udfPXp?= =?us-ascii?Q?M5psjnWNuyIleaizrvgcZj/pP1ds2UIqlS9OA7BMtY4G9LMywFdLulht0WGj?= =?us-ascii?Q?ZGMNAoXDtKp8ecrOEXmB+ufO9tzYBKYP1000ibvsd1w2rpa//KT4xgrEIGmb?= =?us-ascii?Q?1NmDpJyDFe7RBmJFlCYsygYPCBU2OdpjPb6oJRom6WTcDctXXc9VmdNCMcTw?= =?us-ascii?Q?6BeGpYbzOMLEyeAQFvIvQR7Udnie2zB7mK/iDM1JffX1vs+3vjpT0PaTRGbj?= =?us-ascii?Q?dM8VrffplUajblREdZIjxEqsBeQIrqlTYWgF/kIFCWmqKER8el5iBcgoz+nM?= =?us-ascii?Q?dvK9aMc+Z+xrWskK2uP98zdw3bvjVOgT8ZSuzxygiEc5K+wvO9LAqrqCpoIF?= =?us-ascii?Q?bJWMcCrgQTBM3MEhZIVyTj2Fctwic8nKtvaHgRwUFE+P/OayScmaROEl8OaE?= =?us-ascii?Q?4snYdWNistJ2bBWDp7fsjULMdO58nGVz7alhDDHRcJNS44O/WeXwmxXQVNDe?= =?us-ascii?Q?KKIMGEsTvAyQxrty5udH6iR0i9XU959QtDOWEn/nhNR3TkkSNJXjWPj9dd7/?= =?us-ascii?Q?loo3v6dVWD3CogYm1ESpCf4OPiJ3GVInU2jbYP/a+ciVfBG00flBrXo1jI0d?= =?us-ascii?Q?d220vWfKE9P3HaIHOAtfd4nuVX225HatKhyH765cX4HV2UB1fr9IDw36lIux?= =?us-ascii?Q?M5krQflMlHa41eJHUDzBcLZnmE46YurdMbasp00SU+UMGqTOlNLx3vz4GWWe?= =?us-ascii?Q?0e9XAwZKsIvzSGtwqm38vFEHruBRGPmzSyZGdV32hG4ooJh6HWDmA65EOGYt?= =?us-ascii?Q?h+JAFi9hwv5WwPqxhZo1Sr9ihWQ3dsfFw6Ftgr5Ix0ZQsLqGAZkFZz61Ls6a?= =?us-ascii?Q?sozuZFd/xqJFbsCpke0aED5ntQqi4ba5itDmYUpJ/EnDx2cbbBE1GYEXICYz?= =?us-ascii?Q?DJ8OfOFPTMXec/20gJrnru5/+E37BCZn4jC+5OCwTvT+RAlAYivOjoSetZyH?= =?us-ascii?Q?tSGSMGkmhsyp707FwqpyWbyYqgLrakUvxgVnC4/1Qroxa00ay4OQ3+77rFBP?= =?us-ascii?Q?9yChC31wo0+vvgMIGEzOjOQ0XOVHnj7vT7nFHee9IzDEXDQ80FM8UtosxfHa?= =?us-ascii?Q?C4ISFWKnQdje/0DFCEBOf08fGsJoSlqD1rtPSs/+EL30vqTuxhRGrIs9CcAN?= =?us-ascii?Q?RyRFu37DyA+flbF5v9JgQkEIYysRPWevYdR2V8CBiX43dS6oR3DjnMPPESQB?= =?us-ascii?Q?yh2yva7LmxjGSrR4NACahUq3TSJVsN4o0jdyM9uz9zJCtm6LgypczI7o6LAC?= =?us-ascii?Q?kA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?I/nCNzbaFYqvLaIEAaToCEEDi1Qpi0dP2AJqt0hV9tnivioi+fLw25aU5SuZ?= =?us-ascii?Q?nK18DXvoMtY2uQZHN5FIjS1dt5Pxk0WFgTctPkMSrHSQZxmcspRONsQPO+7m?= =?us-ascii?Q?kSjr4RnZZBwip9JivzBJB+V5nvJtJO3FveFtBGO3wxUbATg7QQGFNBeIINfv?= =?us-ascii?Q?L/OFl/+rsSQ8Lfb1vcdzjfOLFHLbV5DavN2TiPJXp4MTVG1QxGy/WbfygvVW?= =?us-ascii?Q?IO0+LyRGWvjNGHLFzXq0xh4yjenhziYBLEcsJW8xYa+qjRxaQdtEHM4jsL5m?= =?us-ascii?Q?mXiF/SwOUDSV3CXYdcTngR6I/Q8rcGf1ybfzfviTz59Q3oCgEXMBSOcCZX7k?= =?us-ascii?Q?muF945+iUumfpjF40ahTBvhrRrEDkiRbB+Wsr29qlE8ONyqaXND+Ib63iAUH?= =?us-ascii?Q?4ggfLY9CfQwQ4UKVAbilgsjPm/UlKUNA18DQ6InV9wcPbAq+0f4XwqawA+VS?= =?us-ascii?Q?BX6au3QUmbtElqoHtEal0y7ByDXKd39cRUG4seYKd2Nh+0sHRSVPolc2dFP2?= =?us-ascii?Q?yDWMbBAU2vBMJYkMMFL6HIM9A1DOXAjPSPhovAEAwpDN0HIM5w0bDtX0O8AE?= =?us-ascii?Q?mxGbmq+d26Pp7G2KHkoeIZl7TIRMTcLwJKMNWKy0wmR+98Uieyh77oFj0q0M?= =?us-ascii?Q?LaRRKGPyVAzYX3P1gquGfSxb4QUSki5/fp1hJVFRLDnPeGw10JSpNc9tVLhp?= =?us-ascii?Q?OmXrTEfmEvp0g+y3N81n2L/cC67Cgjgk3a17hOSfARoaIE0NNJ4hh/RsqUEL?= =?us-ascii?Q?hzfI5gLceAT2rcCKUE9nZ0Ook0SayWFySegwjVCvhffYdRhqUr1eukgDhBvM?= =?us-ascii?Q?vwj9jRgUhlq5DsF3qf7fTQQ8i0Pys5rvNA3JUFaJd7K8woDnbQZ0SBu3x+4f?= =?us-ascii?Q?09TfI5QyugWvZtFgphWJBDdRtdxPnfXvaKSC9CxxogYc0sxPSUIgF9q3+TAx?= =?us-ascii?Q?Q5n6ogcM3u1kEEI9x+DOBWrrj+BkmGj1mweNHpgTPPFCDSHRy6hi8+Xfj3Vk?= =?us-ascii?Q?hbojuvpB11USdfhsdSQSdOPBAVKe3UKfdCOHB5eQ2Yl9lQo=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 66faaa3e-ad66-4ad5-ae02-08db21b3523c X-MS-Exchange-CrossTenant-AuthSource: DM5PR10MB1466.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2023 22:03:47.2971 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: IHm6HYIEzCt5/5jk/WZlPMAiEpxNWhIBHgIcBqiWSf/8F2K+NRebB68zL4HCWk35Z2zUL1OymP7gyI32Cu9cw8sjkpvfYXBp3/VfApJ6bDE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB5940 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-10_10,2023-03-10_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 spamscore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2303100176 X-Proofpoint-ORIG-GUID: _LRIsCuipV2wcVVGmmd_atBwGahH2TAd X-Proofpoint-GUID: _LRIsCuipV2wcVVGmmd_atBwGahH2TAd Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Since: commit 10ab825bdef8 ("change kernel threads to ignore signals instead of blocking them") kthreads have been ignoring signals by default, and the vhost layer has never had a need to change that. This patch adds an option flag, USER_WORKER_SIG_IGN, handled in copy_process() after copy_sighand() and copy_signals() so vhost_tasks added in the next patches can continue to ignore singals. Signed-off-by: Christian Brauner Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Acked-by: Michael S. Tsirkin --- include/linux/sched/task.h | 1 + kernel/fork.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/include/linux/sched/task.h b/include/linux/sched/task.h index 4f816048794f..00c54bfac0b5 100644 --- a/include/linux/sched/task.h +++ b/include/linux/sched/task.h @@ -29,6 +29,7 @@ struct kernel_clone_args { u32 io_thread:1; u32 user_worker:1; u32 no_files:1; + u32 ignore_signals:1; unsigned long stack; unsigned long stack_size; unsigned long tls; diff --git a/kernel/fork.c b/kernel/fork.c index 258163ea5cd2..244aae6c2395 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -2287,6 +2287,9 @@ static __latent_entropy struct task_struct *copy_proc= ess( if (retval) goto bad_fork_cleanup_io; =20 + if (args->ignore_signals) + ignore_signals(p); + stackleak_task_init(p); =20 if (pid !=3D &init_struct_pid) { --=20 2.25.1 From nobody Wed Feb 11 18:55:35 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5AF62C74A4B for ; Fri, 10 Mar 2023 22:06:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231845AbjCJWGK (ORCPT ); Fri, 10 Mar 2023 17:06:10 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50178 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231364AbjCJWFJ (ORCPT ); Fri, 10 Mar 2023 17:05:09 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7969B10A4EF for ; Fri, 10 Mar 2023 14:04:03 -0800 (PST) Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32ALhwmR001335; Fri, 10 Mar 2023 22:03:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=EolHZHT6Q+0bjyd/RRHxdGdRyCaJq/v78qTo/904u5w=; b=kF/9XLfsAzAHJQ20ukYR2RA7jIIz5Osw3W1tON8BIsO9+9aqL+J2+d6ZZKs/PeFMhQlM nq99Ycqsh2IOMOU3sPep1zPJwUBTdP20/rMwFv3b9EPHDWN84cagg6fHJueXwj0WVjzZ GAYji7ykn+VtCS8lsCgfi20nRHMZFoQCK0kgXVv3v88cQHH977/Qkz8xS9iHeCO44YQH CGh52uNqBiMUjz/Mx5OKz9cCiJlmycvOmmOja+hEdmhsZRCvIbkyKJZjgQaz99iFZ6np E9UzvaYjfgpN2gY7nuMKTKBTGL8XKZE1KkClaqrQmTVGelNyizUwAVgXR3r+x0/AgWyw qg== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3p4181644c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Mar 2023 22:03:52 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 32AM0mBj004846; Fri, 10 Mar 2023 22:03:51 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2173.outbound.protection.outlook.com [104.47.56.173]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3p6g4k82kf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Mar 2023 22:03:51 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hc+R/Zuh61qYun2NQNMfZC7DMXPI+bBYAV755IEAwTHTY9kFXnMJY/NEbNlzApdi/DJqIHkcIHb8v+bIJmM99vOd+ooILGkOtVV/O903JAYQYC7CA3wXYCaOVjFEHUhcFpEAhPENQ5CM8+Wzs1g5WTDUMMIp6skS21D7dIokD+LtwSytKij8vHct4O9y6EuHK7SJRBmly0XpGpRdUpPLlUzgbGsZa+uTMq5zc/M7KPCCchp6JK9ydE+ERbSdvrz8bvH3b/JIqeoBYPLgnJRnGMpM0yjUrLvnJjEZUJb5wfUU5J1zHa0MqFHdPp+oSQvNIWVDV3sRma/4hEXTREbAAA== 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=EolHZHT6Q+0bjyd/RRHxdGdRyCaJq/v78qTo/904u5w=; b=eiAZiYzaSmRNHmATdK1l4s9DvNp0V7ULrjZiL6u78iiSKfVTYkNsru0yD0ZJe0C9RVY7OyLz8GKLlkS601yFoZ515zYu8oPb0ZukzwkSZi7Chi19rDl2CpDURwKHLfOKLlaaFt7xKa3YAEG7kVTSYsLwF5BybsdVaIhfJ3WOWF8JavjMQcw944PTgfFm2vxFUNIdi+NYXYSy+43wbC3RKmCqlFYFMysT2TR/V9wMcOC0Wf0MEKP0jcv14NDxR5iTenWmHo3RvfDRn9uIYyXj1+fGzn+U7snxh7LJByLJp7sHywFUCGOElhBIAWl+UUi+U6mLMII8sjZfzETdFPkzPQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EolHZHT6Q+0bjyd/RRHxdGdRyCaJq/v78qTo/904u5w=; b=c9z/DKFYnjwzFQdIGec4UpAIL8/u8XmQNOB1nrM4r/pg+1+HA9SBqDaSlNEtXX9ZiH21PwNQaLlhmvMrBPBeS/x1WH5wiIO72RyYCURBuiwhmqB7tpSbKfCJZa9mMOUm9BQW+bUlQF9oNK7VNnP99a/B8rbtH4MnAyqMiSeH8EY= Received: from DM5PR10MB1466.namprd10.prod.outlook.com (2603:10b6:3:b::7) by CY5PR10MB5940.namprd10.prod.outlook.com (2603:10b6:930:2b::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Fri, 10 Mar 2023 22:03:49 +0000 Received: from DM5PR10MB1466.namprd10.prod.outlook.com ([fe80::7dd7:8d22:104:8d64]) by DM5PR10MB1466.namprd10.prod.outlook.com ([fe80::7dd7:8d22:104:8d64%7]) with mapi id 15.20.6178.019; Fri, 10 Mar 2023 22:03:49 +0000 From: Mike Christie To: hch@infradead.org, stefanha@redhat.com, jasowang@redhat.com, mst@redhat.com, sgarzare@redhat.com, virtualization@lists.linux-foundation.org, brauner@kernel.org, ebiederm@xmission.com, torvalds@linux-foundation.org, konrad.wilk@oracle.com, linux-kernel@vger.kernel.org Cc: Mike Christie Subject: [PATCH 08/11] fork: allow kernel code to call copy_process Date: Fri, 10 Mar 2023 16:03:29 -0600 Message-Id: <20230310220332.5309-9-michael.christie@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230310220332.5309-1-michael.christie@oracle.com> References: <20230310220332.5309-1-michael.christie@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DS7PR03CA0143.namprd03.prod.outlook.com (2603:10b6:5:3b4::28) To DM5PR10MB1466.namprd10.prod.outlook.com (2603:10b6:3:b::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM5PR10MB1466:EE_|CY5PR10MB5940:EE_ X-MS-Office365-Filtering-Correlation-Id: 84b63177-8e27-4694-ab6e-08db21b35385 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8gucQb2DD9S16X1s+iraDvAWs2qfIG+zRExTsnGrjOiRpw6jCFv0ur3BZwy5aCA9H/QzG/Y/hTvlU0ZpFFKUNW79M87nRv4ObIzScLJqi7vuMUxAFHJJe7332uY3dSqyCFz3hMA4vrGhK5BhFubCCK4Q68m2cgnzMih7VCDvRZIIk8lYHEswNDyuGUuYetPRJUOP0jjiuZC7Qyr26KOChZklI1jsoDiGpVKS04wjd1WD2zl2OxrS79qNJjoy+os2MO3mitJPXxSUqrxv07QsIoqMUN/b+mqm7xXEjU9j7atm8EGF/T10ld4R88OR1NvbWkCMqHuGYd6O9s3umfrrzgN5ODYNGwwwUsDkYQjc7HsShBEVGon5rTz6ZG+58nqtvnxdfWVI08Jz0TcmqrD/15Mq6VDEgPo3AfDJr7ze5hALYUbHXE46gfYBrknidb6hk37UFTLd0xGwDAYJA7nk2UNBcD1m2ur0R1d+2UMNtWG7hELvutLqCxjyN7ceLgtpgIV6p43Y3eHp++c3mroTxf4nyKbrKINQ8IIkskQRH325ewy5XZBMg02LBXTuFmvzRjjb97VAQCYqB4VcGPfkS/qzo8WR/RB/pwCPu3EU/yUIdcGQ58wgecRrnOCqWepWjz1SmCHVTW8aOpzkc2H9fqljpetedD5cTvVeb8ASkFDzzFlvwoJHitLXVj47vN1d X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR10MB1466.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(366004)(346002)(39860400002)(396003)(136003)(451199018)(36756003)(6666004)(83380400001)(478600001)(921005)(6506007)(316002)(38100700002)(2616005)(6486002)(6512007)(107886003)(26005)(186003)(1076003)(41300700001)(2906002)(7416002)(5660300002)(66476007)(8936002)(66946007)(8676002)(66556008)(4326008)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?xAmsn+ldACmCzZaUalTKB/7WVy0nhzcrknwB5Xm3f037pC/C5dAlzZyR5bET?= =?us-ascii?Q?F2nDoIB3QUXas4dQ0hGu3Uptfyfepg/OY/bd2njCGsHTkHNN4/2Rp11UDaVZ?= =?us-ascii?Q?Wn1EFVND8H3wjrv00d5GB30KZ+IH2m9jCbeBWhAFunuBip+ZxbeuuC4jxRfa?= =?us-ascii?Q?QXGlr9z30q3KbpYWS2sm2HHkNEZ61IX6vjfpzep4HggA0vbuWTEsVhYOU/tN?= =?us-ascii?Q?QAscpJOWxYEmuLD9U4nDHt8oiSXI5FD58schNvSq1SWvdpN1GHSNUR3yokmD?= =?us-ascii?Q?5rZeqBQP1FMfl9JrGTpolsAypsCXQw/y6kQ01p9KjZk52l7l8NdRTqcMDLOD?= =?us-ascii?Q?p3vrRGD3flkQBtxExwBSjyM9MmpyDgZuXOb2ig6Qtfo/LlVGERZvNpOPiTlN?= =?us-ascii?Q?Z5PG4ZsLBv/xEN0gKKEJYltWyrRF+SuorjUVZLZw7w6p7cjls1YOegbKr50K?= =?us-ascii?Q?ZiRJ+8QrXlK8dyqp2w46KPmavzQslqA11yuNK18/WGcrvC0uHiEy5cb0LrfS?= =?us-ascii?Q?5a7IIxL16Y3SCotHCepd3x7Z3DQUBhYVTRpNF3V/GKf1MPgj0hXWSY12qrsP?= =?us-ascii?Q?nQc2HDrIZEwhs4T36UYzcr/8q4cMMP1JquKm86Mph1b0RWF7Tj62Ti8IjeY3?= =?us-ascii?Q?vq9fKZ3R4T/l01Z3VkzQXn80jRFpb5mMpZYylKq+2Pq8sqIEqfx2yaZMaF0d?= =?us-ascii?Q?Zh/nGzeyhXgWkwtg7axlSt7xx+hDkoq7FPVx8TDVVlvm8ZnPDQNu8U0R0y1/?= =?us-ascii?Q?KVbSM4VxamooMh/RWtXyGHAjKahqaP2JyYm7Oz+9GQUpELJ2PipWOl9adnSf?= =?us-ascii?Q?Z2ovOgvPhxxwvA4mE/v5Mq3H2M+CqM/qNYDES1yGtaUEU8HrJxIne/mOcJfe?= =?us-ascii?Q?fOnQVjVwYF+zbF6f39SF1DpaQ7dRLHdX5BpZkCL8zjkKE4R8aghjfk4FC2Uq?= =?us-ascii?Q?9mzCxy+WUGKcb9SN9sTbRxJDdxWoA6pBUaZjoG0Z/IbQDszTksIj9390S3YF?= =?us-ascii?Q?q3H4rmOul+fNdRgOs9vuRHzM0eRkY0tNz3PXXlIECEKGQ7tRHGhDF3SNMpmZ?= =?us-ascii?Q?dIW/Js50a7wDgowoeZ3ZKPxyLGQj1m8AB6XnmHKexIAqOCnbgHjgsKrysq0O?= =?us-ascii?Q?YO1DBbVMjovRc479XuwR4uHSHbkXcR/MgsroRi50cpDxaIwmxoGWQzRoc5Y7?= =?us-ascii?Q?IRuXXXLIODNgixN4OXxCI2nDmQ3Un8zHWNU31N5xR6nn1hmq0d8SmTYifYn6?= =?us-ascii?Q?ztLgY0fI50fd7dZ7IerFUxRjeDY8PPi758+66aTxSv0PhkNpAr2D3zwmJaJ0?= =?us-ascii?Q?DKsLyLcDoQX6NDxKMoa5RW3peb1cP+opc5wZSrpr8jxdA5WFhlFI5moeyLE9?= =?us-ascii?Q?iiz2ReT1KFYhTP8oXavcn3t20D53d8v4SWmTsvwsYpxUMTu36mbtx6QTvHAJ?= =?us-ascii?Q?YSPeFUkgLCVfiKBZSNzHEIgxQHRBvgDM2iRa0DEd7fOcCkqiW7ldM4JkljKC?= =?us-ascii?Q?uqvS23I2Qebr+4JbKkqTX8bSqOTyu4aLS+sMb4lMoIhbMMSXN0bFd7duoht5?= =?us-ascii?Q?e1UUYFjewxVIFxuz+M31xek5TQKRU74UK3y3frdgas7AviiiH2ZbbA9JYtw6?= =?us-ascii?Q?vg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?delXFw+jI4QaSg6EWvg8uwdqiMewEE/5b9ZlQwvqKMLQrLKtkAM1alPN6ic+?= =?us-ascii?Q?7ohJkqAAwLzUkcubvaD+npLVRLNi2IeJ7+Lom1Xji0jU+NaTPkwkBwPG7Z0F?= =?us-ascii?Q?LySHF/gcu/mlhEjiRFRcOrzsQiV9+EH9+fR4T4gn9cOZ3GdbXS0SPAYErw0m?= =?us-ascii?Q?ZNnlRlKoYY94yTc6qUDGOEKMDR/R8NQg+G6uvS3a/D6zcTYOhecek9wpqsa9?= =?us-ascii?Q?rLeBqc+VF5SeNnYiYKbBs//NdAS07si7lHgrNX05fVl4G0eN6Brz80h2KpK3?= =?us-ascii?Q?7lcuACb8AF/ABiLDMng8p4nCC2a/2/gFLX1Tezq2Zo/FOg5Qa48r8/J5afZ2?= =?us-ascii?Q?ttoApEQZjjfU0C3T1DGhmY0N7f4s7N0DfxneV+QT2cDtRLNjgEqOo0JmJ6W1?= =?us-ascii?Q?V4MdPyu+pRFq/1sqXtunfJRQaHCRS7jE3AmJiSETRcGx9cNbqxCQBetf5L7W?= =?us-ascii?Q?DGsUd0Aa0h8YsBRgnQB1p9iICn2FXX5DbvY0OwhrJdAjIpS46k1vwiu0zZvG?= =?us-ascii?Q?4D0pq2p7rdsZxD7WoFx8rISVTOdq+D3Sq0p28vf+S8W6AfW3TtbRc1FVZzHm?= =?us-ascii?Q?drOPN/VmRLN6aXVg4yZwjEA0Hs0YFSwH+dSwTeIR5ycOTGKzsxrHydmIjXe8?= =?us-ascii?Q?kspYLjZUlt/RdZNevtCri/C6NcMEr1rVQg7jLoVvXbiYnN9PlUx4Rruq/nQl?= =?us-ascii?Q?2pA73B2sBe7Se7LlT8TpA3SXmct/khTxVL6+zs4IRnXSLs/G4Enk3r0vTB1A?= =?us-ascii?Q?Sy/h4lzxbqaYpMixHexjMfgLn7L6MEIDZzECBJ0qS6CwyAeEh3EZ8Dgy39Y3?= =?us-ascii?Q?MURI5aFu5Nq85cgWHLrSpY+yz7lFK1c/+OzQrddvHbX8E6mhoLPk/BG72E2c?= =?us-ascii?Q?4dufRIgztcQD15EsFuIiwaBx2ElBkuE4/7rBFJEZe0WYwDDQ4CgUkQ8F6+hP?= =?us-ascii?Q?Ghc5npl5WwyVWz4DetFVX5YQqyVSKB3JtgTF2W0erXN2Mifx3A/gu28ojWsL?= =?us-ascii?Q?gk1YmduW0zXaOolvQKOe3rGyVw=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 84b63177-8e27-4694-ab6e-08db21b35385 X-MS-Exchange-CrossTenant-AuthSource: DM5PR10MB1466.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2023 22:03:48.9688 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: NG9hb7moc/WKPzAu70riPIzGR40yO4HZV4uaNbW4DEUdmE9+jWB4B0E4keTAeYqrPfjtnoaNigWhI1aib6I3/wKi7su2sBTx0rci4Ooh+e4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB5940 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-10_10,2023-03-10_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 bulkscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2303100176 X-Proofpoint-ORIG-GUID: -U0ideFEjJj6Eq0s4-S0fDIIb0A3nCH6 X-Proofpoint-GUID: -U0ideFEjJj6Eq0s4-S0fDIIb0A3nCH6 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The next patch adds helpers like create_io_thread, but for use by the vhost layer. There are several functions, so they are in their own file instead of cluttering up fork.c. This patch allows that new file to call copy_process. Signed-off-by: Mike Christie Acked-by: Michael S. Tsirkin --- include/linux/sched/task.h | 2 ++ kernel/fork.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/include/linux/sched/task.h b/include/linux/sched/task.h index 00c54bfac0b5..537cbf9a2ade 100644 --- a/include/linux/sched/task.h +++ b/include/linux/sched/task.h @@ -93,6 +93,8 @@ extern void exit_files(struct task_struct *); extern void exit_itimers(struct task_struct *); =20 extern pid_t kernel_clone(struct kernel_clone_args *kargs); +struct task_struct *copy_process(struct pid *pid, int trace, int node, + struct kernel_clone_args *args); struct task_struct *create_io_thread(int (*fn)(void *), void *arg, int nod= e); struct task_struct *fork_idle(int); extern pid_t kernel_thread(int (*fn)(void *), void *arg, const char *name, diff --git a/kernel/fork.c b/kernel/fork.c index 244aae6c2395..8faf9d0adb3b 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -2013,7 +2013,7 @@ static void rv_task_fork(struct task_struct *p) * parts of the process environment (as per the clone * flags). The actual kick-off is left to the caller. */ -static __latent_entropy struct task_struct *copy_process( +__latent_entropy struct task_struct *copy_process( struct pid *pid, int trace, int node, --=20 2.25.1 From nobody Wed Feb 11 18:55:35 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 15CD8C6FA99 for ; Fri, 10 Mar 2023 22:06:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231843AbjCJWGT (ORCPT ); Fri, 10 Mar 2023 17:06:19 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52106 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231393AbjCJWFP (ORCPT ); Fri, 10 Mar 2023 17:05:15 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 93E2510BA5B for ; Fri, 10 Mar 2023 14:04:03 -0800 (PST) Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32ALhsfB029162; Fri, 10 Mar 2023 22:03:53 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=KVH9pm03Q6Azt5PUUff6BZXCDbbqSsE8WtbDkbQAvxw=; b=oVsXJemvFuHXgHQe+sg2BFO4bGa1k7QY1jfi5M+r+hj2u5gPGNRBc5tx8ce7mapCxFTg hAxJxVcx6+1olGxxqFzmr4S/Tjm7glG5xru+5jLDQafwFIeTSb6tRQ7pYz6Pgk6d/y3M 4erwu3msxkURPvPr7E/LnRVNsyiAXOf+UdM0FIXzk0HXd/3Yrq1n8OixJdGj53W8T+3i snrLKtTpgYVzjbZ2mEGjAt+H3Y3nkloj52Rf4U64WG7bhnW91OqZtyl9JjWlFk9t+SAh tUE1pp2i5ws3Yf8tUGlJJJCQew1J1O1WnR8j2fd4KlkjIa7TD8XVqQgyuoBf6fL96AHz HQ== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3p415j6dfc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Mar 2023 22:03:53 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 32AM0mBl004846; Fri, 10 Mar 2023 22:03:52 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2173.outbound.protection.outlook.com [104.47.56.173]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3p6g4k82kf-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Mar 2023 22:03:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KwwGDkEhsHFWF84NSqmWxSbQF+Hfmin04Tg3bo66xvTja0LeGeKYinP3Nx+2Vhcz4nJFPa7HIvrfga3DYhgzUQjZQSdta7NnnhelZLzWSRONbmorwTRPm1KXQAOgZIKx6/pFXccYPt0bt3Punhtv1YjwNRQ8zOZTO9Ml0zR69gk/U0t2fScshhkYimpmvaShWQ3JCdYqYTCIjb5DwsQb933+2wxBceEL35Y0wCZp14qXjWyrHAe5xnY3tgzmJGCbog5AFWzAIaHP/HhHN4FRhjlNvyWom/WupbnY9EPeurRIG4D8bt0BpoOhNfY6/MZSHTuFQODCzC3gUOUSqbI4FA== 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=KVH9pm03Q6Azt5PUUff6BZXCDbbqSsE8WtbDkbQAvxw=; b=kBkkGiFx+Z/zUpK58hCz1MzZXn0GcPpLDOvEtArcxorhcJjFLhe2NLMPeIX5uKRidH48zAoYBg5BeAPJmprXS/5J3b00EBFJSxVPDGcyZV049dUChSbvJh+FZCcRZTftkiTzaVvWJ2PIu5f/6RBbqbT80QfToh1/5C+eR3QrWP96wUrJ+opea8bF2UJ6TXjHpJonBPIbMct6S1GmU/bZgRB/K8uS5ZR10z2I/GZNMamBsS6aKEN/buKYkK/bQfXf+tz5dmtwZnpgz7X0BxPBdcSKHv66JWz0ZOr93/zD8o5SK40tmmGP58BYXDk6d+k+BLyS4S+swsLN08sZRdAzNA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KVH9pm03Q6Azt5PUUff6BZXCDbbqSsE8WtbDkbQAvxw=; b=TYDvQlc2kEu1gpJVU2UXYDqALKR4iOZFnB5ULAhvb5x56leGt9eec0UHzHVdbRfcB7aOI/YUYLfruepusdS3JoV3EhrFAmcg97Iw19JdiL1OaowNFUIJAEshWL+TwojZvHc0J+y3wRrXkrF2QvkA0UPGjvVxfOsaYTzbft+TuCM= Received: from DM5PR10MB1466.namprd10.prod.outlook.com (2603:10b6:3:b::7) by CY5PR10MB5940.namprd10.prod.outlook.com (2603:10b6:930:2b::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Fri, 10 Mar 2023 22:03:50 +0000 Received: from DM5PR10MB1466.namprd10.prod.outlook.com ([fe80::7dd7:8d22:104:8d64]) by DM5PR10MB1466.namprd10.prod.outlook.com ([fe80::7dd7:8d22:104:8d64%7]) with mapi id 15.20.6178.019; Fri, 10 Mar 2023 22:03:50 +0000 From: Mike Christie To: hch@infradead.org, stefanha@redhat.com, jasowang@redhat.com, mst@redhat.com, sgarzare@redhat.com, virtualization@lists.linux-foundation.org, brauner@kernel.org, ebiederm@xmission.com, torvalds@linux-foundation.org, konrad.wilk@oracle.com, linux-kernel@vger.kernel.org Cc: Mike Christie Subject: [PATCH 09/11] vhost_task: Allow vhost layer to use copy_process Date: Fri, 10 Mar 2023 16:03:30 -0600 Message-Id: <20230310220332.5309-10-michael.christie@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230310220332.5309-1-michael.christie@oracle.com> References: <20230310220332.5309-1-michael.christie@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DS7PR03CA0132.namprd03.prod.outlook.com (2603:10b6:5:3b4::17) To DM5PR10MB1466.namprd10.prod.outlook.com (2603:10b6:3:b::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM5PR10MB1466:EE_|CY5PR10MB5940:EE_ X-MS-Office365-Filtering-Correlation-Id: e8f46ecb-f92b-45ef-116b-08db21b35474 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: n4whzSpkPEsh99eWj34LoVqEL4mlO1xEOcDk6M48dsAgvgqx6EUFhyggsTaGO0U7lEuh8xIpW2yARF3FsCt7gTAZDnhVRu/qVJ6Bsqg4iH16dNYGaXzBMyzcWa7fw59UsNZ0MpKVAc3I3r1B7dwWoO4MLq6MgNCw+tQq0Mp7DNVDfYVuC0RPn1baiJgO7Z0uypl1A7/+MvpNY2vR47Bz/w47QTFr1Qn3CT3TCsqpwkWmtwTRZG5IgMW01WEu9oalzNjYeUHNXv4wdfExD9hRO8+wfa8IdUs80kr1M+pkMYhUSGcJg/g8aNLjBavAs13ChTdMkQk9OsOUX53WiTDFKy2+Rx+xMWrQZ5sYRirp+jCvugBNtTXb67R9JTSlAxkkrU9NSGLPan+nEUqbeLr7dGPi1FaKx+K3O1s8Z/LUKyBBE2ameyKMkinRXuRX/m+OQaHRa5An7yEHZ3nhThcptye078vbd9og+Da/t9Ip4akzWAId3LTf78F1VtEXcMarEYg824vGToegF1JIA1PT3iBIhh9TYRDNzTt5Z95WcC1u5inpK3GanbHiyhUgm43Zpeg+KfyCc+zgKu1mu0vWq+IyEpP/YExHJsmds50fQNxPekMv1ON+BWLR7zDCam1SuxHfslZ2n4XGqafdUndT4jxkKOwhuGVQaEMmrosWpjSk6LBHOoKEZfxTL0xIzv7h X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR10MB1466.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(366004)(346002)(39860400002)(396003)(136003)(451199018)(36756003)(6666004)(83380400001)(478600001)(921005)(6506007)(316002)(38100700002)(2616005)(6486002)(6512007)(107886003)(26005)(186003)(1076003)(41300700001)(2906002)(7416002)(5660300002)(66476007)(8936002)(66946007)(8676002)(66556008)(4326008)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?WNpKKTDkYmD5ztujRfXFzqJ3KTJtNODnGkwV4qR2Ddt0OWRsmZRb3d20/0Gp?= =?us-ascii?Q?RyjbO2RtanZyqRcKvOP1Q5giOpffrrMBA9I5ThwQ/1pKTxVGTw7nQ6TXhTGg?= =?us-ascii?Q?gWSE4FbmE0YEEgE/nqifTZkT/WF6veDqBit6oQ4xKnTaqXNN7UHzAF/yU/J4?= =?us-ascii?Q?W20TrePqtGf5ZZBJIuK3RMyrvBx99XKpvS3dNnXpZx8hSVjf3faLLGvYaeP6?= =?us-ascii?Q?ufXnXHb2hBhY/l4qhwXhkWDGPqmWIDXHmoBsKTP9uTDCa6YeV+03gctxnt/e?= =?us-ascii?Q?vdNsMjIEyUYvDxoYwXbVxr+Q+h/WuqcWEXI+9SLLXG/edO5XfHzYD41Dnri2?= =?us-ascii?Q?/D9KylIu7LFsaxmv3CGAW27q940K5Qo4W1CEelDfLBd3i0xyzVVXITzb4cak?= =?us-ascii?Q?HD/DaSEWBPCHQgQWG72iUHtP8oTQK5GE3hIT7ESgA1viCLN/5Lh0SefLcDUU?= =?us-ascii?Q?7OOl9f+2ZwmVrTA9SJN/WhEIgNIMqVtStpudxJfUK+QCGaxAEYFV1puV3zcE?= =?us-ascii?Q?QlsAwGYDiJZN7yEaijIOuWQcr1FGoP8mwUMuzcJXKXeWbL+uOLokfOPjXfzD?= =?us-ascii?Q?InUDQa3AD2RUd/+0UIDPbH7TXI0D8kNV8/2ILE8gaT+EC2g8cvrNHJmBGjq5?= =?us-ascii?Q?FrSejiudR6hs/sBLFluoFqQygU8ot882QBB9zBkccgMfva+FKK9y+1WnWeXb?= =?us-ascii?Q?Ve/vw2s9yZ00+/I3xj6fzQ4VP6arCMkklEmPg5oFDirXR5ddGeQrzvTBeDZM?= =?us-ascii?Q?EKeQiT6sAvCLRQoNJbhyTCuGLogY9GpbZZGM0pTS1l0vGyFQmanksgFMiaEz?= =?us-ascii?Q?BzPzBnWHgKVwPJwbfxtGnCiCkwhDfq5h/5RaOUdUlrrUxmdQ2PNvX8+1P4DJ?= =?us-ascii?Q?cBfLewqowAx/86/dDl/+z1osWm+8pY3qJuAYQY2W8n0MZKxmR6VI9XvvtWFf?= =?us-ascii?Q?XoE73aJVWLyi8MMKe2QYhwKHFaaYsLROzeDC59PL+O9AL/tZmMGLewfMJdu7?= =?us-ascii?Q?APJ9aR17+DQyKIBilyiPJ6eNAXa/3o5RW3f7m9uXCH2be1/BdyTeFD6/RIoR?= =?us-ascii?Q?o4lzYaiint+IVlG0ujFNYaPtRc3vp5wfv9QrC5sXJBXhBNtJAyuwnZzS9P22?= =?us-ascii?Q?ufdrqTBnYiheb+fhq1Mly1vYEXxJ0RJbkQROSD2q1Xz+Q3HgrzLPFcWxJ0Se?= =?us-ascii?Q?g5gK6iu7zdPeDOQeJdiP8wFaqqAentZKoWnz4WfZ8ka+AkXaWM3c0l0t/oxs?= =?us-ascii?Q?YC/EiDCephEcuTcuJL1PTT3ipteb5bafoDEycJn6nqhRDPbME7by9t+0uJcA?= =?us-ascii?Q?/OjPBzsqLCNbdVD6tvMp2kL4Dm6I2vYzXXBp0m5wyMg2ooMVr/hKcN3nIWii?= =?us-ascii?Q?+amXQw8lyPj+pDrzF2sYuuYFGcwQuViI/f6ORLf/1hRY3OrAZ4wLRpVdeo37?= =?us-ascii?Q?hpfwQ1FvM6NGJnXFz9OQnpGV5EZSxrcuW3Jlki3fUkef0EnUzNX8Xp+XcgtB?= =?us-ascii?Q?k9/dTaV76SoStEfjIndU7o923b3YmJuPbSJZfSYcxKT8oM/IasNN6yPNGdTE?= =?us-ascii?Q?9K+6mHbq3zEzoFugLlfqrLueHs4RmaEtV/lseI70TQz0SLIkrB2au4hLqOwv?= =?us-ascii?Q?ng=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?gqui7IhVJvzqKrlQitE5/DYW28sXYsbdOTOMskFTvsTbmVKdIARDUcHEZRYW?= =?us-ascii?Q?ElfWmvuB28s6ayg+1wJQXIIC0269gOURLKbgMdJ58vf9jvtwtInOghmWgLGk?= =?us-ascii?Q?x332X3z9WCHCzjDpM9jWP15wRvOGu+pD0T1Kyjfgxgcem+8sXvvPObgALjb/?= =?us-ascii?Q?Rl5obThj3p+aAqCe9lVhFr4U4v0/9pyOKSKEH/qrDY/0rrg/wp//9CsV8YeX?= =?us-ascii?Q?lClW73IqXTdM0Ls1YP2WJ+FUJOz9eQjqv1IpXdDYwATA9kQR++ClR9paXNH1?= =?us-ascii?Q?GbRZDljqq8Qe2n7Uqbzam7A4umuojk6fJ0y/vBo5+Jn4gM4K/4cr/CspDHXk?= =?us-ascii?Q?bA3+mUvtr1cl6lgVA6DJYnTPozxGaHIbmNVsmj+7WdMx8uBKZ0V+3MiROrtr?= =?us-ascii?Q?wdhRkeagV21JoPKk9ms39JOKsGTVJF5rZnRF9yzdgPMPy3zQWebRxwUMNwrZ?= =?us-ascii?Q?0sJR1g783QLChOVjjhAO5OKtlIWmaBC9xuxN9RzPDyj4nR+yULxBecfxvzC5?= =?us-ascii?Q?194e7W17qLA+mRVTB579la42hlHHzu4C+t5eqzPjvMgW62B9rr9tYjd3wQv+?= =?us-ascii?Q?1JbaGhYVgcVbF6jwSm76adY8crJWOUrThcpXswd5N/SqWV1UJWt22I6OQJpZ?= =?us-ascii?Q?FutPgbM2nqdXsXEP1JyMkugCZaj9OlgzdoXKzMoo5dUMzouRjCaNvbcdjHXt?= =?us-ascii?Q?apDVTLEknBFbpguicKJV9CHa8iasYzy6QNPEoT4+Kwto9cS7LM1q0tjX9qte?= =?us-ascii?Q?FAY1ofUh0yZIp67ndVFjtirwFFWB/0Vm2X39fCGj1QHQwEdYmlAGoMmey8dR?= =?us-ascii?Q?04q6trhERUOxuau5gO9U6ysdfzgOGAmy+BUbwbLdGPnNv7trX2mBL+aW9amM?= =?us-ascii?Q?R3WnOobb/IKG+XI88lujblgpT9N4eU+rfr1t4rfSDpjAYpXHBnEQpL71IG5Y?= =?us-ascii?Q?+eIcbckVVOibd4zX24Zylbiwlloz0+4XUf7cRbNAaPQ8iW92X3QyrZoq7KYi?= =?us-ascii?Q?9tmXe1NXzWUPGKtmnrbQlwFIhA=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e8f46ecb-f92b-45ef-116b-08db21b35474 X-MS-Exchange-CrossTenant-AuthSource: DM5PR10MB1466.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2023 22:03:50.4687 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: aOci8JAtWvMeYnTmtZlNz4cGZi1TzCvMiftnHtr/Ts7ST4HIjPreNMscZk8TlbVnQZs6WUDRar62j71C8FuAHe/eZ2ko8LEjtypzdbuWSWI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB5940 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-10_10,2023-03-10_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 bulkscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2303100176 X-Proofpoint-GUID: pzM2GVyZMB36eefuDw9n4uMThZ46HLRU X-Proofpoint-ORIG-GUID: pzM2GVyZMB36eefuDw9n4uMThZ46HLRU Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Qemu will create vhost devices in the kernel which perform network, SCSI, etc IO and management operations from worker threads created by the kthread API. Because the kthread API does a copy_process on the kthreadd thread, the vhost layer has to use kthread_use_mm to access the Qemu thread's memory and cgroup_attach_task_all to add itself to the Qemu thread's cgroups, and it bypasses the RLIMIT_NPROC limit which can result in VMs creating more threads than the admin expected. This patch adds a new struct vhost_task which can be used instead of kthreads. They allow the vhost layer to use copy_process and inherit the userspace process's mm and cgroups, the task is accounted for under the userspace's nproc count and can be seen in its process tree, and other features like namespaces work and are inherited by default. Signed-off-by: Mike Christie Acked-by: Michael S. Tsirkin --- MAINTAINERS | 2 + drivers/vhost/Kconfig | 5 ++ include/linux/sched/vhost_task.h | 23 ++++++ kernel/Makefile | 1 + kernel/vhost_task.c | 117 +++++++++++++++++++++++++++++++ 5 files changed, 148 insertions(+) create mode 100644 include/linux/sched/vhost_task.h create mode 100644 kernel/vhost_task.c diff --git a/MAINTAINERS b/MAINTAINERS index 39ff1a717625..f379ec9209ab 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -22130,7 +22130,9 @@ L: virtualization@lists.linux-foundation.org L: netdev@vger.kernel.org S: Maintained T: git git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git +F: kernel/vhost_task.c F: drivers/vhost/ +F: include/linux/sched/vhost_task.h F: include/linux/vhost_iotlb.h F: include/uapi/linux/vhost.h =20 diff --git a/drivers/vhost/Kconfig b/drivers/vhost/Kconfig index 587fbae06182..b455d9ab6f3d 100644 --- a/drivers/vhost/Kconfig +++ b/drivers/vhost/Kconfig @@ -13,9 +13,14 @@ config VHOST_RING This option is selected by any driver which needs to access the host side of a virtio ring. =20 +config VHOST_TASK + bool + default n + config VHOST tristate select VHOST_IOTLB + select VHOST_TASK help This option is selected by any driver which needs to access the core of vhost. diff --git a/include/linux/sched/vhost_task.h b/include/linux/sched/vhost_t= ask.h new file mode 100644 index 000000000000..6123c10b99cf --- /dev/null +++ b/include/linux/sched/vhost_task.h @@ -0,0 +1,23 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _LINUX_VHOST_TASK_H +#define _LINUX_VHOST_TASK_H + +#include + +struct task_struct; + +struct vhost_task { + int (*fn)(void *data); + void *data; + struct completion exited; + unsigned long flags; + struct task_struct *task; +}; + +struct vhost_task *vhost_task_create(int (*fn)(void *), void *arg, + const char *name); +void vhost_task_start(struct vhost_task *vtsk); +void vhost_task_stop(struct vhost_task *vtsk); +bool vhost_task_should_stop(struct vhost_task *vtsk); + +#endif diff --git a/kernel/Makefile b/kernel/Makefile index 10ef068f598d..6fc72b3afbde 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -15,6 +15,7 @@ obj-y =3D fork.o exec_domain.o panic.o \ obj-$(CONFIG_USERMODE_DRIVER) +=3D usermode_driver.o obj-$(CONFIG_MODULES) +=3D kmod.o obj-$(CONFIG_MULTIUSER) +=3D groups.o +obj-$(CONFIG_VHOST_TASK) +=3D vhost_task.o =20 ifdef CONFIG_FUNCTION_TRACER # Do not trace internal ftrace files diff --git a/kernel/vhost_task.c b/kernel/vhost_task.c new file mode 100644 index 000000000000..4b8aff160640 --- /dev/null +++ b/kernel/vhost_task.c @@ -0,0 +1,117 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (C) 2021 Oracle Corporation + */ +#include +#include +#include +#include +#include + +enum vhost_task_flags { + VHOST_TASK_FLAGS_STOP, +}; + +static int vhost_task_fn(void *data) +{ + struct vhost_task *vtsk =3D data; + int ret; + + ret =3D vtsk->fn(vtsk->data); + complete(&vtsk->exited); + do_exit(ret); +} + +/** + * vhost_task_stop - stop a vhost_task + * @vtsk: vhost_task to stop + * + * Callers must call vhost_task_should_stop and return from their worker + * function when it returns true; + */ +void vhost_task_stop(struct vhost_task *vtsk) +{ + pid_t pid =3D vtsk->task->pid; + + set_bit(VHOST_TASK_FLAGS_STOP, &vtsk->flags); + wake_up_process(vtsk->task); + /* + * Make sure vhost_task_fn is no longer accessing the vhost_task before + * freeing it below. If userspace crashed or exited without closing, + * then the vhost_task->task could already be marked dead so + * kernel_wait will return early. + */ + wait_for_completion(&vtsk->exited); + /* + * If we are just closing/removing a device and the parent process is + * not exiting then reap the task. + */ + kernel_wait4(pid, NULL, __WCLONE, NULL); + kfree(vtsk); +} +EXPORT_SYMBOL_GPL(vhost_task_stop); + +/** + * vhost_task_should_stop - should the vhost task return from the work fun= ction + * @vtsk: vhost_task to stop + */ +bool vhost_task_should_stop(struct vhost_task *vtsk) +{ + return test_bit(VHOST_TASK_FLAGS_STOP, &vtsk->flags); +} +EXPORT_SYMBOL_GPL(vhost_task_should_stop); + +/** + * vhost_task_create - create a copy of a process to be used by the kernel + * @fn: thread stack + * @arg: data to be passed to fn + * @name: the thread's name + * + * This returns a specialized task for use by the vhost layer or NULL on + * failure. The returned task is inactive, and the caller must fire it up + * through vhost_task_start(). + */ +struct vhost_task *vhost_task_create(int (*fn)(void *), void *arg, + const char *name) +{ + struct kernel_clone_args args =3D { + .flags =3D CLONE_FS | CLONE_UNTRACED | CLONE_VM, + .exit_signal =3D 0, + .fn =3D vhost_task_fn, + .name =3D name, + .user_worker =3D 1, + .no_files =3D 1, + .ignore_signals =3D 1, + }; + struct vhost_task *vtsk; + struct task_struct *tsk; + + vtsk =3D kzalloc(sizeof(*vtsk), GFP_KERNEL); + if (!vtsk) + return ERR_PTR(-ENOMEM); + init_completion(&vtsk->exited); + vtsk->data =3D arg; + vtsk->fn =3D fn; + + args.fn_arg =3D vtsk; + + tsk =3D copy_process(NULL, 0, NUMA_NO_NODE, &args); + if (IS_ERR(tsk)) { + kfree(vtsk); + return NULL; + } + + vtsk->task =3D tsk; + return vtsk; +} +EXPORT_SYMBOL_GPL(vhost_task_create); + +/** + * vhost_task_start - start a vhost_task created with vhost_task_create + * @vtsk: vhost_task to wake up + */ +void vhost_task_start(struct vhost_task *vtsk) +{ + wake_up_new_task(vtsk->task); +} +EXPORT_SYMBOL_GPL(vhost_task_start); --=20 2.25.1 From nobody Wed Feb 11 18:55:35 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 70D8FC6FA99 for ; Fri, 10 Mar 2023 22:06:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231837AbjCJWGa (ORCPT ); Fri, 10 Mar 2023 17:06:30 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50760 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231439AbjCJWFQ (ORCPT ); Fri, 10 Mar 2023 17:05:16 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 506851F48C for ; Fri, 10 Mar 2023 14:04:06 -0800 (PST) Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32ALhqbl029130; Fri, 10 Mar 2023 22:03:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=v8a5sUISoqr50dJnX+Y8JANGyogcVF47yg6asa7t+20=; b=Z74ll1CO/atSbY17sYbfUKu66YxjJ5wTC+PpQvHdCL46Lzr/pCot5WzuAE/ZLJ08ESaR W6n35yfAjgVNxIiTCxO3KaY2yvdrIWsl+tX2xyKIcqiGmFS3fpvj44pB14Cte/CU5b6y KMUEh3/MfNFbxycVdtMGLThTDsqVk2aTi2rjyduwv+FWhxIQzKuf2hIKdDMI/ZNRLRlZ BmoognswItI4ThvcUEDhiP7XcklqugiRwtwmmIlQQ6nA/yEidbtUEHb8E+qVN7/B2R5N 0+E86qg8smr5qzfALe07FEja8EudGRl2sny62StES9LowgO1tyw23jfTstCvuIldD2sO qw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3p415j6dfh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Mar 2023 22:03:55 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 32ALuuYo024947; Fri, 10 Mar 2023 22:03:54 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2047.outbound.protection.outlook.com [104.47.66.47]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3p6frc9tw2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Mar 2023 22:03:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EAylnIri3inhGYAFb9KM3V5X3CC3hJ5RFQ0rFn3iZr38rLUqaWSmqwmFk+L/VtDt0V0w1CuSHGOyH6YPbSdX+9kaUhwTrn7C4R+Obtj+LJZWTew2mwSmuakWhMHZfKGhwNCLQHyJWe686HSYU5vlE5aoYGStt+YPHU0XR0AoQfxTX1x4IgEnBmJS3MyUGY3Bsbb13mr4+zUf7UmK79HnvxIRQSixVIj1y/lxFH+Bu9Y9M4xIOgKb2hn8ux+l4RxA33WHpqLO6iiAkwnc8Ob2FmqB11UGeyWQhzCVGtFnDYyDqpCGyPw7OGbbLS94Gfl0bFsOPDqF1t9+snSIWwIONA== 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=v8a5sUISoqr50dJnX+Y8JANGyogcVF47yg6asa7t+20=; b=TfCCvCQSh0NYuJk03cX15xsu2sF3C8yUpGxUeaI8WXeD6psOJwzi6eNrMEjv4m5ZeNnddAmJEDFWZpYbIwZSlSo7Q70y6IL18vLiWD7UwbE+VKrt0o9jUAsGt8O5JUTFf++A8JYQqmn7imo1KgoeCS/trvS6dlWJEMT/Fz52UAjCmFvNEyaiy8MN1C359hlFbZUO6Bfok2yvAIGVQc8lwNDlOWex3Cxzwr37m/Q7H4hWtw/vuHSrtc8o7/yyWkCQhNRf6prn0xCPBObl0Er12g/TOli3jA5NNk+MnDN79zzE7E4uKNuhVGLusxQo2S9gljO249JHJd0NfXxR6UEspg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=v8a5sUISoqr50dJnX+Y8JANGyogcVF47yg6asa7t+20=; b=Ap4avpHJo1YZbqejdBrbIkbGmjx7vXBlnzDdC/qkGry+AUUtmNA1BAYIg+osaYppraOGo8iYIeQMaVDOpd/9JzL1+UV7YlTXs3f6hLTEEBKUDshZcKbZgnhTFA4IMx9izyaOS3Fwy3Aw990XbfsWVG5iGhdyKTsWWtVxrNrizSw= Received: from DM5PR10MB1466.namprd10.prod.outlook.com (2603:10b6:3:b::7) by CY8PR10MB6514.namprd10.prod.outlook.com (2603:10b6:930:5e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Fri, 10 Mar 2023 22:03:52 +0000 Received: from DM5PR10MB1466.namprd10.prod.outlook.com ([fe80::7dd7:8d22:104:8d64]) by DM5PR10MB1466.namprd10.prod.outlook.com ([fe80::7dd7:8d22:104:8d64%7]) with mapi id 15.20.6178.019; Fri, 10 Mar 2023 22:03:52 +0000 From: Mike Christie To: hch@infradead.org, stefanha@redhat.com, jasowang@redhat.com, mst@redhat.com, sgarzare@redhat.com, virtualization@lists.linux-foundation.org, brauner@kernel.org, ebiederm@xmission.com, torvalds@linux-foundation.org, konrad.wilk@oracle.com, linux-kernel@vger.kernel.org Cc: Mike Christie , Christoph Hellwig Subject: [PATCH 10/11] vhost: move worker thread fields to new struct Date: Fri, 10 Mar 2023 16:03:31 -0600 Message-Id: <20230310220332.5309-11-michael.christie@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230310220332.5309-1-michael.christie@oracle.com> References: <20230310220332.5309-1-michael.christie@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DS7PR03CA0131.namprd03.prod.outlook.com (2603:10b6:5:3b4::16) To DM5PR10MB1466.namprd10.prod.outlook.com (2603:10b6:3:b::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM5PR10MB1466:EE_|CY8PR10MB6514:EE_ X-MS-Office365-Filtering-Correlation-Id: 81b1b426-5000-40c7-2785-08db21b35573 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qgnAphIAjujoWZMF3uBtTqUztRx4YRnXm46stL5m8WM74LSNkfASx0XGWgTbZPCX73P7bz9cQEDIT8sWhLwfaLIOpXBbUl2KNlLP/0WkzHoO7rc1MkxXV1pUXnNvtnOeQf/ghqzWsHScPVc2CsrL3+yBZPvwMEpLpenC7wueZhaeDJ8CNn9gfG1Qu2qw0phxneUS2gaziKTrgxTX6j0A76t+Tj+X/vowc1TvTOoQHZQ+iNhXN5M9xwBsnnIp69eMECCmNXEomHk2uxRBhvxBIKg0awkvG7vTqVAMtACNJS7xRfp5gre1JU0bAQPJxPXrnj/3csTbMpDssnjpI7gSTi+b/1G4kqhvvVAHXiQckiEkRFyuYNsH2u+Qf+i4tx/W1y9F8+8iXGlSefW/hFUHawla1W0XmD7p156m7uZRV1/56YI0K3EgSM4KAcbb3PiSWEoC3XB9uM1ZuAAOdBMFg9EiVwRnj0dYfvcau7BRkKT0HQ7zPFygNMLkRoSM0lLFHJ6fExoxIz6OT8UTvoW3vWDfTk8Tc1vSAClfrmzmb5sDvZBR/QYlTW8MwxPwICA+C5kr7TnezOj+fUk9WoBBhbk/xXIXjUzhmZ9hGnpYG8I30MycL/ogylOZBF2uUc4ftmrQA2OD1sHbqZ1SHybfTRMLVWsIGkVJ1r3mdM95YnRQ4eTTbTtwi71mLSm17Pqs X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR10MB1466.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(366004)(376002)(396003)(39860400002)(346002)(451199018)(36756003)(6486002)(186003)(6512007)(66556008)(6666004)(2616005)(1076003)(7416002)(83380400001)(26005)(8676002)(66946007)(4326008)(41300700001)(5660300002)(2906002)(66476007)(8936002)(478600001)(6506007)(86362001)(54906003)(316002)(38100700002)(921005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?dYsXqCKQQHx77nleTVgyWaaKcKo9sJafq4JULbmeErcg/pqN8JiqdRm578jo?= =?us-ascii?Q?QxkSj83PTY1i+w/FgQJlCUCQM0VtmMS8tI4AEEpJ5oFKlU4Pcn3Zx/j8ViRm?= =?us-ascii?Q?hjeEEvUCgwVHJMfWW6NLA+dckzKp70Fys/253TBYTwqKDTsGHxUDhfBztg4W?= =?us-ascii?Q?5msC7V/Im7c1+FcYLmBTBUhaTEdzpKd2hNeheFlD4Bp7Mljr/cfwzVXMqdIi?= =?us-ascii?Q?ezH5rj3orpqYqCTNFtGEtt76xBX1injK39EsOgC82O8oAKvWvVxeAPTVUCS3?= =?us-ascii?Q?MnpHdRJGJ50496SZu6CSWBzrgrziDK34frUsLTlOfJG+DRlk2yjqtOsMVRrO?= =?us-ascii?Q?3sQd94GQKjXhbAubZkruLNDAja8w5OWZ6QMYW4tg4l3ckXhrc3cch+L4tGYU?= =?us-ascii?Q?3COlhBjmwIrSepOJhPOzY2y7Svrya75Bd+wFq+wZSD6Nx2BD4NH97Q46B/ev?= =?us-ascii?Q?pdJiFjttpOeYSsa7m/B410mOZpE7ZW1zz5vvhvskARVDD82+JSKW8daOosmq?= =?us-ascii?Q?DvlUMoSHcUxHxpMTSluHGnBv33jAf5qIU1SpAJLXGNCjqW5+CjUEKVCfFmu3?= =?us-ascii?Q?V0Z5XMHxUbf0zRvqEo4CMAb6GySAEFwmCvHM4NxRPBOQu2xBR+D1J3nU5OON?= =?us-ascii?Q?a3F+qI9ZTyYxLaOlM5ELLC0yYzXBvYvTzYAF47372Szcq8tZp/4EcFf+uObO?= =?us-ascii?Q?nEI7SWZ7ZEVdH0NjyCamJ7CsexZnjVjthJ17QhpC2lOhfqwu0YUwBhE7ZGP+?= =?us-ascii?Q?AXsQJlFkC2Hlq2cZzzg5wVfSXx1rXGUzac+vM0VrXOvF+qZKkW/wYUpobLSR?= =?us-ascii?Q?qm4gqk1Li6k4qeBOyOEB2XpjmOJzjH4qg9ajTO0VmXwQ5DlYqpcZ2wOjjSBP?= =?us-ascii?Q?yAOppufY8IOpcQv2yQXhrFlGfQy/w9HSjpv0s3m8DR70pnzB8CkMKCKTSxFi?= =?us-ascii?Q?Tmmwd/Vs5/sTcBR5JFv3hhjBKvnYV3w0acch4CktP/0Ye5sbv+x/S+KN+0JF?= =?us-ascii?Q?wORHBsQNjclHnrs8l1+XmsZa22kz1nCZ4/Kbi5NvJJbc/knjs0BpueLrR7eZ?= =?us-ascii?Q?HtYlaUFCzb0Z+RRS01WsYYa86c+sAG6Ay1n/xP/sDh7TjThK3kBB4+uCSNOr?= =?us-ascii?Q?kSVQj+4uNxzP1i4uNIXBfQvqjkJICLkIyrDhI+W3J7HMSu8H8ksFuC4JQI/Z?= =?us-ascii?Q?Nl4tgU4V1BDD/RkOzysFXGnlp/pFFueczsCvPviD6PCkMKgfCPIF8CqYzKUv?= =?us-ascii?Q?MeFINLlgO7rnzq+T34oJfdUKyvcvLjnY5y1yXbQ5SqPuza+JIk6dLrmgV53O?= =?us-ascii?Q?XVPwalI7CXRONQ27Cs7gOcC1tTn0evNs1nizuXa/OQsXgRA00g6SoOkdTI72?= =?us-ascii?Q?UQu9lq5FnHEHbnpQTJ8vVh8UMT1yen64XnhQBF9ZqIpEqukcblCrkoSqmT7l?= =?us-ascii?Q?3i0NJ6YfQ9/AXLFwAHKrLkXCpe1FyjhQETxGhLg//pDK8TXfFkGs8SJXyeFD?= =?us-ascii?Q?yAzErJQqIsxrETMdNxVh+54zwpbkyfv4n3kUnG2N7eYsRrGLLGode5idxZac?= =?us-ascii?Q?eNLrijjq8SVxGq5OT1MQegJHPE9C8tQboG9kfkrlMoA+czpwyiQoKVUSac6F?= =?us-ascii?Q?Hg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?shCHCZQg39sVxAUrjTo9Tk2ahqzr+bov/bOUSfgzXO3P1aY0akg4hkWpoWov?= =?us-ascii?Q?f0SMoD2xbDj3/kCyKzI67uycOpPN2EweIvTbKlLgwSt1u+tI9/wUO55dud3F?= =?us-ascii?Q?1iI8yR058vRUZRGxvMhK4pAr6lKoGa0f0ryFXM0unJ+SbbP6vSTbU9r5mZX2?= =?us-ascii?Q?GXpgtBL8tjDcd8YR27vBBhmqyeo+kBebpfMZ0xDXAz4lgNYNga4g1Fnzb8zz?= =?us-ascii?Q?EJ8W9zcd0xj5guxQulf81/PBgyVsC5BODVK8LtPN7e7hageFYk0fDJEYFAfG?= =?us-ascii?Q?iSktXwN3NPOrpXwFhay6aALB9O94QjuF3ZpffZijeMxRyZTvKsDeFKtej68L?= =?us-ascii?Q?Du5AAFhBzuEJc+f1OQuZMGZXaigYn0Vj1BDucWdXHb1N4IHE8PfG4Q+V712i?= =?us-ascii?Q?//iNuCws5UrhBLUiJQlBty65EY1kdLYGdOk5GLDg8WNzR6wozQQk+3s4bKc3?= =?us-ascii?Q?YA28lJRHz1SsjlC6p69qrLQwstfxj3jOFWJsyBxk6BFxh5TfEpm4EA6NtCr3?= =?us-ascii?Q?xETWrcmH1so/BPv040Sf+giSqDeg97K5nu5VUwnxzsgWqlhcS60/Tr/jVT0Y?= =?us-ascii?Q?+pfymcKshLeZcewkyvJJqtE/tmhcDKf4Jxqjq1JSIcO9j9f28kJjZrhGiGab?= =?us-ascii?Q?4OU7rFS19H3Qx8tDHxYAl9Gw8o1MpEAE0z4JXkROvRAQ3nuIlWWeHRDAn9av?= =?us-ascii?Q?5SUyOyOoHbJqjLFWFF9xB7zFoF1L2GyTD+v3WezkobS7KrSpYplwVFse7p8u?= =?us-ascii?Q?FfHGtwufpHNchDKhbjU15QXcJz2dBUvXMylybRGZzBjUkhyExUIAh/u1tRnM?= =?us-ascii?Q?+tQ0fUYX8BAWnxpNv33eDHQdEkLeVg01mFHyz/i1fPT//wkq5znN4F6rGJXq?= =?us-ascii?Q?VxvleQUiWNhRSgLDZnFF8Wca9MRW0VGYtt+RPl2g3CJJMHKgeD+n/5WGBhCt?= =?us-ascii?Q?TfOZEpt0XHMFMq2+kV2QrTA/r3W6Tn0LlN4X1Upsh6QYgPI2tLy2z2rqKSmR?= =?us-ascii?Q?Bs+1QDFWvnEYK/fmz4HgzJHp8ouaVUil6WyCfjLnB5efwOE=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 81b1b426-5000-40c7-2785-08db21b35573 X-MS-Exchange-CrossTenant-AuthSource: DM5PR10MB1466.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2023 22:03:52.0779 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: CYmS6Cteqm7Tv6GN4bhzHIsYJcSxwttxSBHp1UcOQbSmqomrtSheemmPrGwsfi7ysq02lK8a9Dv/wNBgbCDAr8v5guRvvDT/oaRq0+6F0Kw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB6514 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-10_10,2023-03-10_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 adultscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 phishscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2303100176 X-Proofpoint-GUID: SO6HY99pasH-R-4xaRhl0fUZuDId0vrb X-Proofpoint-ORIG-GUID: SO6HY99pasH-R-4xaRhl0fUZuDId0vrb Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This is just a prep patch. It moves the worker related fields to a new vhost_worker struct and moves the code around to create some helpers that will be used in the next patch. Signed-off-by: Mike Christie Reviewed-by: Stefan Hajnoczi Acked-by: Michael S. Tsirkin Reviewed-by: Christoph Hellwig --- drivers/vhost/vhost.c | 98 ++++++++++++++++++++++++++++--------------- drivers/vhost/vhost.h | 11 +++-- 2 files changed, 72 insertions(+), 37 deletions(-) diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index 43c9770b86e5..60282fe5c338 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -255,8 +255,8 @@ void vhost_work_queue(struct vhost_dev *dev, struct vho= st_work *work) * sure it was not in the list. * test_and_set_bit() implies a memory barrier. */ - llist_add(&work->node, &dev->work_list); - wake_up_process(dev->worker); + llist_add(&work->node, &dev->worker->work_list); + wake_up_process(dev->worker->task); } } EXPORT_SYMBOL_GPL(vhost_work_queue); @@ -264,7 +264,7 @@ EXPORT_SYMBOL_GPL(vhost_work_queue); /* A lockless hint for busy polling code to exit the loop */ bool vhost_has_work(struct vhost_dev *dev) { - return !llist_empty(&dev->work_list); + return dev->worker && !llist_empty(&dev->worker->work_list); } EXPORT_SYMBOL_GPL(vhost_has_work); =20 @@ -335,7 +335,8 @@ static void vhost_vq_reset(struct vhost_dev *dev, =20 static int vhost_worker(void *data) { - struct vhost_dev *dev =3D data; + struct vhost_worker *worker =3D data; + struct vhost_dev *dev =3D worker->dev; struct vhost_work *work, *work_next; struct llist_node *node; =20 @@ -350,7 +351,7 @@ static int vhost_worker(void *data) break; } =20 - node =3D llist_del_all(&dev->work_list); + node =3D llist_del_all(&worker->work_list); if (!node) schedule(); =20 @@ -360,7 +361,7 @@ static int vhost_worker(void *data) llist_for_each_entry_safe(work, work_next, node, node) { clear_bit(VHOST_WORK_QUEUED, &work->flags); __set_current_state(TASK_RUNNING); - kcov_remote_start_common(dev->kcov_handle); + kcov_remote_start_common(worker->kcov_handle); work->fn(work); kcov_remote_stop(); if (need_resched()) @@ -479,7 +480,6 @@ void vhost_dev_init(struct vhost_dev *dev, dev->byte_weight =3D byte_weight; dev->use_worker =3D use_worker; dev->msg_handler =3D msg_handler; - init_llist_head(&dev->work_list); init_waitqueue_head(&dev->wait); INIT_LIST_HEAD(&dev->read_list); INIT_LIST_HEAD(&dev->pending_list); @@ -571,10 +571,60 @@ static void vhost_detach_mm(struct vhost_dev *dev) dev->mm =3D NULL; } =20 +static void vhost_worker_free(struct vhost_dev *dev) +{ + struct vhost_worker *worker =3D dev->worker; + + if (!worker) + return; + + dev->worker =3D NULL; + WARN_ON(!llist_empty(&worker->work_list)); + kthread_stop(worker->task); + kfree(worker); +} + +static int vhost_worker_create(struct vhost_dev *dev) +{ + struct vhost_worker *worker; + struct task_struct *task; + int ret; + + worker =3D kzalloc(sizeof(*worker), GFP_KERNEL_ACCOUNT); + if (!worker) + return -ENOMEM; + + dev->worker =3D worker; + worker->dev =3D dev; + worker->kcov_handle =3D kcov_common_handle(); + init_llist_head(&worker->work_list); + + task =3D kthread_create(vhost_worker, worker, "vhost-%d", current->pid); + if (IS_ERR(task)) { + ret =3D PTR_ERR(task); + goto free_worker; + } + + worker->task =3D task; + wake_up_process(task); /* avoid contributing to loadavg */ + + ret =3D vhost_attach_cgroups(dev); + if (ret) + goto stop_worker; + + return 0; + +stop_worker: + kthread_stop(worker->task); +free_worker: + kfree(worker); + dev->worker =3D NULL; + return ret; +} + /* Caller should have device mutex */ long vhost_dev_set_owner(struct vhost_dev *dev) { - struct task_struct *worker; int err; =20 /* Is there an owner already? */ @@ -585,36 +635,21 @@ long vhost_dev_set_owner(struct vhost_dev *dev) =20 vhost_attach_mm(dev); =20 - dev->kcov_handle =3D kcov_common_handle(); if (dev->use_worker) { - worker =3D kthread_create(vhost_worker, dev, - "vhost-%d", current->pid); - if (IS_ERR(worker)) { - err =3D PTR_ERR(worker); - goto err_worker; - } - - dev->worker =3D worker; - wake_up_process(worker); /* avoid contributing to loadavg */ - - err =3D vhost_attach_cgroups(dev); + err =3D vhost_worker_create(dev); if (err) - goto err_cgroup; + goto err_worker; } =20 err =3D vhost_dev_alloc_iovecs(dev); if (err) - goto err_cgroup; + goto err_iovecs; =20 return 0; -err_cgroup: - if (dev->worker) { - kthread_stop(dev->worker); - dev->worker =3D NULL; - } +err_iovecs: + vhost_worker_free(dev); err_worker: vhost_detach_mm(dev); - dev->kcov_handle =3D 0; err_mm: return err; } @@ -705,12 +740,7 @@ void vhost_dev_cleanup(struct vhost_dev *dev) dev->iotlb =3D NULL; vhost_clear_msg(dev); wake_up_interruptible_poll(&dev->wait, EPOLLIN | EPOLLRDNORM); - WARN_ON(!llist_empty(&dev->work_list)); - if (dev->worker) { - kthread_stop(dev->worker); - dev->worker =3D NULL; - dev->kcov_handle =3D 0; - } + vhost_worker_free(dev); vhost_detach_mm(dev); } EXPORT_SYMBOL_GPL(vhost_dev_cleanup); diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h index 790b296271f1..3a98c4f06b5a 100644 --- a/drivers/vhost/vhost.h +++ b/drivers/vhost/vhost.h @@ -25,6 +25,13 @@ struct vhost_work { unsigned long flags; }; =20 +struct vhost_worker { + struct task_struct *task; + struct llist_head work_list; + struct vhost_dev *dev; + u64 kcov_handle; +}; + /* Poll a file (eventfd or socket) */ /* Note: there's nothing vhost specific about this structure. */ struct vhost_poll { @@ -147,8 +154,7 @@ struct vhost_dev { struct vhost_virtqueue **vqs; int nvqs; struct eventfd_ctx *log_ctx; - struct llist_head work_list; - struct task_struct *worker; + struct vhost_worker *worker; struct vhost_iotlb *umem; struct vhost_iotlb *iotlb; spinlock_t iotlb_lock; @@ -158,7 +164,6 @@ struct vhost_dev { int iov_limit; int weight; int byte_weight; - u64 kcov_handle; bool use_worker; int (*msg_handler)(struct vhost_dev *dev, u32 asid, struct vhost_iotlb_msg *msg); --=20 2.25.1 From nobody Wed Feb 11 18:55:35 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8B20AC6FD1E for ; Fri, 10 Mar 2023 22:06:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232163AbjCJWGd (ORCPT ); Fri, 10 Mar 2023 17:06:33 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51084 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231540AbjCJWFR (ORCPT ); Fri, 10 Mar 2023 17:05:17 -0500 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 41B781125AF for ; Fri, 10 Mar 2023 14:04:07 -0800 (PST) Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32ALhsfC029162; Fri, 10 Mar 2023 22:03:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=GoSvTZHqLtYMC0bg2d+uU9+0zDSj0dmjN7gd0Pc4X88=; b=Gnh/lKNqKcwQkWhBLZoXjJw9difpSc7I2JU5mfR+hX+s911MNH4jQHaSqhckrjpM9FSt HueJh/+/fvDprqdfNXT97PDBVRTV9I0Pgr1crsHS1rJUkBnYu7uqO7sCS7AoNXpxYcEe gC0KICnUfQlqC3NL6fKKemo1xNXQAY82pc1rF/R463lNh92PNLCuHeDPbKFs+uLDW/FD 6dT2z6t2a80KZ8SF0k0NTmqNBOUPI19jvrtbhqYLM2eQPV/rNgv3C+mlscivtcX97UHY X90z8Tfi576rKq6D2CdNoGuMPLHZAxGzXRmNjGGkLTJRGZJH+44mSlvDjk05PDaJvcki xw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3p415j6dfk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Mar 2023 22:03:55 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 32ALuuYp024947; Fri, 10 Mar 2023 22:03:55 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2047.outbound.protection.outlook.com [104.47.66.47]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3p6frc9tw2-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Mar 2023 22:03:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PpocfJLWbmhIZBPZ1SBd8jK11PDZvmEAN54zgpkIq2aS5FbXtIl03AMPhbtpBLZwFGzu3M1qHR7PWYK338bDtPX/WNVVHe663hngEXMWOvTC2+Agdavo8OCSMrgxhRc4TZ929IBWlS0VYlJR4GYWzhI98xQ2tICHAVWWa20zKT/qgqvKnVHe7/KFRJZwvjmGblLKXhr4h1qmfFGm/l3hytyF1HBJkHwbbNWfzkBDrOB79bEp1OOmjm0V+ixf+Z5qH5jp4P5R1oQbOQP+88oM17CB4/Z1WdHHT5V25tnidDSAINSrccAVd/UHi0yvgMolhCSzSwjg7MceZcePTOaO6A== 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=GoSvTZHqLtYMC0bg2d+uU9+0zDSj0dmjN7gd0Pc4X88=; b=L9IQa9U3HexeVdhkDYdHOwcpPg4r62G9G14hkRLpeRITZ0VYyXySQNtsD890g1Ezno73B37osALIA8JY6AdZ5yGZNZNCJv7+X9Z7cuyA1hxVybC9FczJpGDw+yJOoo9iqJ+felB32OeBqUsE2u3HG4nVEZ9KykwcvRZf2dDhcXt7QKgQO9qEPivPHBge72cMcsMUQ4kMvCOVpg+jPEp2SF8lNuBYl5tzmNjrcNhQ+5UigY8imNb9EovUqAuir8wB3LXErF0rTALpgIjrtE5rSJYr0yAaqCgMrVMk4gADijWi3UsZcIqJ7o6uE88A09VqPB2A5vmxhzabXQQej32JwA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GoSvTZHqLtYMC0bg2d+uU9+0zDSj0dmjN7gd0Pc4X88=; b=mfo9/ztrF6W18PAgSEp+1huuWnqHfooVQRvmcIGT3hQFFMmMiGv7uaEpLuMkiruy30t1bigH8Zteb5+ugt3dn5qZ16zQkOsDOS3IkvFcZgO9h5+mQl4fEgfk7tFpPmEos2CApjPclJiSWciErOVIEQMAKr1gyVpzulwUzMdxmO8= Received: from DM5PR10MB1466.namprd10.prod.outlook.com (2603:10b6:3:b::7) by CY8PR10MB6514.namprd10.prod.outlook.com (2603:10b6:930:5e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Fri, 10 Mar 2023 22:03:53 +0000 Received: from DM5PR10MB1466.namprd10.prod.outlook.com ([fe80::7dd7:8d22:104:8d64]) by DM5PR10MB1466.namprd10.prod.outlook.com ([fe80::7dd7:8d22:104:8d64%7]) with mapi id 15.20.6178.019; Fri, 10 Mar 2023 22:03:53 +0000 From: Mike Christie To: hch@infradead.org, stefanha@redhat.com, jasowang@redhat.com, mst@redhat.com, sgarzare@redhat.com, virtualization@lists.linux-foundation.org, brauner@kernel.org, ebiederm@xmission.com, torvalds@linux-foundation.org, konrad.wilk@oracle.com, linux-kernel@vger.kernel.org Cc: Mike Christie Subject: [PATCH 11/11] vhost: use vhost_tasks for worker threads Date: Fri, 10 Mar 2023 16:03:32 -0600 Message-Id: <20230310220332.5309-12-michael.christie@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230310220332.5309-1-michael.christie@oracle.com> References: <20230310220332.5309-1-michael.christie@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: DS7PR03CA0130.namprd03.prod.outlook.com (2603:10b6:5:3b4::15) To DM5PR10MB1466.namprd10.prod.outlook.com (2603:10b6:3:b::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM5PR10MB1466:EE_|CY8PR10MB6514:EE_ X-MS-Office365-Filtering-Correlation-Id: 8d69ec9c-f54d-4ce9-c8ef-08db21b3565c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: p5776L/A9uprosRlrD0R+MU7XPy99FTl80Uz5Vh+ZOvrZDpX8fQCGNhel1rxn5j16WwbSDd/tRjmYuqfn1JFXd+jS7NYmRwZhglFsB808MglOtu5mCdp3AvRodVtAN5jq2T1HfgKvI8v5Q12oqcZb68ZyJjjRSTP2XHkBpac6pomUFYcSckYaqa4U1xBNIIKdHV/6/YQ57Nl51Bl4NazB8dhiZBNkYwS/enTip5D+khp7A+iPnuB6A9MPNj6XEiHDhmADc9R8a8ezZ73kvpI2ukexLOhuxV2PwBgOL9e2YrfmeBid/eNR8zREgYjfmGXIqz5tCTmHm4iOijNsbrt+JSL8q7r8Kczdvp69PAfHGq8hHIIWTzhRnLJK+hxZXwNW9d4QzArlM3LeHHh8DEWGastPmwXjed5Rr0eM8FcjcjUY7S3xufhKGN6SWstyu69JDJwD7dCyfcjmFK2jpAbpEt1TXYctIbznQhxxUr7hrpRLEyj8EP1TMgb/9UQjUuxwiu49ptkdxwtZI7YQBAxyUJl1D/34bE8ZSwaht21c+cGulasdaD3HRH5eymBoOz1sGoQXmWSxNAsuTkDyDdK15TAfXAHOPr+1IX6Y5gCEH14TUUqaYZEOu46Ma3sGJwNK2m065RZYwR6cZCrkRIqQC+lP5VYhL9lF1pbh5HuX8DqSvGjLzLaEq0p1Ya4QKnG X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR10MB1466.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(366004)(376002)(396003)(39860400002)(346002)(451199018)(36756003)(6486002)(186003)(6512007)(66556008)(6666004)(2616005)(107886003)(1076003)(7416002)(83380400001)(26005)(8676002)(66946007)(4326008)(41300700001)(5660300002)(2906002)(66476007)(8936002)(478600001)(6506007)(86362001)(316002)(38100700002)(921005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?TxEYri2/IZbZVLidpoEVk4uBrhZ8PhwuskknDbHaDR6Rk2wAHOc8Ztv3nJke?= =?us-ascii?Q?YfUoW9rgCjtU60evjjcz+KkceDH575jGunfxE8qiLTtCPrlWt9ii589UHNgh?= =?us-ascii?Q?09ddi1ydIdSyh3s2iNNpje3318tob3q3lDl2eatILwZGibkJ/rP98CE9WJor?= =?us-ascii?Q?QjVPzvWEw1f2WV4XMtG9Skcdqd8y7MOECvDd4nxP4fTEHH/AL1ghBg7RPZCX?= =?us-ascii?Q?4zjmt56GgDTcE8jm6nPp14u85cwdxUvp704Dpmfrze1oE0Hl1A+NmIS1ovK7?= =?us-ascii?Q?fBi26bwXl5IrGNOIu83A1d9td58p9aRUDC4eCkTDW7CeTEmvmoKhI8vyPTe7?= =?us-ascii?Q?W9nigshVcq2q9tDDgcSqloPGDw8DlBlkCRhXdhfZt37azqwXEK3qLXAYkGH7?= =?us-ascii?Q?5Jaac/rSOe1zhZO/Z6wKaMY7IYRRaO/zuJW6omoUIP3kbtDQPeOtjbpj98Vp?= =?us-ascii?Q?EfrggeOuHpEFFdiOeoD4sPCVM5xfSl92+8AOUqv4j3ebSbaqBucMnVglXOWB?= =?us-ascii?Q?R7blWrVjUvn3RxNcsOERO7daLe2F8n4rZCBiD+k97tqW1SmjAcTt8aAnamvD?= =?us-ascii?Q?PXDYdimOjwjzUGWCrQvNIfu4fUK0tm46h0uC6zpQC0yMPkhi3NaqZEy83T/8?= =?us-ascii?Q?3Nb50FSna6cXJgKww1h7rQUdrsUcTYEfuW3MZ3RCGuGYPtV6fA4dcjQWoepJ?= =?us-ascii?Q?37Ac3u1ALXMKtBR+DyKCXNHkargjaKRHYkVcU0aaU4A+uacmo9ByXAYYQRPp?= =?us-ascii?Q?3eSxNqGZA9Ap6iWjhXFZ+nBNhAhsafNOIn+luvYs7kNzkR/MJxWm+FxGAcOw?= =?us-ascii?Q?+MIUH4kV5BtWWiruSRE0cFukGrPz0IUWUSTCX6g9L/6a3xYokkAD/7pMOpWW?= =?us-ascii?Q?O6j2mtm6MsHJrW07l1NJ2bDzDc5YGjOjtxd+uk/NQLm43F2PpgZwM6SnVB2z?= =?us-ascii?Q?AOE4WUlncTKAtWEmnTYqveOTfDj17ht+5M6cFisVGvZkFKCJq5SYmoihfxPB?= =?us-ascii?Q?yrh2Uj9704U1CnYFHJ69fdapNk4vXJgCJKLczvw9MQg5QO7Ci5SqVaW+RIAx?= =?us-ascii?Q?AN7bGZGNx2w1yt2nJn/fT7QUUUB+UkkazpmwbxC2Y32NWScB/td9+JvazLJi?= =?us-ascii?Q?NDhz9v7ts5ubpZXDqU3DO3nUjeDsRNOx8RSYp5j4NFqFD1zFZUtluKHAj+eW?= =?us-ascii?Q?EZGIdfdrj10FkOyD0ggFUAkKZHzbq302FWPKWlEDrF9pblNUvP5WpPAdDHfF?= =?us-ascii?Q?UOWjbkM4AYfr7GyFnD8Gk8+x2ykX1GWnl9FOzOMVxJErDd9UpU6gupP0f4N7?= =?us-ascii?Q?RNey5o6rKGeNgGHMRqHqUyhZ1vaZuzAkq3TnWNHe/k2X97Sz8ztLiC84TYhk?= =?us-ascii?Q?q+BsJSIzoQt+KQUs5z6bgCR9w8sWl69W7RhOq3PhX99/k1xK4c45G3BkRwBt?= =?us-ascii?Q?VULjgol0cj9fURuhRszjeiIm5o/ZLru+8SXe4JJQNzojidCw1Zc/aUCfVZDy?= =?us-ascii?Q?b0/jHk55XqHJVpXIizalue9KjgSFh7gEZ5Lds3XddX0HOguOe366O3CE/WHu?= =?us-ascii?Q?qr9Z0/U6CrOwLhgfLTIcimzzd5pOGcl1YsFE5D+KZU3DALbROTbch2QmZZPc?= =?us-ascii?Q?OA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?us-ascii?Q?8zZaqeaBU35HDhpIwluQAQsjSG1f2FQ4AasQjZiDXDhLBk5R50dehenrBIUv?= =?us-ascii?Q?qqjeTgVPwhWmaEJ53hO28teVVFSWVZciVPRrxcWOB0ixvRTaS69Pi2yTFnf/?= =?us-ascii?Q?Z/1PNWXzxp2sKKEaowS/wvYtNKGRTQPCB3dBm6RO9DRvO+s/MCJlPZoJ2v/s?= =?us-ascii?Q?E58rIUbiXhlyK+xeZZ73xIaFic6h9cBitj3bMMFmMk3/Ng3yrZVFdlHqapqL?= =?us-ascii?Q?maTGhV7dKEz4M80BfLVyMrgnONLzw9DMzx6w3ifhLG5O13duWeSa0uwMeFtv?= =?us-ascii?Q?wQOwJPu6MG0BnM/Gay5ikgCraMCB44JfgNvmuKp1B9LC9BnirAcgp+wcofUi?= =?us-ascii?Q?JLXJ5r9ojppiPqMoRPO8BNuCZj8IGL4iFOoNzZ1T/gADdWV2JEjywdh6iYgP?= =?us-ascii?Q?NcJy1Dqg/4cBSVBysRdg5QXMx+K6XWdoYU42rh5+SsvUDRezS11odG7x9lL3?= =?us-ascii?Q?r1f3pIyivioTlozSP5yVRgoqreU1i+zdkdrnNFQSWgdCJin+CEy2Dl+1Do+8?= =?us-ascii?Q?7U9RrCgZJ/hi2I0Y4HEfwbOvlaUByjGjUAr/pipU+WoqiewUZhwEyLGnAQwD?= =?us-ascii?Q?gtrgb1eT10JmEN6O+F5eh3P/YeiBm7U1d2ozOtcLDREY80RV9LqHNcabgDBD?= =?us-ascii?Q?dzEm84Kf/7bfdpRBS2B+ewPRdWTtS3p0tpb7kwfivuxLYEKZckT/C1yIj1Hb?= =?us-ascii?Q?W9jA/sy4ZLcsPQZw/D0K+QoHDFaJwJa2g/7LMgsLyePKohPjrwCL+VeVxgP6?= =?us-ascii?Q?ovTBGrlTqXXzq2FWmQHdzMVNFV5d/5SC1AzEFWr/O1TL0IsdXkVDOwA11nnH?= =?us-ascii?Q?N+YT4dZoYEfalDAIZJUvSA7Z2wPWiDc84IxYfccMDs8CWRBkzV/fQVlCEUpG?= =?us-ascii?Q?XYaDM1+MXWH3xkPHtJChNmwsiTgKrfRcj58isTZj43I7Sd/zsJimQqRrmH5Q?= =?us-ascii?Q?MQ8odWyePolZO01U7550d2rWNEFYwb/kXGLeiNdPUUe+jwI3Tf5QcVbjowIG?= =?us-ascii?Q?RphwcMyLytTXmEWzO5Q3GhBKhQ=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8d69ec9c-f54d-4ce9-c8ef-08db21b3565c X-MS-Exchange-CrossTenant-AuthSource: DM5PR10MB1466.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2023 22:03:53.6403 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: eiwQXqYmOMI+KxOi6pgeiDJYgcx9hhhknLobEeGNAIaRBJuOiPBh7xp5dcOlWLrJJseejZf7zQRuUe3OtMjt/nc5QB0v32PBZZQF8S4aV94= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB6514 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-10_10,2023-03-10_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 adultscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 phishscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2303100176 X-Proofpoint-GUID: hVXbMEim_msSlCLmIVgpUyAScbJp04dL X-Proofpoint-ORIG-GUID: hVXbMEim_msSlCLmIVgpUyAScbJp04dL Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" For vhost workers we use the kthread API which inherit's its values from and checks against the kthreadd thread. This results in the wrong RLIMITs being checked, so while tools like libvirt try to control the number of threads based on the nproc rlimit setting we can end up creating more threads than the user wanted. This patch has us use the vhost_task helpers which will inherit its values/checks from the thread that owns the device similar to if we did a clone in userspace. The vhost threads will now be counted in the nproc rlimits. And we get features like cgroups and mm sharing automatically, so we can remove those calls. Signed-off-by: Mike Christie Acked-by: Michael S. Tsirkin --- drivers/vhost/vhost.c | 60 ++++++++++--------------------------------- drivers/vhost/vhost.h | 4 +-- 2 files changed, 15 insertions(+), 49 deletions(-) diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index 60282fe5c338..7282e0545cb2 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -22,11 +22,11 @@ #include #include #include -#include #include #include #include #include +#include #include #include #include @@ -256,7 +256,7 @@ void vhost_work_queue(struct vhost_dev *dev, struct vho= st_work *work) * test_and_set_bit() implies a memory barrier. */ llist_add(&work->node, &dev->worker->work_list); - wake_up_process(dev->worker->task); + wake_up_process(dev->worker->vtsk->task); } } EXPORT_SYMBOL_GPL(vhost_work_queue); @@ -336,17 +336,14 @@ static void vhost_vq_reset(struct vhost_dev *dev, static int vhost_worker(void *data) { struct vhost_worker *worker =3D data; - struct vhost_dev *dev =3D worker->dev; struct vhost_work *work, *work_next; struct llist_node *node; =20 - kthread_use_mm(dev->mm); - for (;;) { /* mb paired w/ kthread_stop */ set_current_state(TASK_INTERRUPTIBLE); =20 - if (kthread_should_stop()) { + if (vhost_task_should_stop(worker->vtsk)) { __set_current_state(TASK_RUNNING); break; } @@ -368,7 +365,7 @@ static int vhost_worker(void *data) schedule(); } } - kthread_unuse_mm(dev->mm); + return 0; } =20 @@ -509,31 +506,6 @@ long vhost_dev_check_owner(struct vhost_dev *dev) } EXPORT_SYMBOL_GPL(vhost_dev_check_owner); =20 -struct vhost_attach_cgroups_struct { - struct vhost_work work; - struct task_struct *owner; - int ret; -}; - -static void vhost_attach_cgroups_work(struct vhost_work *work) -{ - struct vhost_attach_cgroups_struct *s; - - s =3D container_of(work, struct vhost_attach_cgroups_struct, work); - s->ret =3D cgroup_attach_task_all(s->owner, current); -} - -static int vhost_attach_cgroups(struct vhost_dev *dev) -{ - struct vhost_attach_cgroups_struct attach; - - attach.owner =3D current; - vhost_work_init(&attach.work, vhost_attach_cgroups_work); - vhost_work_queue(dev, &attach.work); - vhost_dev_flush(dev); - return attach.ret; -} - /* Caller should have device mutex */ bool vhost_dev_has_owner(struct vhost_dev *dev) { @@ -580,14 +552,15 @@ static void vhost_worker_free(struct vhost_dev *dev) =20 dev->worker =3D NULL; WARN_ON(!llist_empty(&worker->work_list)); - kthread_stop(worker->task); + vhost_task_stop(worker->vtsk); kfree(worker); } =20 static int vhost_worker_create(struct vhost_dev *dev) { struct vhost_worker *worker; - struct task_struct *task; + struct vhost_task *vtsk; + char name[TASK_COMM_LEN]; int ret; =20 worker =3D kzalloc(sizeof(*worker), GFP_KERNEL_ACCOUNT); @@ -595,27 +568,20 @@ static int vhost_worker_create(struct vhost_dev *dev) return -ENOMEM; =20 dev->worker =3D worker; - worker->dev =3D dev; worker->kcov_handle =3D kcov_common_handle(); init_llist_head(&worker->work_list); + snprintf(name, sizeof(name), "vhost-%d", current->pid); =20 - task =3D kthread_create(vhost_worker, worker, "vhost-%d", current->pid); - if (IS_ERR(task)) { - ret =3D PTR_ERR(task); + vtsk =3D vhost_task_create(vhost_worker, worker, name); + if (!vtsk) { + ret =3D -ENOMEM; goto free_worker; } =20 - worker->task =3D task; - wake_up_process(task); /* avoid contributing to loadavg */ - - ret =3D vhost_attach_cgroups(dev); - if (ret) - goto stop_worker; - + worker->vtsk =3D vtsk; + vhost_task_start(vtsk); return 0; =20 -stop_worker: - kthread_stop(worker->task); free_worker: kfree(worker); dev->worker =3D NULL; diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h index 3a98c4f06b5a..ceb590aaf418 100644 --- a/drivers/vhost/vhost.h +++ b/drivers/vhost/vhost.h @@ -16,6 +16,7 @@ #include =20 struct vhost_work; +struct vhost_task; typedef void (*vhost_work_fn_t)(struct vhost_work *work); =20 #define VHOST_WORK_QUEUED 1 @@ -26,9 +27,8 @@ struct vhost_work { }; =20 struct vhost_worker { - struct task_struct *task; + struct vhost_task *vtsk; struct llist_head work_list; - struct vhost_dev *dev; u64 kcov_handle; }; =20 --=20 2.25.1