From patchwork Thu May 18 00:09:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Christie X-Patchwork-Id: 95600 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp137405vqo; Wed, 17 May 2023 17:16:37 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4uKWjUwGCb3lkKvs42GnYIsQpie4TMJ50qsvPwka/Pa+q6yIOBnQ2yalOY/XWCstNCwUSS X-Received: by 2002:a17:902:ce8d:b0:1ad:c1c2:7d1a with SMTP id f13-20020a170902ce8d00b001adc1c27d1amr603185plg.63.1684368997443; Wed, 17 May 2023 17:16:37 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1684368997; cv=pass; d=google.com; s=arc-20160816; b=L8pGQS9y7lRhPKw0zFbwGKKE9sjGLR6aHar0buOUCEEpv/fvoDQwinajZ0XVHiV6ED jqDhEYxSQoA2jRcrA2x490kjuYahRAXiUOF+HLq6jkzPhC7ft7KMChj+RoDq7U/m3az0 KuDe1WlUxDGW6x4iRc6LLbAE9c+QvpFINH9ri/+g/j/NHd4DRvlc8iksxQTs/U6ifXU0 rBXHd15xs/WsKTBwaSOpKXFIZ+xFDIu/U8C+wY1iy3wZxEOhSxFqfnGyron/VEQw9XCe V+nN3pT2syKASRM5m0Botuv5HG2MO3HZoMhASe+ZAn0eyS3XazjLPUzfZ1kqXAROZtfJ +nlA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=jwFiNCCgUL0VI3Ycq4EQVA93drqmxGxVRfjEFaK27dg=; b=L89D0EWfTIQGGbeVZDXNQSRervI0OP4K4mWvNTyWwDkPJTp0UCjR31bGvo9qNbYX/g DOJW2Tp9uDhziLv8nHlVhftZ5yr0rOk+UMiH1FT83yFbzG0yZEpVkX8eHSbR4IueZj02 iIH7dBOIr8Ta48wP2D+bdlkYz3baxZ197WHY3kHBwiqnIK0Y51l+iw3aufb7VDMCiW+k Hx2BAb5eDjPfMeNUywPgQI/2Vy73P+q8pNRb6nQoHxc95DfJ4im4NDyrJLe5w2vBW6bY qhnyHbsjPKIGxczEbSc7W57KyQbe3EhH3AVRQSo3/1PPZ9emX6UCnqeA1Gsu1I0prvP2 CYzg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=KoreWqtZ; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="lS1/HL4+"; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ca23-20020a17090af31700b002501ea4a6dbsi2782168pjb.127.2023.05.17.17.16.25; Wed, 17 May 2023 17:16:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=KoreWqtZ; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="lS1/HL4+"; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229793AbjERAJw (ORCPT + 99 others); Wed, 17 May 2023 20:09:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40510 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229681AbjERAJt (ORCPT ); Wed, 17 May 2023 20:09:49 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 37854124 for ; Wed, 17 May 2023 17:09:43 -0700 (PDT) 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 34HIGmu7024476; Thu, 18 May 2023 00:09:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=jwFiNCCgUL0VI3Ycq4EQVA93drqmxGxVRfjEFaK27dg=; b=KoreWqtZBFpkll4A4wlcCOJ6TGFFkVOg6rWLajfI7XKuoaMHoai0TvvO3xVEtRxK2at0 ekuUPM6Ve/leeSFyVcOja/Ced60TsfAIxFaUmdADzWeyxtlMATZ3LlIDk78OeqA+AGZD KsSN0ymJjz87ZcsLq6P4Tx6aPCwPPF/I1HrqPHpt3ZzrwEZABcpmFE/IOyWYl2EtPaHw h7MHbxv1+pNk+7u4gOr7SIrua9cOTiX9kWUn4uM4f0RsgpN2lP2IbTJQQJ/lzxSDxRDV W1Tdys6qDesSNSsn7/hBhzqOoz+5vnYzuUpLy553rO26duES4z8kOANTtV706xKoQWfy 6w== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qmxwphcu0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 18 May 2023 00:09:28 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34HLRZr3036369; Thu, 18 May 2023 00:09:27 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2172.outbound.protection.outlook.com [104.47.56.172]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qmm033xjp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 18 May 2023 00:09:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dbWwarojPJ5i4lMU1j91byMZFGqN0eGQielT6TVDDAnGns3JhNK+63G3n3SrIhVSNEIO+bLHeJfyzttCpYo9DmReQbGcV0Lyozo0IgxEzeGkeBF+0f9IpH+zxF2d1lYlQIUKYbK0aS6OdQcUh/l8LzJdl9hMvIhZFYw/CboFwrVSffdfQ/CB9UX8X0KQVJeqmaS+j6+HSTkrO7QKB5nNUFG/qQG7AqZ1rmGA7NL+7OIJM2nrZl6UZrnEdRzZBaiX9Hb+K/lzPnFWCpsBAQzlqUFYcb7/ViX9T53RDavdOuA/B9l9ZF+phD5LgspXjtAopFlQynNGxX6TBm8utOjnSw== 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=jwFiNCCgUL0VI3Ycq4EQVA93drqmxGxVRfjEFaK27dg=; b=Of8HorSw0egy3DSJmGOPrhGrNb5QoFLjWtIbtP4st8+pEw/aEg2a2ysw6wEw+l87jLuSyjWcqk8LrIE+hvLU/JfXr5Li/88q1hBBO3Ix7/LOy2Bx3lNw58J7Q/69+vSmX1aVXSAmx2tCv3B1Sokzyzjmez1I3xRb8AP0K4Wz8l6HK9eq04IAru4OFCj3t2pq2B5Hy9KzHT2F9h//s/BOQCA13Ffle+QVzquNUoVd+d2cH2gJx+a1BUJgbD/AjfI6E+fi3jyDgWsYjjUG3ZfuXeb2NWRcfhYSo36ygLinpaiSaz4+V8P2Du3aEyJAdYjpbmLXmIUBpO29hJysG/+dgQ== 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=jwFiNCCgUL0VI3Ycq4EQVA93drqmxGxVRfjEFaK27dg=; b=lS1/HL4+OS47xEbTPxTEZSdHiY0bQDui7JlLjLkfPx6p9/NKbQK4vFSGFfeMxwvWtDM85swEJ7jK7uxGuPfUfe85TvxQh/8MA2fZKiwto/nJb2SictBGSIshzN7wsGa3Qv0+i329F4eFNwZjAJ+u6DcLtdPK9jt6bT+x2ZsxFp8= Received: from CY8PR10MB7243.namprd10.prod.outlook.com (2603:10b6:930:7c::10) by BLAPR10MB5332.namprd10.prod.outlook.com (2603:10b6:208:30d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.19; Thu, 18 May 2023 00:09:25 +0000 Received: from CY8PR10MB7243.namprd10.prod.outlook.com ([fe80::13d6:c3f3:2447:6559]) by CY8PR10MB7243.namprd10.prod.outlook.com ([fe80::13d6:c3f3:2447:6559%5]) with mapi id 15.20.6411.017; Thu, 18 May 2023 00:09:24 +0000 From: Mike Christie To: oleg@redhat.com, linux@leemhuis.info, nicolas.dichtel@6wind.com, axboe@kernel.dk, ebiederm@xmission.com, torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, mst@redhat.com, sgarzare@redhat.com, jasowang@redhat.com, stefanha@redhat.com, brauner@kernel.org Cc: Mike Christie Subject: [RFC PATCH 1/8] signal: Dequeue SIGKILL even if SIGNAL_GROUP_EXIT/group_exec_task is set Date: Wed, 17 May 2023 19:09:13 -0500 Message-Id: <20230518000920.191583-2-michael.christie@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230518000920.191583-1-michael.christie@oracle.com> References: <20230518000920.191583-1-michael.christie@oracle.com> X-ClientProxiedBy: DS7PR03CA0310.namprd03.prod.outlook.com (2603:10b6:8:2b::9) To CY8PR10MB7243.namprd10.prod.outlook.com (2603:10b6:930:7c::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY8PR10MB7243:EE_|BLAPR10MB5332:EE_ X-MS-Office365-Filtering-Correlation-Id: 57b0065c-cba0-4b43-8051-08db57342357 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: x54PGkkDBZgxavPH8wccnbci4bUHgawyfnUVjVZbbcKWSW1QXLtZPo5Os5vyaCIBebZN9VmJ0rD7aQ+v0XBjkbnEIGtEp4MO50MHdSnLvjvES03zwcptQVTsmjIYxb5Gdq18mCDH7+YYt4kkushRelvtAe9Q/6Ow5dtsjWjjU1ovY9WjJhGRFAUrEkGK5wXFwvs8nxSy9srjJBDgexd6FEPoJ9LxjioClb9Etm8F0BBWbYfEUWJ/zKPLbAikcDM3TlC1OJ+zGbNuPtjSkuuTu8v0LpwpCAHPug1zA7P8dwtFLDyT1bTkeZmP8EsPCreOHVMLFtm5B/0pDkAhDwIsca5+f52im0rcbMKsKU8GeuPZQ42uOLp7jnY/PG6diV89mf+h6g+WBKEB48dIZGWNFN4L6ZJxtMncb2gHIWKIdxnHVkxTkrj2un6/uRZGhjjPCP7WNJuQrLoHTi4aBWdI/c0DQn1s9jUCRG7mgV5eC9PClCjsF+BWE0eAkpyxvaK3xvx+fMtTGoQ3xM01v0mQo7NwzoWvr5Ti/JnPiM481+GKQZYPgbf2RNwaq5shJb5Bgs4W4Tx8uDSnI8p41XhGILK9R3+fdm+0nnmd6zjrsfI= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY8PR10MB7243.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(396003)(366004)(376002)(346002)(136003)(451199021)(4326008)(6666004)(6486002)(107886003)(478600001)(66946007)(66556008)(66476007)(316002)(66899021)(41300700001)(5660300002)(186003)(1076003)(8676002)(8936002)(26005)(7416002)(6512007)(6506007)(36756003)(83380400001)(2616005)(2906002)(38100700002)(921005)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Qa38ueTRsm54Mqe1ENHqxqrD9LGTTRBKe/GymDGFORU7lIFbqir7Dy7r7qrCQcVyBUCyqMAdcLNEWNp01xKr3etj1oGUC5ThpwB4YiKBcVlMn+pjnBIiCPZGFrckrDI2NCRe+pRcM5aEOJGt3ED2r3YI3hx0MD1l3pE+F9rOvRZ8kvAeMlGnr2C01t4ZASDtxmMBvKFZlcfcGtIQf3pmXFVsdGb/URYwJfoRY/rR5gMjA5mzY3IwWTCKe/+DJGzRkOg/fslfSerWDibGRMfhR0rR2hz/Ug/ELfJKrbO5W0akQ4HTD3Zq2LUGwan2WxW6ohri1iH3/0M1ORxFunS6LoankTIifM8GzEeEOBzYi9G9m5Pniku1b8NVS4e2c7c5mpWn8VDetrtOv3aWEUsS0hLR4PvmZQKOy9Bmijeroy+ATZvVPm4GG9tmkF1TrSqCmbcW0m4SsPR4P1dHnKxVzaCBVIw5o8nf8Mqs8wkdmQMKyclKgDa/vEVI8IRcVTSMr+HHpAq14eghHVP0kqF44VV45lQuzEzt53tUx9HierZQG76c1mvfI/3O/L43gt+Hy9faGQCkx5ou1c2qHr6+mx+flZGCtkaivZfVNVXRTsqMYNn0opGzrSjlTyc5RAWNWDgUweA21DK1dcXm9dSjfO2vQxCOV7gTIXJ1DeFs5ZXrzYj/GkQ4WoisLB6jKawFkWGiwt9/HU/dVyFocFSaLwt05CshWk/00JsnvbuEE0Omh/186E1ERb0/aALZ6KI9X+weER3ycQEzxtKKeuWNj/6JYYx0X+d2KAi/a6EoylhZXtf1NFxs4K4i0cYN95VckKHIEQUsfG95JGMw7lpaH6MlL+NtaX5hiegI9czbjvp7pUD/9W50lS3iovIbrgouLlrLXec/9dCYaGHHkatPmuMnUT0h6pe9T0UbJVw/j3OFLEuqHSFo+kSzfBYm+5XM8eYN8oKYptLHlkhwC0rxCAvrr9gk8plqAI8A+3SG0gBhMyivxdM+zHh2MjIoAmXLQZgBmy510NzM+afn+PaNNzYdIXXnbBP2FWQiuw3VXuf0sBnWWmrR2Bq70YdqZOMN8lJBAgYsYKfqRlhdwmFAf1WedHNd7EMylt4O7Ro9IK1fxnu/h+Z9S2CPBt5v3JD4orOuPNkN85DYzI5UIjaXDqBPAj4OFvxHDCLK7AdtQkMbuTTmNl/F9Ud6VL4OL9G0eAcXhC4oKMMuHEo5G7RfYoGtOX4dIlO9gS0RlDgQVcw3mXKM5FbhseOv4b1m4i/FKycoMiiWQ33/5hUBkBpaJiqY5DvuMz7qgyNz20FzIfDqlFDUnGpbcudVBW0B7F0RiQXQ2eI62NomZ0OnBBZNXVAGEe6zXb597YGFDtZc8T/e0jxRiZZXpeav6siWt5XPInVKL5RfuQc7BSKAal+TuFglKt9Wjtoaw/iL4ssZbz6kBh2t+PMbjxxtahC1yBjgTIHsXqN1jGsnbjOe4gOss6tUJ2cFpdd3bQL0+NFZG1C1HjOLmeqpH4VxJjWH8+tOlvNYCwf8tTU0pC2FrtLItJSKHieX6G4I8MeeRFzD5TGMch+rFiqJqixuz7NKJgThPfu8widrAH8opKmcn2FZ5A== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: oYUN+Np6cgf2jSRuqas5duvT0Ybt/4dFNZC87uknYVushpAUfIGFf6j84gPIMRjztRUMlAo8ZUMhnTjmNHHe1v1JiG/SfQNN/ipCA+wWUUZIY6Onu7gnDc/AdiCRKuDJ2ZZBBzzZv3ooEvS/5RuqkWJYXB9BsqCBDUcbddd1DGK0wdt4aN5Bxjb9xPulRv75xklbrpQE0ox/vENzmMvYeTslfHcWdoHluHkPw/nzByFADETI/Z8VAEBLLLqh/xP2WEPc1g5HPSgRxiLA+TThc7vRYX5nYt6tqd2JqpohujlbZKvtoQAK2poZDcaJ3DxVHYdirTZjTVSDoGiQa2/YzMgI5d+3m54zrlA99hmXok5xOlp+6sfAO1V6X01NEKhhMtwH+0IJTeBRGVuaW93t3seQOy6XovDYyji0cfh8po9RR1iZIlbQonSbWuv+bH20NJM9T4CP0xOMvSryMnXqW2KQp7hS/ILDuVwnI1C1tqTqpAP3FX87XK7mE8II9Ktw8GsAurMT/iNXONH1F3m6lmOsvz2w7ISX7ymx5gyCa9lac+R3WrPkCY9bk0PZWmqAaqD886WHAJ1rloFKAiJc9xwrKURviNhtNuVO7M1GC3BmUXHUQ6DfS3GDWbdjX0AKrqM2ZSBg2ZxttTKhM2Xodp+pJJdVb3sUvY3g5N3BHJWdIB1PwvTH8V+/FDnhwuDnGg5lZOFwibeJ/cJUWOdiEEfalR1cq/WWFvFm8r04m9RsT8ZjDL/q6w6pBl5uL1bZ7biX9MBOUUc7U/ioPFaXoluhQ5y0dQ5EFz+1ehPoVGdAbugx1lntSaAOhcw+qdGfUduilMfNRZ0nei83SHvo8wcsVw5CDPFK2HfGWxsuyDkS9CD/229+fkgqT8jfc/0RH59xXk46TZYQArJprRKKkOM6Q6KF8J7gPXQ+c93R3KKN7ggvZGz7P08Z2niIOtDxkSgFsbiOzzO7Sh35e62WaAlKVJPDVKatyf94NtXM8Upl2nuZIMchgIGGpHaTE8GEyjBMTtv35er0/8+LVsIZxEikP5uWE6Wy8EI2PI3OUungcs77ONd3oVyGdAZrbtBe X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 57b0065c-cba0-4b43-8051-08db57342357 X-MS-Exchange-CrossTenant-AuthSource: CY8PR10MB7243.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2023 00:09:24.7279 (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: pFp3NYFitGmj0TQgVW9WSR3ryz7CJh9sKRwusIJwmxGifnavZcK8c821+6EmUjHccMZFgjdOifGxrLI6rexpNb/cESNLNOOq/J2eTqjts9k= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5332 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-17_04,2023-05-17_02,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 adultscore=0 malwarescore=0 bulkscore=0 spamscore=0 phishscore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305170199 X-Proofpoint-GUID: 9afjv7DnKXY1bngethUvki5SIqEcxoDH X-Proofpoint-ORIG-GUID: 9afjv7DnKXY1bngethUvki5SIqEcxoDH X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1766188905950077850?= X-GMAIL-MSGID: =?utf-8?q?1766188905950077850?= This has us deqeue SIGKILL even if SIGNAL_GROUP_EXIT/group_exec_task is set when we are dealing with PF_USER_WORKER tasks. When a vhost_task gets a SIGKILL, we could have outstanding IO in flight. We can easily stop new work/IO from being queued to the vhost_task, but for IO that's already been sent to something like the block layer we need to wait for the response then process it. These type of IO completions use the vhost_task to process the completion so we can't exit immediately. We need to handle wait for then handle those completions from the vhost_task, but when we have a SIGKLL pending, functions like schedule() return immediately so we can't wait like normal. Functions like vhost_worker() degrade to just a while(1); loop. This patch has get_signal drop down to the normal code path when SIGNAL_GROUP_EXIT/group_exec_task is set so the caller can still detect there is a SIGKILL but still perform some blocking cleanup. Note that in that chunk I'm now bypassing that does: sigdelset(¤t->pending.signal, SIGKILL); we look to be ok, because in the places we set SIGNAL_GROUP_EXIT/ group_exec_task we are already doing that on the threads in the group. Signed-off-by: Mike Christie --- kernel/signal.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/kernel/signal.c b/kernel/signal.c index 8f6330f0e9ca..ae4972eea5db 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -2705,9 +2705,18 @@ bool get_signal(struct ksignal *ksig) struct k_sigaction *ka; enum pid_type type; - /* Has this task already been marked for death? */ - if ((signal->flags & SIGNAL_GROUP_EXIT) || - signal->group_exec_task) { + /* + * Has this task already been marked for death? + * + * If this is a PF_USER_WORKER then the task may need to do + * extra work that requires waiting on running work, so we want + * to dequeue the signal below and tell the caller its time to + * start its exit procedure. When the work has completed then + * the task will exit. + */ + if (!(current->flags & PF_USER_WORKER) && + ((signal->flags & SIGNAL_GROUP_EXIT) || + signal->group_exec_task)) { clear_siginfo(&ksig->info); ksig->info.si_signo = signr = SIGKILL; sigdelset(¤t->pending.signal, SIGKILL); @@ -2861,11 +2870,11 @@ bool get_signal(struct ksignal *ksig) } /* - * PF_IO_WORKER threads will catch and exit on fatal signals + * PF_USER_WORKER threads will catch and exit on fatal signals * themselves. They have cleanup that must be performed, so * we cannot call do_exit() on their behalf. */ - if (current->flags & PF_IO_WORKER) + if (current->flags & PF_USER_WORKER) goto out; /* From patchwork Thu May 18 00:09:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Christie X-Patchwork-Id: 95603 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp138153vqo; Wed, 17 May 2023 17:18:15 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4/UrudThz0QAhxPuqWDfT7YzNfvYvwnbuqHaXmFDcaUYVPAsaO3nXAmgdDcUlrvq+8uR1R X-Received: by 2002:a17:90a:ce8a:b0:253:25c3:7a95 with SMTP id g10-20020a17090ace8a00b0025325c37a95mr554519pju.14.1684369095495; Wed, 17 May 2023 17:18:15 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1684369095; cv=pass; d=google.com; s=arc-20160816; b=hAGVV6OWGDMqmqXfC4JF+Aux5xDD1E8kXvvYuZM9drJPACOig7z02LvIXzHmpRQfpq 0O7xK0SrnR/7DeIEPSSL4fIUJdGejblrs00RWWUfP11W2v97koFlTC5HYp8bXkLtkDkC e3pu5QFew3Yqw/5vNduStx5JnH9xEs9ivJftq+D5WMFktt0cQcCVYyvLtweNurAh6/jR 9raL7tTY8fmASOPFGGp7fi6o/AU97HsWR9IAGEW/LNn8nXfttd3n0/vYmCQ/kzDNSitZ raG25SZpRWqUjHkPYnb5meX4XXTRBOujeQs8sLuRd14dqgMd3IguVagJ62N/KXbWVzyJ /0ug== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=PhpC8EXi0zsBMVs/1eZD7yKIM3czs4j4W93q4eWpuhk=; b=eL+1AcKIANBskyqwWqfhXsPp9wD1pknf+5w9rdCJPp5iwBgwsmmowksuNi2LG1Ukwq kBBRJ03kqrfAf+/SCZ/9S8KfqF1KCRtIlX+876dK1GhF3vTSVz993MlmDrGZYLXhHdOF KFRRGnqHnZ2Afp8VoCphFqHsKnIE50FNez80aVf6KeWbb6f+UzYXdgbrcoxNDTuZckzO TkI8R3Yg4ApI1ghJgeDj9POno3NhZ8I9r5Hidt/V5uL7naiL+m2k/oPMWUnsrdAUUj42 CuZypN8/ywkJargLncylxrWpUbdI2cNKsfgJfFm7I/rVPdr+Tuakcxj7AU2vMwmn+bBD u1IQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=z0YeYWKx; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=vUgXidcX; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id dw5-20020a17090b094500b002531eb75916si296770pjb.101.2023.05.17.17.18.03; Wed, 17 May 2023 17:18:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=z0YeYWKx; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=vUgXidcX; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229849AbjERAKM (ORCPT + 99 others); Wed, 17 May 2023 20:10:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40526 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229766AbjERAJu (ORCPT ); Wed, 17 May 2023 20:09:50 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6EF503C0A for ; Wed, 17 May 2023 17:09:43 -0700 (PDT) Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34HIGr1D002400; Thu, 18 May 2023 00:09:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=PhpC8EXi0zsBMVs/1eZD7yKIM3czs4j4W93q4eWpuhk=; b=z0YeYWKxd+fLtaOorV0FEN3rg+YbLC77azH9ygZ/i9ZcdEyiJZSFxaGvv2SRIX5Lu5kQ +lDcut2ye8gUkDzCvxZxUeE60LeIDImRNGnGhWqJLWzFrdWhhEfszvL3+WTOsMQBhVKv bsrX0TbY2gcfhE4HqDIKfX5yY4euAZRRlvK4z3Bw4e8wuj/pfd2VVw/5sYLbznuG/oC8 KIIOPEnj2RpM6UCc4Z0ulTlFr3m/PMHEe9+UnOwt4XBDPFY/ZXLKVf2acLmNLeZ1EnQS CfEeFc/jga4eE9K1QpFxZdDL2fnywv0SGGgBT0ptcZ0ChYEyH5eYBmxKC/JjA1UakH1t 0w== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qmxps1dr7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 18 May 2023 00:09:29 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34HLRZr4036369; Thu, 18 May 2023 00:09:28 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2172.outbound.protection.outlook.com [104.47.56.172]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qmm033xjp-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 18 May 2023 00:09:28 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DZqYrX4z2LWPVM1Tq/pzrOMwEB2pq5mqrWBlo62rKA4TEZaBXFp2H9X15rfgMNDJ6pBLZ8gNoV6C4J9A2GOPk7MywjpZK5KsxUxkoCQ82Z6pnvSZwHBuHB/8gRigJKMB4nfU4GlLfxN46rZqqe72Amzy6nrYdTY5vAEY5M3+q06XYo/+4KaOXF77jn8sShG9zmTSBnKHIVyH4XqFlWLu3rH+mSsmq4Iq4w9L2mYtz7qt23051yktTF9lrtG97d45WVoZC1VvU8UjpcJgMdwBGf90c5AP1g7B+8OHGOjct4gTTe4QEasyEF8q8p1iOElcC38kAeGTsXwiQLou+NvTzA== 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=PhpC8EXi0zsBMVs/1eZD7yKIM3czs4j4W93q4eWpuhk=; b=C0L/uVnV5k11hAZyZezPkcJkVg9iVj8Grb/ME/EFwcG3mu4G2HOnbmF1L1Kl9SOrrpI7mXwd3oFOxsQ5zpJ6kYUEasVvUCODb5eTaC+6TgasJAd5av7AEEuZ3Zlrr05DaPXE7u0/Fs3KizAyFQ6VkUHjdph9SHPI7VSvxiwsA3BDqHKjGxEQRXZjedpvUBreIrmHWvmja0oWbiC9NciCDeUu8nK2j+jEvntXyNe9V/mFF1P8e/w0Sxq+QQ8iZoKfFoHv5+eFw5AAuq0udG93rYuUsYj1OEF/Hyov+RrV0RoJuN/ErXn2dAKw43CmDAbgy7h3NIQfez6tJy0g71WyoQ== 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=PhpC8EXi0zsBMVs/1eZD7yKIM3czs4j4W93q4eWpuhk=; b=vUgXidcXXTg3PKP5IudLG+cvzMkwnuv6Xf9EQghj1HKgC18jmxz9+ccOr+UdGry1y2Db32GuLgDigZpIRTdd8jXoJvHSHrzkaLjErAGOLUDkibQ/5mUZdxIxFOUhz7qxt6TTfYs9gFloEMScIPNcsbA9lfT7gDSyxpaIJ1ioVoI= Received: from CY8PR10MB7243.namprd10.prod.outlook.com (2603:10b6:930:7c::10) by BLAPR10MB5332.namprd10.prod.outlook.com (2603:10b6:208:30d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.19; Thu, 18 May 2023 00:09:26 +0000 Received: from CY8PR10MB7243.namprd10.prod.outlook.com ([fe80::13d6:c3f3:2447:6559]) by CY8PR10MB7243.namprd10.prod.outlook.com ([fe80::13d6:c3f3:2447:6559%5]) with mapi id 15.20.6411.017; Thu, 18 May 2023 00:09:26 +0000 From: Mike Christie To: oleg@redhat.com, linux@leemhuis.info, nicolas.dichtel@6wind.com, axboe@kernel.dk, ebiederm@xmission.com, torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, mst@redhat.com, sgarzare@redhat.com, jasowang@redhat.com, stefanha@redhat.com, brauner@kernel.org Cc: Mike Christie Subject: [RFC PATCH 2/8] vhost/vhost_task: Hook vhost layer into signal handler Date: Wed, 17 May 2023 19:09:14 -0500 Message-Id: <20230518000920.191583-3-michael.christie@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230518000920.191583-1-michael.christie@oracle.com> References: <20230518000920.191583-1-michael.christie@oracle.com> X-ClientProxiedBy: DS7PR03CA0318.namprd03.prod.outlook.com (2603:10b6:8:2b::32) To CY8PR10MB7243.namprd10.prod.outlook.com (2603:10b6:930:7c::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY8PR10MB7243:EE_|BLAPR10MB5332:EE_ X-MS-Office365-Filtering-Correlation-Id: 0f2807d5-76ad-49b0-e093-08db57342470 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 43K6/jzw5L2/10HthorPViZX01+zxG0U1yEKgxLHk49GcdVkA6/O4rMBqMpCfr2hFx62mNljEBp0FPkPejDxchB86zkYGVGsQ7UM3mmF4BLdDSZizgSpsncoBcsXHWz1qfbTj+E0um9JLEwLNIFpxkYL0T8sE+94Gimrn/iVwrWXRLLeH0ZWtx+lSh+XJp6bBJg7bbePl1zo+SH4Ujg1LcWrysvzjREwFA+EnqZH8nTj9/GqvLnwbL7BgBOnRlwT8IEOyVYQMYffXXa/4GTXDZsAoIyI/a8vbsSO4SDEgeTGT4F+g+LKf+vyn03kdefLAVExuZ208f4kC+fxXpfFVAUIc8iV6Ax04Xvo/Y13q2Wa31iI4VKXslavPt5JJdm8jq6lnH829OB7MdhviSjQQxEzz/9sZt+9kbbvchJvFWb3IvFcs+Sovf+VqIRcj7fNREQS/iopmpgSV81FqGEscQJzJCh6+6vDH5T/tTHL2pcHIsLGDfdJpzu0IsS6iqurHQfirqoDuo3Zw8lGBcS3idEzt1XFtcCt3LefONaHIfeap+oIqiVzH75NPFSx30rKjviPydlcikIR/s48y4LHUYgWzqYSv48VggfAAdrbdbs= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY8PR10MB7243.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(396003)(366004)(376002)(346002)(136003)(451199021)(4326008)(6666004)(6486002)(107886003)(478600001)(66946007)(66556008)(66476007)(316002)(41300700001)(5660300002)(186003)(1076003)(8676002)(8936002)(26005)(7416002)(6512007)(6506007)(36756003)(83380400001)(2616005)(2906002)(38100700002)(921005)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: uFJKxYqtRgttXqP+7wcHsOfRS2WEKCABdVA72hd/cX7qqBOxGAAwzYEV+arrWY37CbFlHY/cNMcUi21ybwQXRUUQg2+nJq+3lUTitOblDo6z3TsPcc+COXKMbbom1+nCNxnrKROyP+0T3fqbrYtneDLs8zVFH4u8QU13Oy8CT9G0GxbTa5js/+reWSypByE1qdb8Fb7yhwxLYbkJJ1u4Bz++qL5g8ncraHsC1VDq13MJRL/BxxMZ4yaAZBaMIyDjrIEkfpdp9ttK6giJkZGXmzFQdSNqpNyJl145Tl2PAHWtKUe9R9k3rc1184BW1SCQtgyTGeRQiu5+tWW46HZ3tT/f17LorQy39eqi/0r4IAgjtX7t39F3Ol7+38gXVzoYXxT6UOKfg4uhvwEs2BqG1s1kbYQtc+pvkQeujl0bceSZyBVWl7drlBmticC/s8D+ufolyPym6enZ/P7+4J2DyJVeyMeOVeXOMxeDvFQ/FgzCchQGlEQiWq55MNwBzyU1nHq1UV6HTdbH+xqpn+zsIJ6bK/8Muz3W4gOlo+vpw0bxB1khxa528/qYDgdAiZLL+zVqOsTWZkIq0U/6eAgGjhM1hLqgWi4xAK1Lu1VBv0nKX42/LB1WeCvkboTc5lPFwIwKBs4YO7ar8otnQDYGNbUSLQZcBQN0/cs9Laczd51L+U2yXfRc2co4jyb2VBm9dbzigIRCJ9PodeF1n2CAiwwEOCD/h5pG0WUb7TDsoaWAvelJ7E4rC8gDgRj10cMu8JDx2anbExSEmklJXr0/+0O3Ei6FP2fvSsQvPIET/dW6HlmBN4xs40yEy5Xh5Ftyn59LE9SXIginS3Gm37qVhr3inFs8Tw/oOx4arvrw8qLx26Tk3bOLdINHKrYPdY2W8NBwMLOyrucE2HTXsU4DExDBvzqBdsFoMThkkjL+7I0ssU4TyaJ+hdUqd4EUVJ+xZu08frSI2bO4agHeTFBV13GdJ3PYIYOK/UpmtV6o2cBS0ME0cIgKLkkTmcs/84i/KcSnA/XC/fXS8U5BjFmM8rAvn0TRAu6gyPQxbFb1Cvc/om122PjHdD3NjGKeFzKbyv6KXGqpWjlKQj/qdvcuUSYJlczr5f3PoeBH8+HnRsE0ziCHN+NVE3jRqVBibTsqhdUdYS3gIVTTrA7TRGPsVXEGJkacyp1lrBB6uRQk43jc+eCrhIJNRI/g0nsJuI/yI/SBdgoAEC063pwi76kTDAnQBMQbGMmBd0c53gnzOxGfbptAxOU7QomZcmefOXUuu9iUCpP9yMjGgTb9sCBUaVcd0JZJ3mqaKPDXpePX1Jzm5BZg5vAFgiwfVH5x9pJicU0drra6g+gxJmOC7zBqGHvH+nE5YDSRs4cedHHOfcRwMq9JCCDAHOQ1cEffY8K3m/XnmjaflLC8bFgeoMj7YnNRVaL6uiEF0wHaw5lAD6/eLW4RySB4rwpXLm2+JQnKDRQW1qrrLh0dMPngJmMg9NVdTy8bphy4J12uwmv2WuEH06tDiDLNt+VbvfPw/BXvINZQdg0SIPQuGQyGox6yHiX99Y0LZOBGk7KiyuglKRb+SsskHh+9zLxOgJoUUGAKfU8PNrtBUt+srtZa2BVllw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 4VuRxPWBY8Ig6KEgCjxcMg5cMmSnglj0wISyn3O4QT/DTDM/OcyIz43eU+cmZyruMoq9ZA1/+rpXew/nu17LDyGedY7/5hwHnQfJyAuGOK/BJ/EB2rJnas2q97TpgBxXxtxRefiC+Ts6vdW2mKCjOxzr775DysLj9oT1//2WzYtPdCSiScJu+1Y3nUi22x/Ukd/77E3n2zxRWwJYGwS3mzc3/jw9EBS/A24s36/5HwdtbSOIhxUdcuqSN9LG3i7hifZw2/PtjStg2ILrr55nZ3HFKLlGR2yML4CqeLjA2EzoDeBmeujnNXIk3laSbTv+wW7YcI2QQqPBLunIiS9ybHJddSeH2d4HFWe+WgeoA+bFj1THWn177V4I9iQJ+Ajp8Ykx9CImeuLkFjdzDb7Fto4J0kdtxiqi1srvi5RuMA56roVUGKendMJZHx/vXdpt4xrRdCWreD797eTRZ1+70NEKjDnwGjosL2RAgmErkiwk8Q8KyEHAkBLkUREK/ngTIEd7YQfMlnf0SxYfvXW0HwbsenuV/1iY/BUT65Fg5438ibopHF3vPEHhB+OQQSog4988e+hxDTQKB4NJYVX/5QXsci4BX9no3gYqaPsWdM3OD45A7IsmB8fjSdukhilIV7g3qI05fUmossGaCUHBz2nahuFX/bkXmWzQwdiTBptQKGsm4d+blK2qSxzlJD5/iH8ZBY1/VUrhksHQFkgpzaecEL4jg3cW7Zr1hfCy0fkvWulUZQMK8hJo5ISoTMqC866yxdqpybaRny2vj2gxDoGKAw+tFZEo93uXsMq+Q+HyYTNAiJetbmBZI1If6lXMqvcPTDTEYLUQmVA+B2kLp9FlChW4UYuYAyYrc7t0j50HsHSzqFdjJD+RMZAWySvXFdWjj277lvpneEj9tvHp9V5obqUGxP2pn/ybFSuRvAhS7rO8X5CFSLrWe9dkHYsegLpM9wWBPeKTelT7z5OgZyaK6XIWoD9P0xlMkNcXcO8aBXNSGhzFpXftWMRzcDp52uNzyPbaMgMMjlfo4CV/hjqTKOmXyAmv9YgGjivrsdLPXlfraEps3HUlEk0hdaSl X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0f2807d5-76ad-49b0-e093-08db57342470 X-MS-Exchange-CrossTenant-AuthSource: CY8PR10MB7243.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2023 00:09:26.5598 (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: GKjA9ObVm5Tpd/sOkbN1r91WmLAn/VaccraqRyiqWijebSvcifcY7hiD9wa7L+fP1guPf15x7tsZwrpK2A3NL1/yUh9KiZUBhRQFrYlXKRc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5332 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-17_04,2023-05-17_02,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 adultscore=0 malwarescore=0 bulkscore=0 spamscore=0 phishscore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305170199 X-Proofpoint-GUID: oqWMYxPnLLVUUFIMtz5WYJnPj-dBmGxY X-Proofpoint-ORIG-GUID: oqWMYxPnLLVUUFIMtz5WYJnPj-dBmGxY X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1766189008374402143?= X-GMAIL-MSGID: =?utf-8?q?1766189008374402143?= This patch has vhost use get_signal to handle freezing and sort of handle signals. By the latter I mean that when we get SIGKILL, our parent will exit and call our file_operatons release function. That will then stop new work from breing queued and wait for the vhost_task to handle completions for running IO. We then exit when those are done. The next patches will then have us work more like io_uring where we handle the get_signal return value and key off that to cleanup. Signed-off-by: Mike Christie --- drivers/vhost/vhost.c | 10 +++++++++- include/linux/sched/vhost_task.h | 1 + kernel/vhost_task.c | 20 ++++++++++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index a92af08e7864..1ba9e068b2ab 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -349,8 +349,16 @@ static int vhost_worker(void *data) } node = llist_del_all(&worker->work_list); - if (!node) + if (!node) { schedule(); + /* + * When we get a SIGKILL our release function will + * be called. That will stop new IOs from being queued + * and check for outstanding cmd responses. It will then + * call vhost_task_stop to exit us. + */ + vhost_task_get_signal(); + } node = llist_reverse_order(node); /* make sure flag is seen after deletion */ diff --git a/include/linux/sched/vhost_task.h b/include/linux/sched/vhost_task.h index 6123c10b99cf..54b68115eb3b 100644 --- a/include/linux/sched/vhost_task.h +++ b/include/linux/sched/vhost_task.h @@ -19,5 +19,6 @@ struct vhost_task *vhost_task_create(int (*fn)(void *), void *arg, 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); +bool vhost_task_get_signal(void); #endif diff --git a/kernel/vhost_task.c b/kernel/vhost_task.c index b7cbd66f889e..a661cfa32ba3 100644 --- a/kernel/vhost_task.c +++ b/kernel/vhost_task.c @@ -61,6 +61,26 @@ bool vhost_task_should_stop(struct vhost_task *vtsk) } EXPORT_SYMBOL_GPL(vhost_task_should_stop); +/** + * vhost_task_get_signal - Check if there are pending signals + * + * Return true if we got SIGKILL. + */ +bool vhost_task_get_signal(void) +{ + struct ksignal ksig; + bool rc; + + if (!signal_pending(current)) + return false; + + __set_current_state(TASK_RUNNING); + rc = get_signal(&ksig); + set_current_state(TASK_INTERRUPTIBLE); + return rc; +} +EXPORT_SYMBOL_GPL(vhost_task_get_signal); + /** * vhost_task_create - create a copy of a process to be used by the kernel * @fn: thread stack From patchwork Thu May 18 00:09:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Christie X-Patchwork-Id: 95601 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp137629vqo; Wed, 17 May 2023 17:17:08 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4Ohal/E/AY+Z3pdrWcqRkEpfHcSYqpgtzV1rGdsLrmSA4LVP+HPMQXkKtO8x1xVtrK4Ut7 X-Received: by 2002:a17:90a:3d4b:b0:250:5194:b135 with SMTP id o11-20020a17090a3d4b00b002505194b135mr673719pjf.34.1684369027779; Wed, 17 May 2023 17:17:07 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1684369027; cv=pass; d=google.com; s=arc-20160816; b=dLhrbT/Ns8r6f5cU0TcF5X/pF6x8eTkL8682MdLht6rc1AIu91PzWugSp7uMlFEXTQ RGLVjwlk8VcHDe6Fp5ywWeng6XEyxSC8yiAgFVMFbvrZMXbc1p1aq13XjOAhTcTm0Kwm AiWnJF51RdqUjJcWCYrtGUSbMOrVWwSkXJbAlVYCgpyaE0zQyTMUX+9/AjMdaciXx+DL 336DdjIT7D2snk8AyKAdC1OEWXWicRu+2ADuAhZxKqTpNbsUN1+14/7CZThtv8VfFF22 CrHmwmPjdJARkSOrxK3AgeMi66JDF/3Eb3mIpnVLLHSVSQyYkUOIhCP13PsCV+TYLPHE LTfw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=87egIbAQCeeUb4SNW57wBw4NAeWxptsRTfRNI5cZnvs=; b=hIhdFt+YFmEeyDs2SWumBYp3Sfe140riVyGFWAnN1W+QJxgtnKvXSDLgwVj2KdE0FS LEork4eHvSqNOyFBYiWuF1ma1kjubv+fKcdFjH/3yCkW4U+ao+Jy2Wh5PSHqk74F3Z/w N7UNeHLHCjOwGnbUdwv/LRFaEK89P75Du5XPVp38uhrg6cirK7Lbhd/7m38DmBOxKRtO +1gWm6HoEmGAr39UXArQCBWrKyf9+RfkBIg6A4G1a2PP1GRzX4Cqj4YB+P7ckXk4hC5o LEX5Rwi59ex2n0UwCyuNnGTAK9drUN71b4gyLa6D295mM/g/zK0AVrbFYuow4SBq1gvN 0h/g== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=hsY3PrT0; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=J0tfjBQ1; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id dw5-20020a17090b094500b002531eb75916si296770pjb.101.2023.05.17.17.16.55; Wed, 17 May 2023 17:17:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=hsY3PrT0; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=J0tfjBQ1; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229832AbjERAJ6 (ORCPT + 99 others); Wed, 17 May 2023 20:09:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40524 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229571AbjERAJu (ORCPT ); Wed, 17 May 2023 20:09:50 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6E9B4E40 for ; Wed, 17 May 2023 17:09:43 -0700 (PDT) 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 34HIGutg018208; Thu, 18 May 2023 00:09:31 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=87egIbAQCeeUb4SNW57wBw4NAeWxptsRTfRNI5cZnvs=; b=hsY3PrT0eTQGftmepuL5WoOy8V3Ca4/8/EL/0kld4uhRJJeTNyB1iS2yjhULIjvyjDbS WXlw0yDvw9Y70Ak7kyafHRbjQGQwMybdlF76+xA4zoFrdEkak6H4VQZ7TsP08EMEgwzA 7xrfMEpt8OrSHa/CGvhqjoUE8ivQxcJCPeQzDiJuZg4DZ2pKIIGEmuySh9pS5uNfI6QM GtYsNOo5kKYAL/3BUfXwgAD/EEIEW6V7KYWUFclfiema5W93OFg08COEjSNKadUoWkaX fvE4NSIuoi5fQdE/G7Oxk2kuJ5qKsNIhMyXB/d0ZzyH7BzH42Oz4RCZ72blwjM4/Q8jh 7Q== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qj0ye6r3b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 18 May 2023 00:09:31 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34HNdPMS033964; Thu, 18 May 2023 00:09:30 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2170.outbound.protection.outlook.com [104.47.56.170]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3qj106kbwb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 18 May 2023 00:09:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LLYALz6yIwu1BjQTsfnUDtjEb+0eYtQo9OVvqwUfm8KOyiotEChob1IcHjBgUSYVxr5qvk3WPJ686FQoDDAfSIvAcP27l7FPIIdsNjLDWD3DjcH0rRVh7aChuaWIP8Ub/UyM+q/JzyFXAbgExI2CbWnjTpo94TzdZFQbZFDyXqrRQ43qoJIjewj9R8Cik6zodz06/eAkOOVbg2IfuaBgdJHXsdNVP8KiiI1rrpTDQ3hwvVKOUnU7TSM8yER6nUq1R91b7N9N0daLpPbJvpeX0UjP/ZbSxIXxUDIf9FFu4HsuDeL1CCHeg165Yr7TGCTccxqKIBvSqlLvAMxJK1BHFA== 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=87egIbAQCeeUb4SNW57wBw4NAeWxptsRTfRNI5cZnvs=; b=aQkgSA0D9mXK5v8MkWx8K+N8UrBVY9S9AUgEC/gMR9S98L8pjJYRG7E47T4ErybzfvcP9nmcyUx0Js2XOWQsg2SDFcNvsGzVjYDPRCOLA4W42Yx7yAdpfu7LZHMkoGexilCdcpADT0H+A/EQcOuvHwqYXHee0ken3Mi+noiETLJIufCbyqGhJf4gFveGqQZiROe6WCBB/msgi1nxPxLn4xPCpXKWsXxg6cPe3Hd1gZfSjfXJMmhTvflwJMn3LrxAJCfOV3qsKEoD8oXWxbW/KEklaKqabX3wTZxhuT+WTQEc0NxRjIsThwlgJZ/BOQY4AtsdlUI5FeYCHJ4fbgs36A== 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=87egIbAQCeeUb4SNW57wBw4NAeWxptsRTfRNI5cZnvs=; b=J0tfjBQ1KPylfH8NLdOhAAtAUYd9N0wExSrht9cqjMc0QPR9yKNk/LKCv1o+6ZF1201pbiz3g0Jb+eeF2O+Nqt2c152DtikBzNN66TduhOAV5NdTWtXU9YMky6kSpXVtT87Vvwh9G/PEUBM6O+uX9+zL8I0vdOhqEYtYyiLEjQ4= Received: from CY8PR10MB7243.namprd10.prod.outlook.com (2603:10b6:930:7c::10) by BLAPR10MB5332.namprd10.prod.outlook.com (2603:10b6:208:30d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.19; Thu, 18 May 2023 00:09:28 +0000 Received: from CY8PR10MB7243.namprd10.prod.outlook.com ([fe80::13d6:c3f3:2447:6559]) by CY8PR10MB7243.namprd10.prod.outlook.com ([fe80::13d6:c3f3:2447:6559%5]) with mapi id 15.20.6411.017; Thu, 18 May 2023 00:09:28 +0000 From: Mike Christie To: oleg@redhat.com, linux@leemhuis.info, nicolas.dichtel@6wind.com, axboe@kernel.dk, ebiederm@xmission.com, torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, mst@redhat.com, sgarzare@redhat.com, jasowang@redhat.com, stefanha@redhat.com, brauner@kernel.org Cc: Mike Christie Subject: [RFC PATCH 3/8] fork/vhost_task: Switch to CLONE_THREAD and CLONE_SIGHAND Date: Wed, 17 May 2023 19:09:15 -0500 Message-Id: <20230518000920.191583-4-michael.christie@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230518000920.191583-1-michael.christie@oracle.com> References: <20230518000920.191583-1-michael.christie@oracle.com> X-ClientProxiedBy: DS7PR03CA0327.namprd03.prod.outlook.com (2603:10b6:8:2b::35) To CY8PR10MB7243.namprd10.prod.outlook.com (2603:10b6:930:7c::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY8PR10MB7243:EE_|BLAPR10MB5332:EE_ X-MS-Office365-Filtering-Correlation-Id: 55083ccf-30c4-4c5c-062e-08db57342551 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nezV1alWFrPdyEZAXxBdkV7YqJiBgdUjVKzVgy0hNLO1jbJreCbJ9UFobalQ0Pixk2jg3SAVJH6XYz6Y+f0jSwZ1qSDl8/ce4H6V6rkibRca/ObYEuSo8+qaa87QccvmxX5yBBzvQ/c/SnNlZOZhdnwisJjTZpl6WP6+ccdaKHUtG3AxmI/SxxPfJBgzJ1SkIMlRnN4bkFz12TJbXYDp1M4SGLeZiIJGLKLY5F41kffOuQNaWFUMz4I/YIwyzlaSMZTT4pSwqm33cqhxp+3c7c4xXB5Ypqb40jcypxT4pB2VTac6tvjf4xMwuK/zvDhjQF1UsrObFh7Fk1LF6VLxqYaUaTHhzWAMACIknC3zVNocayxIQZUV4s2AvwtfavMm+42suZK6GBmQg+Z0iNgEHPmzJ7jQ7DiREVfFqomK1534LIgXv2VVq/xvMjK5PPAmbucGRaO2Xq27daQEuG/6pcAdEXjiXGrhiPsEW4kp0oY9NOw8fldeg6ls1zAfUAs3JL53I2HIeWzN9w0rUn72OTu8SMrZrjril6XdG0EKzTHumT5FaxlGRzk1Zr85NTxP3tzoB0WAQx8dNepewLvTVhxJRSPkiPRBAlPpWoKAqDI= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY8PR10MB7243.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(396003)(366004)(376002)(346002)(136003)(451199021)(4326008)(6666004)(6486002)(107886003)(478600001)(66946007)(66556008)(66476007)(316002)(41300700001)(5660300002)(186003)(1076003)(8676002)(8936002)(26005)(7416002)(6512007)(6506007)(36756003)(83380400001)(2616005)(2906002)(38100700002)(921005)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: UA8irs53wLUUc7SCmGQ/d5bI3cJQVme5PgXL89bcfR9xfG16xbf7HLA7ea3muQpYaZzYEubgkhSIzVN2yCyGD444rWaFsnwLgDbOSWJqt0J/Xkl/0k90hPo2gw17GqGdHWGIs1Pj1HSPFPBPgW2q6L3HyWJZUt5Ho1LH3GtEAjeimOx3EQqyhlX/R4nrOcYHP8mjErySjHXyzD4I8/wIHQH9ojJw03tQ61vyFnRlF7iJuMg+fppbZLW7tGrQdLa6SUiGi2vY74s1gVv7FpTqRuVXPwCypm9rQnVAczU2MzCMJL3dOryI3uo5XUu+4sRZ+puSXMNSGtvh+cFCLav/c5odAGc4OBpFzRz/mgSsbvvT+CvmNsQjY1xGb4v0UATXUqtzFDFGyhvp+Rd8ZwsBNm6JERSd9dt5MyeiJcbuY9tRS7nBKNlXr+MgjyH+x9mliqzAMugBqkF8p/E+jAbev1DPMezg0Cgg2SbaTYeLsMDF1hv43NnkAFHoTO25G/lCSzvuHfX8Njs2kYYpBkSRnzuChbYhmpdTTJfXc/AFuiwxk/Mz8LKAzlvCykSJWn8zFS+rA2S+r+FA7u6Y8NuAA56XZCtVox/GAYGFmrLeaueNHPZ5EIkA6q1F3BtMcS3SL8jF053Tb+yCvwyPl+blw+UCBVWXxiIohuajb3Z03adkkAGr+8IS1QZXpoiNhr3TUMASRnuN8YwK3XSe+W6PPx8Nfp7f7o8DtaQWwqdOxg+1QZ1HvX1i3UkdAEspD9tPAfmrVqO7frK1Bo+TSdsGFmxRl62DheBX5b/m9bdP14mS2zhN/vV2yM+luhWow5ee1XzMp0bq3gkFiykzDnjW7aECzFGupdfUfyzitpUjHYpY6Vt6Y0rBhPlH5X+rxc5HwCZOAhF0eWg1jGmNS9rxXTDvxXqOxt0HIm+n4hLXe3VcOBF4ZsTGMa4s8HWo2C3cpe3QQA4rfG5Sm4wGTCyAUIJ/4I7b3Dq0mh7R2+QUYJP/weaEdeqllfGK831eJcjCwU0AWHZm78JiCwJaZnS/jSnWWPEmzkOynEUWZGx0Q3DUPlAvDlZlDtbgCYL8aNFDkCDnMT+HGuBPamHvbw+zWb2wUbKQnFH+gVSmdrYT0bMjnxV2Lgj83n3toKLwSqU1LFyIdtqzO0V0kXJo3o7j/bjDj7q0KGHjWBdIFOFPyMYBQcO5/Tftx5Y01C6kX25MoAsigfsuE1ku3QcTOCMhlHVakSxsY0VZ69mITvtb4gFGzc0fl2XCWDxZXB06FIkVeYyVJ+yeP6ILP508LpmJUhGCTJxJtsxcqj6pWoU/JNlwPYk2Rjo+ATB6eaL4+grVWp5bb5CXeRkv5AdXf3VDoGXq+NNYzwq80eMg8B5RuIakZCComLFxaUtF3cqlyII6q4w2mviaewv0d9TiyrODGcOLKPT8pj5Fbq36SWzVkVoZSmrzL4LFhtNzqD5QjdSQ8IO2jFQSvozN8gSiEXQzmx5LukiG5i8YdMTl2Mwy/HuihMhaStw1S+L3OLP1bGQ0W/fTiTMpScNiQUjcE/McseRkBHo/WPJo4sKIhf97lQ63EwNJUtIM+tYTIKimSjj++NN7+GWMcDfrVGqPoTgIsA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: nN1tlzqJak5X+BRmB650nH3sHQpQZSubw7wZh3iPTBnk2OWZeEbu8QS3f7MgIqoc5BrVaCFpElpUnlBbnbWtwu6ZvDuvc+8jzOHnkKsJnPuGnkCl48NxVw5QlDRYPoBbcO1EzjEcI0SVf2uuiA4J55WWqApOSBkglU0TjwIanPZm5sQurlYG/E2WKN1ZtF2TpDg+AZfxv3WIhJO1S/+QAD3G3CuBrXDYyd+vfhuIR/YHKabgBYhjCHDa7rJtKgxxWruvhCfh7xbTy8gdVEeoonMAc3j/ID/W+DXsKqvVwD7yw8Oza/F6MOp2pQtqhVCOucCYyba5adJ2AXMOUNJujV+yO1DsRM24LXSiauY+zcG1n8inQg/aLlwpA5RMs9YS2TQFQrfru5B3rQ+9ucvP78B8JE6Cp++8bKDQ1tsRW1ZQeEPF1jlhrFX13Jw1pkv03fAIdYabXKrEt/FPMbLbr8tGh052dP8B00CV1m2ncHK9NrTTWXTYXq3VQlH0rgs6JrbdJHCKwHOcuj74395El7OYpv5MuXWj6BL44HIs3t9DpQGVV3mvEA2w2LQxzZ18GNctMUMAg3g96fED5NE7DA1jthzAIvOOG/vaVdaQAm8J7He9Gq7wCHGg0rIuZTAFQQdtwJ4JHLZczITODVrKhMQgkF0bW+bAXliYxdtCwYeQvCPhdniHbybCfhONePnfENYe8ZjkZaMTkDHTUkG+5xjy6S9W02HQl/DyN+2LzVmJLZmKO/tc5VewwFQck28Uj7g9mJHy6e4Fknxd8O7/sEXU8N/ng8HkpXqW5Pqk33goCI6/i9/UyB8sUnyNmSScH8IaoSsLvLgBZ4h4L2opluowesA8E5k1u7+Zpd3urk4/t+5x2Ktz3vlHF2S8bgoyKOa6V20eRzxdjMa4kq3lT6wDpopXGsjYYkaovR7UpLNrtgGGNDoGDxDwDxRSTK4yFqiDWpuGfNzB9xXHJ3RrMylrEJI3Jm/r8YYQZbqZIel0omv3KvsbSfASVWt+LzuIyWlzPDyFWajKCvlVUgqbonzFjqCJjoYMp/Mlcey302GjLfXlNYORj0mFQiQr6kug X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 55083ccf-30c4-4c5c-062e-08db57342551 X-MS-Exchange-CrossTenant-AuthSource: CY8PR10MB7243.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2023 00:09:28.0475 (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: Gi2TCtG4lno+0OIZRd6NF/KuBK6YT8Jmn5wkMWyU84VrM1+F3lKFZqrtmiFOJmvLnpdZJecUVwI6GAf/Es0wQVMUlFavfP85vK17IS/bbZs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5332 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-17_04,2023-05-17_02,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 spamscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 adultscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305170199 X-Proofpoint-ORIG-GUID: vhSSBLgEJO_6bLnFTXOkIVmTp4ZyEzjy X-Proofpoint-GUID: vhSSBLgEJO_6bLnFTXOkIVmTp4ZyEzjy X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1766188937940282082?= X-GMAIL-MSGID: =?utf-8?q?1766188937940282082?= This is a modified version of Linus's patch which has vhost_task use CLONE_THREAD and CLONE_SIGHAND and allow SIGKILL and SIGSTOP. I renamed the ignore_signals to block_signals based on Linus's comment where it aligns with what we are doing with the siginitsetinv p->blocked use and no longer calling ignore_signals. Signed-off-by: Mike Christie Acked-by: Christian Brauner --- include/linux/sched/task.h | 2 +- kernel/fork.c | 12 +++--------- kernel/vhost_task.c | 5 +++-- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/include/linux/sched/task.h b/include/linux/sched/task.h index 537cbf9a2ade..249a5ece9def 100644 --- a/include/linux/sched/task.h +++ b/include/linux/sched/task.h @@ -29,7 +29,7 @@ struct kernel_clone_args { u32 io_thread:1; u32 user_worker:1; u32 no_files:1; - u32 ignore_signals:1; + u32 block_signals:1; unsigned long stack; unsigned long stack_size; unsigned long tls; diff --git a/kernel/fork.c b/kernel/fork.c index ed4e01daccaa..9e04ab5c3946 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -2338,14 +2338,10 @@ __latent_entropy struct task_struct *copy_process( p->flags |= PF_KTHREAD; if (args->user_worker) p->flags |= PF_USER_WORKER; - if (args->io_thread) { - /* - * Mark us an IO worker, and block any signal that isn't - * fatal or STOP - */ + if (args->io_thread) p->flags |= PF_IO_WORKER; + if (args->block_signals) siginitsetinv(&p->blocked, sigmask(SIGKILL)|sigmask(SIGSTOP)); - } if (args->name) strscpy_pad(p->comm, args->name, sizeof(p->comm)); @@ -2517,9 +2513,6 @@ __latent_entropy struct task_struct *copy_process( if (retval) goto bad_fork_cleanup_io; - if (args->ignore_signals) - ignore_signals(p); - stackleak_task_init(p); if (pid != &init_struct_pid) { @@ -2861,6 +2854,7 @@ struct task_struct *create_io_thread(int (*fn)(void *), void *arg, int node) .fn_arg = arg, .io_thread = 1, .user_worker = 1, + .block_signals = 1, }; return copy_process(NULL, 0, node, &args); diff --git a/kernel/vhost_task.c b/kernel/vhost_task.c index a661cfa32ba3..a11f036290cc 100644 --- a/kernel/vhost_task.c +++ b/kernel/vhost_task.c @@ -95,13 +95,14 @@ struct vhost_task *vhost_task_create(int (*fn)(void *), void *arg, const char *name) { struct kernel_clone_args args = { - .flags = CLONE_FS | CLONE_UNTRACED | CLONE_VM, + .flags = CLONE_FS | CLONE_UNTRACED | CLONE_VM | + CLONE_THREAD | CLONE_SIGHAND, .exit_signal = 0, .fn = vhost_task_fn, .name = name, .user_worker = 1, .no_files = 1, - .ignore_signals = 1, + .block_signals = 1, }; struct vhost_task *vtsk; struct task_struct *tsk; From patchwork Thu May 18 00:09:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Christie X-Patchwork-Id: 95602 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp137966vqo; Wed, 17 May 2023 17:17:49 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6om39hY6i3/9paPv02dy33B16G8usNVJ9/ALqmMc73/hMaZV6eQUObXOLJdw6wqquRnfBr X-Received: by 2002:a17:90a:6705:b0:253:41b8:13d6 with SMTP id n5-20020a17090a670500b0025341b813d6mr659002pjj.21.1684369069114; Wed, 17 May 2023 17:17:49 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1684369069; cv=pass; d=google.com; s=arc-20160816; b=chHKueQ4Ek5lTuwnl3YtvObpgzMckgW72yTc2hUOSCbSIJBM3QY3U1kVF7E34JmZ2u ROxfprz6DrN/VHm+L6tlpSpUwOrkE0apcKaLNEzmUsTz3IuQl3H+kyuIxNMKLFERa01R dlNGd/By7IyoqrFzfQGvuSG1MmWqoL4KrVEwK/kX0o0hikp59hAcEi5ax/Gz7UHK+Sz6 r0uf+csPHryoR3Qf/Pcm4Do30GLF7FAn0C/HVR5E+NExfoXc0qmwv2/Mqd5PrxGu5RVg F/HVsm+byqSqTzsv2px2Q0wDBew0WakvnDZNW15ZeiMzsN9r5TxZb/M3xoyU2dg30gfz dTYA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=5Maj2StIVSh2zLYYgSvMY23AjJhVuyl+Rkx7v0jx9sg=; b=BbKbQgWEy/JByxh8d4HUXSRgiDL45LzAME+AX9psrTIduABN89adCGKeOliCueRyG4 /VhDzfenWM9lBIrrHPpFp+hDDodHtFtm0eS53yaxN6wuK+Nw18E/bh513fgWdbl9jHAd Qk4AN4crRXUAc1xgMdJMkDNp3LINACb6Mm01HXiNaod5ekf2QfqghfPkg1rHJJJoP9we dWkZoNpVWFI4HTD1V8pLCIKMszIPzG3CbqTDNTDTjdgDELrwiA8d0wW63dC3TQ3kODYd oNUpjB0uvs/9udzLceaiMYRzJKOWimWGBmyTinirW/lcgwz4CM9LWbevFI48BQg5G7Wh H6Cg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=kE5HVoxU; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=bQ8aemQs; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ca23-20020a17090af31700b002501ea4a6dbsi2782168pjb.127.2023.05.17.17.17.36; Wed, 17 May 2023 17:17:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=kE5HVoxU; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=bQ8aemQs; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229843AbjERAKH (ORCPT + 99 others); Wed, 17 May 2023 20:10:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40532 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229770AbjERAJv (ORCPT ); Wed, 17 May 2023 20:09:51 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D21C63AAF for ; Wed, 17 May 2023 17:09:45 -0700 (PDT) Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34HIGuNY002458; Thu, 18 May 2023 00:09:33 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=5Maj2StIVSh2zLYYgSvMY23AjJhVuyl+Rkx7v0jx9sg=; b=kE5HVoxUr89QhacRt3YeuTnMxEdSUY4kDD9qxcuN1gyLW3tcpNeToHMrYm4Bm3Jz8vhA P7Gb3tS3g7/2OcyFK2KKiBFQkoF6mC4CaVliEJvbpH6cUrC5sqd9KieFB7dWVmBg58zv HjalQpHsKYdPZhykAAg+tDaTtSIIe5iyd5+x7jH+/fwMGM+vKGppIjs6G85Kjmay7eTh 6CTCj4rq5VGiBd3/kgiztlq0BrbxCUcN9xTnqiRHzTZZ8fJmZTDNo8WG8/pLF6K16Enp k2CIC9YWGfG/veey1iSPoFK6fwrT+M5RWAFzxaAD3GHqfb4FLV0XjUWFxYngieGbsRI4 sg== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qmxps1drb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 18 May 2023 00:09:33 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34HNFIrl004186; Thu, 18 May 2023 00:09:32 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2176.outbound.protection.outlook.com [104.47.57.176]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qj10cd35x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 18 May 2023 00:09:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IO4rzFU+AMFGAHh42zz3NorE+k0gWWYvfnYIcZa/LG4GtpBjrEwevr6V6o/TYOJ+QOprIK9+jYy8MbtfPAt5pynDgVaSjo8ftmHhyTlVKMFc69BFcG6I5qpIkptaKaLVsZlrqf/psywPMCI+/emmX9G21pwSCm+yXqN4tyhPXxqRD0WSKoF0LIauQf/Ht6Yr8+pvzD8U/Yzvl16dvk0H2p7t8LVnwbRaiX30VOG8cyvmFo2d57VWG8YBuieN480PD4PjO0kl8yyLXoAwGY4xIyDKJWsdvT/qGuNzNs2x8sAr2vXpTmJUUUlpcon65N8bRM0yY6SrieoOsl3tm+cICw== 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=5Maj2StIVSh2zLYYgSvMY23AjJhVuyl+Rkx7v0jx9sg=; b=Gm8CqcsVpZElIA1Zc/dY0l5TpY3OZGcVOvdwwjszpR4WWemrMA0qabejdN1TRfnpkFChFBkn0EO5v/JFlknE1wkNn2kUMeTmfIJH4iKVLoFaxOnzvd1J85/9sxL8FMdq2mTSEYCNrzIYZtcIOWPInujyl9hUCDDEqWPycIpCJFwiKdZUw5XR7YgxG47I+TYEnOhbAoJLCq9QIHRYcipXbv4EOw3l0S8i4fETzHFCVu+aeCXarSnk0AEQBVVfzFM943l1FbfQr5l0nvPPVlG/w/POn1inByzsANnkdLBbiAw/B1yBZ7+bfZwsSSekztPc3KxHUET3ArjuFbXabRWbIQ== 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=5Maj2StIVSh2zLYYgSvMY23AjJhVuyl+Rkx7v0jx9sg=; b=bQ8aemQsPQLAKYXikWX6dP21GXdvC+ceDNVtpjqluSrqJO/Jwljza3kb13/XsVmtmsohPapwEKM8YlCt+xuq8U1rhzoxRkHL0K6qJCI17w+f6KIiHgc/1cwSZeCfHBoXVlztno9LL38KQLNWfFvVvvedld/IPqtcnVQnTE1YQig= Received: from CY8PR10MB7243.namprd10.prod.outlook.com (2603:10b6:930:7c::10) by BLAPR10MB5156.namprd10.prod.outlook.com (2603:10b6:208:321::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.19; Thu, 18 May 2023 00:09:30 +0000 Received: from CY8PR10MB7243.namprd10.prod.outlook.com ([fe80::13d6:c3f3:2447:6559]) by CY8PR10MB7243.namprd10.prod.outlook.com ([fe80::13d6:c3f3:2447:6559%5]) with mapi id 15.20.6411.017; Thu, 18 May 2023 00:09:29 +0000 From: Mike Christie To: oleg@redhat.com, linux@leemhuis.info, nicolas.dichtel@6wind.com, axboe@kernel.dk, ebiederm@xmission.com, torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, mst@redhat.com, sgarzare@redhat.com, jasowang@redhat.com, stefanha@redhat.com, brauner@kernel.org Cc: Mike Christie Subject: [RFC PATCH 4/8] vhost-net: Move vhost_net_open Date: Wed, 17 May 2023 19:09:16 -0500 Message-Id: <20230518000920.191583-5-michael.christie@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230518000920.191583-1-michael.christie@oracle.com> References: <20230518000920.191583-1-michael.christie@oracle.com> X-ClientProxiedBy: DM6PR06CA0028.namprd06.prod.outlook.com (2603:10b6:5:120::41) To CY8PR10MB7243.namprd10.prod.outlook.com (2603:10b6:930:7c::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY8PR10MB7243:EE_|BLAPR10MB5156:EE_ X-MS-Office365-Filtering-Correlation-Id: 5d882bcf-2970-41d9-dd11-08db57342641 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: faBddcoomc8c12dMfiS7injDwHIwNH4S9XKglDBrkFFLUy800kW30lShGDm+LQ5H/8WmgH+k7kTIz6A1ko8r6psTGMfn3ZJQs5WpFZF+ujC6itn0R2iWbnB3nLo9TLdQ9Gx3MYkq+4edgvcwuYzqGTiQfKJ1sfuc3lxplrXxIj944RhYVwUHzMz4tk/WrLN8a6YWnT8lro6oR5Cu75SNIv1sKDlBqrZodXfjTX/gUgcVgUy0ASijaOQSfkgzGTAIP00H2MF7+C23mk6p21d8T8uqwy4POxXM4fO0ZunZh/F62O82Qwwrs8+YyBPQIsffKhtt75/n+Vna7AmtMSRyyCMtiI/ivDKu4yiJgQcPlUwjmORURaPSZxfeU4eScro8Fn17g7mzSpq25WYqq/yZ4XJtdLLpe6LuuMr1p3nC32WZZ2j9nTMLi4vEQbphFLeuaXZycGCNa3A1C8LAzmyADHRIX2E0qjJylXbq56WU50yCAG9jDMJ3+YKbAp4JOXk+B5ONiBXh2dSfzDvzs1rYbf0UrQ/HNWk8qRxIImnXa0uEcUVKon5hgKxM1cS4Rv7VFXGbhJBCFABFA6Q/9Mp8FmpLLGRVpynlPnzWMY+AAbI= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY8PR10MB7243.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(39860400002)(346002)(376002)(136003)(366004)(451199021)(41300700001)(66946007)(66556008)(66476007)(8676002)(4326008)(921005)(8936002)(7416002)(38100700002)(5660300002)(86362001)(6512007)(26005)(1076003)(6506007)(186003)(6486002)(6666004)(107886003)(36756003)(316002)(2616005)(83380400001)(2906002)(478600001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: TX2yJu8wyozRebIK7R3irGJ3Y4dE5MqIcXDS/uDigq2VghXIdIXUU5kc2iJN7XXo2eplFq/F2e4ZJK/MLTYgCc98r1uMmTyoahpC5LD9IWiq6nzNjiYXOQUawYQgCMFIIaeXcRMkEort9ZI04RqwEIPOKw6flrFdrnb9d8HWaXjE6PIKSCfXvxGatThzp9sqAvZIhkhU3UB5LWpV9Zf0LOnlOD/wygr7BEDIzbZ7Ug1JIPD27jeqDRnFkwJ78Kh6tHahttR39Eb4w0xSWo0L5nuxov9NqKMVBWv4U02X73JZ5BPg9dqeiU93kMOs6v78HbN80Dllz6I7qfCODZmsVvZVVtMwidPDUTjSMU7mmoy0MfjMSuXT+XQVlQwWPmzpUTZqEYbtZPM8zKMbUk/sJrzuUWRuAShCsgy54OUXAt3KlNvrR9fOroMI65V7jXy3wMJ88JvX1GJompqW4FOxRsxEFtil9nNjVwCq4Q2rJ32L7usa/3UHEAq1nRaf4d5Z0kREF7P/rTDatqwDGuCGeyBfO4tcQZAZ3PzXpAE73XTxBvdywJzrGH6pYJreGocEoMdpAGzJ/Vj3IqaeXHo2snwPY37QCUH8QL9e2miWXmRHk2qc3P/oBuDGvZGXdUsWpZ9DqnN8A/8WMEHlZcOw/Vbuy4ud8vWJMHsSjgGH0H4mPQrmQPykJ1pTk6S7CPqYdFWI0CwCGCaEscvHVnmiAg3alB5ILdhioGviYK/gSXW/kU5/63cmxdKJaQ9gdM4VQ18cEJqcBEvYic+2wGTybRZdrpS6vZueDWb44X6ZnjVet8V4X5zCBQFDCan00LednUsg7fnlZAsfBVt0ySYzRAAWLO/fInCfBjUXHQrNlLVSCDNLVn37wiZRChT9SR4/Tmg9pD3hREnaWrN8hVfHfSiJ8H9e+NvTwdlIMYuehFSzilWpCLI4e5rKsXKsEEFCSOIPAZTnBgV4hHuBGJiW1jaZj7JZS42HoAwBFQQKuNPcD6dAQQJZwB5QR+7j+rsrl+PGe5t42Lm69RlDk0WsOxr50fHsLhpKO9SMpL0kxVN0y2HcabXYZtdggHVm5ebreNRBkwmXiSipS/5h7l63dy4Yeg79kw8jhZzzsgUueZ2R1U1nLcan18Iqke9LBUREGkTpLvrR6XsfoMeUddt8fCpHNJFZG8nrckdPFR+DjZVdatAN8PgoFAv+HIo1vA49r3lRjv0BEZogH8HFrBQagDOuwf7Rc/Kd0WTjs8A7tj2zfn1iTtXjSZAK6tOJApnqxLf9sGpmuLU0bxYjZMObe9L9wZt8uFVQ5jA32SkNdvy8f3gzz14z1SkECRcuR4cl1tlpt+27zfiaVqNBdmmGOdyn3YMeX5zdnA9pdALkiiJXX0psnnHVPEa1vIvOYklHj4ZnQRlsrWAYWR4GalBgXHAsnI5Hn5Slrv/d+9pW/AQcLS1FwZBziDjiigzcA76TcLCtcAp74a0q2OcSBOsf63Bb6i/ENc3e6K2+7SL21E47J+5iarZ0kV3n7gqvFArSbfqiALIEHjvH7s41a/bkmyFqdFytFVKiZvPddjJ0NWJjm2Zvtasby8s8ZbjsNZrCC4QQynVk/wpLPzq1Tpng2g== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Bh9LhDKPFmA78GYsqRQBihXa6YjpWxOomr0Kdkm0ZlpxgF1pL7zG0C7WS7vaH/nw7QXdnzZTapgxzTF7a6zycmhrasxUDS6O1OoHLxEH6gIfZCTRcrXGaiwVlMZuSjIM1uEstNDjStipwX8XQiiio1j8i8y7JD8vTbXsnPlRsjRespE49qWNsyECdxsotpSg6d1ewGWkwHlo4e1DHeXlea1qzWRYCKsC2o0A126NGQC6HuCtPz/cIPwZ1fpzcW2WcNAVV3vrEe9HWFkgUWCATLPzuKLzt0ELi0kB0gLYRNhz7ZpqmFrNkylZZysSlsyRCpqLOdwlj8N/nm1d0LjQuE1OnwejJT7Wmti8JPN16AKuE0BrIHY/3uSGIqveK+WV7uzMgTskMMCLiTgFw6CIAKjJ7qXoAgyevoTnqDe7/WKAj66br0dlrLCzaVtTrW8toHh4VMl2GAfrDLorHufgIMZCXFMfEFLlrQdamFbW67XpaYpdnRBaYRgABYpuKV62tZof331m0kkatRM2ci31iAx9es2HqJSL+Qf/5OlI+TZMfzZG14rxETT5dNT2Et1ylBaRsQGqjGJfNKlUIZvBARn9Cdg4G178jbfFUCrT3Mzl4AtHQmOnbkhHpYgtSI/EfknZL3uTsY3j1FxgSw+GdF4ZkbNGkZBlWnRNc1riOH6NFh1U/Syll8+g3Hr+/XBEdpdFBaCqbnyQQAj24eZinI1Or6Gm43aD4QmpeYTwgv7DykbYXwr64a6JnNfut680LL18uQUiA62ClVc24wRfGY13WxqwqXAL0L0PEQD5g9qfe1xtgZMgBsUYETLCMFYr5ocrvGawDvtEznpfukzYxbtVADHmRM8iDGrd+umkgs03hrHaNPRHqmbNYtEark0i3yWhJXWdljYhN1c7LXY1tRE2LNE197yFLjr1LP99VAa6Ci87WJ5YhRHqOcw3G2uPIOdedkFOBwudYMQFGsiBsFc2ApdtbIhC0f5eD/cbmoFelml6/tjisPVJOn39GS3xD0K++zLgLRCeOI0HO+l4qL6djvCo/DVchXpJzI6I+2J01BctVLG6aEsnGewpRjSl X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5d882bcf-2970-41d9-dd11-08db57342641 X-MS-Exchange-CrossTenant-AuthSource: CY8PR10MB7243.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2023 00:09:29.6107 (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: WfcBwpvl92ljhfqtZT4CMJVlLsHoxfbUtvocImYAXcUKMEiEUtulEzhRXDGmFzgTncXnQYdaRGGYh977OIGomm661HaaHNFU/15yK84TUPI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5156 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-17_04,2023-05-17_02,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 mlxlogscore=999 malwarescore=0 bulkscore=0 adultscore=0 phishscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305170199 X-Proofpoint-GUID: E8zxi8LsnmLnQpAoCi0HTZBfj2S7n4fE X-Proofpoint-ORIG-GUID: E8zxi8LsnmLnQpAoCi0HTZBfj2S7n4fE X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1766188981129680077?= X-GMAIL-MSGID: =?utf-8?q?1766188981129680077?= This moves vhost_net_open so in the next patches we can pass vhost_dev_init a new helper which will use the stop/flush functions. There is no functionality changes in this patch. Signed-off-by: Mike Christie --- drivers/vhost/net.c | 134 ++++++++++++++++++++++---------------------- 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c index 07181cd8d52e..8557072ff05e 100644 --- a/drivers/vhost/net.c +++ b/drivers/vhost/net.c @@ -1285,73 +1285,6 @@ static void handle_rx_net(struct vhost_work *work) handle_rx(net); } -static int vhost_net_open(struct inode *inode, struct file *f) -{ - struct vhost_net *n; - struct vhost_dev *dev; - struct vhost_virtqueue **vqs; - void **queue; - struct xdp_buff *xdp; - int i; - - n = kvmalloc(sizeof *n, GFP_KERNEL | __GFP_RETRY_MAYFAIL); - if (!n) - return -ENOMEM; - vqs = kmalloc_array(VHOST_NET_VQ_MAX, sizeof(*vqs), GFP_KERNEL); - if (!vqs) { - kvfree(n); - return -ENOMEM; - } - - queue = kmalloc_array(VHOST_NET_BATCH, sizeof(void *), - GFP_KERNEL); - if (!queue) { - kfree(vqs); - kvfree(n); - return -ENOMEM; - } - n->vqs[VHOST_NET_VQ_RX].rxq.queue = queue; - - xdp = kmalloc_array(VHOST_NET_BATCH, sizeof(*xdp), GFP_KERNEL); - if (!xdp) { - kfree(vqs); - kvfree(n); - kfree(queue); - return -ENOMEM; - } - n->vqs[VHOST_NET_VQ_TX].xdp = xdp; - - dev = &n->dev; - vqs[VHOST_NET_VQ_TX] = &n->vqs[VHOST_NET_VQ_TX].vq; - vqs[VHOST_NET_VQ_RX] = &n->vqs[VHOST_NET_VQ_RX].vq; - n->vqs[VHOST_NET_VQ_TX].vq.handle_kick = handle_tx_kick; - n->vqs[VHOST_NET_VQ_RX].vq.handle_kick = handle_rx_kick; - for (i = 0; i < VHOST_NET_VQ_MAX; i++) { - n->vqs[i].ubufs = NULL; - n->vqs[i].ubuf_info = NULL; - n->vqs[i].upend_idx = 0; - n->vqs[i].done_idx = 0; - n->vqs[i].batched_xdp = 0; - n->vqs[i].vhost_hlen = 0; - n->vqs[i].sock_hlen = 0; - n->vqs[i].rx_ring = NULL; - vhost_net_buf_init(&n->vqs[i].rxq); - } - vhost_dev_init(dev, vqs, VHOST_NET_VQ_MAX, - UIO_MAXIOV + VHOST_NET_BATCH, - VHOST_NET_PKT_WEIGHT, VHOST_NET_WEIGHT, true, - NULL); - - vhost_poll_init(n->poll + VHOST_NET_VQ_TX, handle_tx_net, EPOLLOUT, dev); - vhost_poll_init(n->poll + VHOST_NET_VQ_RX, handle_rx_net, EPOLLIN, dev); - - f->private_data = n; - n->page_frag.page = NULL; - n->refcnt_bias = 0; - - return 0; -} - static struct socket *vhost_net_stop_vq(struct vhost_net *n, struct vhost_virtqueue *vq) { @@ -1421,6 +1354,73 @@ static int vhost_net_release(struct inode *inode, struct file *f) return 0; } +static int vhost_net_open(struct inode *inode, struct file *f) +{ + struct vhost_net *n; + struct vhost_dev *dev; + struct vhost_virtqueue **vqs; + void **queue; + struct xdp_buff *xdp; + int i; + + n = kvmalloc(sizeof *n, GFP_KERNEL | __GFP_RETRY_MAYFAIL); + if (!n) + return -ENOMEM; + vqs = kmalloc_array(VHOST_NET_VQ_MAX, sizeof(*vqs), GFP_KERNEL); + if (!vqs) { + kvfree(n); + return -ENOMEM; + } + + queue = kmalloc_array(VHOST_NET_BATCH, sizeof(void *), + GFP_KERNEL); + if (!queue) { + kfree(vqs); + kvfree(n); + return -ENOMEM; + } + n->vqs[VHOST_NET_VQ_RX].rxq.queue = queue; + + xdp = kmalloc_array(VHOST_NET_BATCH, sizeof(*xdp), GFP_KERNEL); + if (!xdp) { + kfree(vqs); + kvfree(n); + kfree(queue); + return -ENOMEM; + } + n->vqs[VHOST_NET_VQ_TX].xdp = xdp; + + dev = &n->dev; + vqs[VHOST_NET_VQ_TX] = &n->vqs[VHOST_NET_VQ_TX].vq; + vqs[VHOST_NET_VQ_RX] = &n->vqs[VHOST_NET_VQ_RX].vq; + n->vqs[VHOST_NET_VQ_TX].vq.handle_kick = handle_tx_kick; + n->vqs[VHOST_NET_VQ_RX].vq.handle_kick = handle_rx_kick; + for (i = 0; i < VHOST_NET_VQ_MAX; i++) { + n->vqs[i].ubufs = NULL; + n->vqs[i].ubuf_info = NULL; + n->vqs[i].upend_idx = 0; + n->vqs[i].done_idx = 0; + n->vqs[i].batched_xdp = 0; + n->vqs[i].vhost_hlen = 0; + n->vqs[i].sock_hlen = 0; + n->vqs[i].rx_ring = NULL; + vhost_net_buf_init(&n->vqs[i].rxq); + } + vhost_dev_init(dev, vqs, VHOST_NET_VQ_MAX, + UIO_MAXIOV + VHOST_NET_BATCH, + VHOST_NET_PKT_WEIGHT, VHOST_NET_WEIGHT, true, + NULL); + + vhost_poll_init(n->poll + VHOST_NET_VQ_TX, handle_tx_net, EPOLLOUT, dev); + vhost_poll_init(n->poll + VHOST_NET_VQ_RX, handle_rx_net, EPOLLIN, dev); + + f->private_data = n; + n->page_frag.page = NULL; + n->refcnt_bias = 0; + + return 0; +} + static struct socket *get_raw_socket(int fd) { int r; From patchwork Thu May 18 00:09:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Christie X-Patchwork-Id: 95604 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp138480vqo; Wed, 17 May 2023 17:18:54 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6IuxnTypz1wV69BeIsGWkVKM2ac57C8Z6GGa/NdcMX8Ehbn4hhkXmQm9Z5ecRnYjmqUQrL X-Received: by 2002:a17:902:e74a:b0:1ab:f74:a111 with SMTP id p10-20020a170902e74a00b001ab0f74a111mr532019plf.63.1684369134379; Wed, 17 May 2023 17:18:54 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1684369134; cv=pass; d=google.com; s=arc-20160816; b=eIPouscfXP7GUhT0iL5NCklSkXvkUmqCsqSUIkuHkW9zvPgzEtd0FFLaRlz78HrGyD ldzeC+kCLQk6XyL8Qn6xqvaZaZhRBv9zHifU4G4LT9BNWmFueWrkLyk9DhzMFWgmdwna SsXTeeDz19EIgbdFZOd/4bD6DAaMsPAa7fA6lHV4f6Z8mG2ke0bD+jsTcVFra0p8ACGB PZlQqkBVSFiHeqe8dh5poAHWxxttwYEa1Dcm+zFCus50WslYJ7i+ea3Op8X1Hizgtv+b CkM3EK/8HevABP20kZtQaNFAHbCeFDcnK3AxuNU1Rm8tojScUKClYJ7uRrkJMbquYd3E 1oXA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=Fs312aoG+CvWwwpwaibXn18Jg+fsJEVDRbbGA17dTbY=; b=KdZ6149YmL5I1AecPdORgeKcui0euhPLDQxu6ANwVkGScGPRjUlDiDT5ZeYtTRe8yW O34HY3AVnqVRQVZR5yypWftN9bN1voxBYmMGBbKAmkatW8ZnbZRFt0OXkzHTWZ29bAc7 bw+S5Bhfg3wPjfgzkWfr/qQX2Gt8e9LeewzM6iEoGlbcU0PtYQ2LVW1dpVZ3Ja1M6xzK vPv5QjoqTpHdnjCodBbfo8l/a3YixAf6mtAlBhWS9uSFTN7PBrdUcF46pTLsbEa7GjTD BtQJpLPULd69GRy1p5zmA85w3Tno/iBq7Tu7ridbXKvMGvXrVHvULmIvodwUeIm8XOkN PgAA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b="CooRWy/F"; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=LbaAJvem; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w10-20020a170902a70a00b001a27afc07d9si21051258plq.146.2023.05.17.17.18.38; Wed, 17 May 2023 17:18:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b="CooRWy/F"; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=LbaAJvem; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229666AbjERAKy (ORCPT + 99 others); Wed, 17 May 2023 20:10:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40546 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229810AbjERAJx (ORCPT ); Wed, 17 May 2023 20:09:53 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D2246124 for ; Wed, 17 May 2023 17:09:49 -0700 (PDT) Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34HIGrva002401; Thu, 18 May 2023 00:09:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=Fs312aoG+CvWwwpwaibXn18Jg+fsJEVDRbbGA17dTbY=; b=CooRWy/F6AOeFBPLZcODvsoREngtv0R+svc4eW6PFCuPCk4OEijraKHw1hPHoyhEn6PL 0IlveFnlEt0oI/mUAu6wOkxg5metTeeuiRc3TgYmno1b5yNnLHsr1qXA9+KBcdDRBymr iJidLovia5dAeN8JLOwTPWfWuRSCm/zdvwO0Uq5+mn21MOBlhU82o90ygraXgHbVdrcS dGtf00ZynI1a/+ucTuWjwQs7pzody5/hkjG4N/b1bdaaUkZqx/Emn42QSzpgVKXHn5PY 2HSeak3n0f3gMsgbzP3JMzUFQNgs5/Dq0rgR4zi1pkWCYeBsTSlztFvR/wqupNdYcIgt qQ== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qmxps1drd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 18 May 2023 00:09:34 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34HNFIrm004186; Thu, 18 May 2023 00:09:33 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2176.outbound.protection.outlook.com [104.47.57.176]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qj10cd35x-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 18 May 2023 00:09:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=evhIkqat5ktgThdLdO82GcXEQuyDYi25JSBJM1s82oeEJp5s6iiCkPf8XMneiXXH+evYUzfrw4oobB+IfSKjxWpqdYxZJ6RzFHWFS3jEaldR4s9q20PYJIeHJk1ANM6ZiafEjCgYv7MYJGl8pAJu+Sx8m2rJYe1K9nv0anFo9WlmnHTDisOKv8Bl2KG1vjauI/+vfR52HObTjL22p/po68sTQSKHexK4QM4AbZyke8fO+wALv0DnNllfV4SaoW8VkFym37wtQ1aAY2qYtR/k9SnQPGMOyygHRL8yxsuVS9mTc4XPgyRQ13l4uaYQbkP9w+3kz1kruE3T7XQNXx56MA== 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=Fs312aoG+CvWwwpwaibXn18Jg+fsJEVDRbbGA17dTbY=; b=IeFg02dcH0MUBE8upg1R+eJD29kaQITSDlWy0aFs9sIVmyLZ31j6rImceJNsa58v/Z5EQUWK6Ep6uU96BCstJbRtLcoE2nN3/R9K4zdS2s+bAJfUzQK4CsPJ4Ycz+dUH7Z8n8FaxnpSmFqxM/T0EdBn8H/UyROMPnfETwL2zV2KyzZ+IclQr65lxX/o1xOC8LLo3TjhiZGzFR1MHM1Yl/TPq0qCjbz0Qn4LROC+u9rqpGyWq+pv3M1jTxjkL0eTGgQLc0xS+cGYUJ51q2F0yBNIRxEgChRZoCSdDaIicNF4gAgZVdUBU8Op1bO/QZGQRnBHx3WdhYDjTX45fX0FaqA== 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=Fs312aoG+CvWwwpwaibXn18Jg+fsJEVDRbbGA17dTbY=; b=LbaAJvemBaSbmq4gdGHD2l1ZX3JHQr5aubaB2lsLSSoFTEd0FCkbhQ2dpY7mVLdF6xLeL8k5alqWUHC1H0+y8wxwjk9DtWKw1iYRSP4fv1bi/szI2lC4isf9JgfHPu+QYKoY3bNFpKb2xFK1Sg14A4YXXHeOTCjvMQz/pGPin08= Received: from CY8PR10MB7243.namprd10.prod.outlook.com (2603:10b6:930:7c::10) by BLAPR10MB5156.namprd10.prod.outlook.com (2603:10b6:208:321::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.19; Thu, 18 May 2023 00:09:31 +0000 Received: from CY8PR10MB7243.namprd10.prod.outlook.com ([fe80::13d6:c3f3:2447:6559]) by CY8PR10MB7243.namprd10.prod.outlook.com ([fe80::13d6:c3f3:2447:6559%5]) with mapi id 15.20.6411.017; Thu, 18 May 2023 00:09:31 +0000 From: Mike Christie To: oleg@redhat.com, linux@leemhuis.info, nicolas.dichtel@6wind.com, axboe@kernel.dk, ebiederm@xmission.com, torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, mst@redhat.com, sgarzare@redhat.com, jasowang@redhat.com, stefanha@redhat.com, brauner@kernel.org Cc: Mike Christie Subject: [RFC PATCH 5/8] vhost: Add callback that stops new work and waits on running ones Date: Wed, 17 May 2023 19:09:17 -0500 Message-Id: <20230518000920.191583-6-michael.christie@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230518000920.191583-1-michael.christie@oracle.com> References: <20230518000920.191583-1-michael.christie@oracle.com> X-ClientProxiedBy: DM6PR14CA0044.namprd14.prod.outlook.com (2603:10b6:5:18f::21) To CY8PR10MB7243.namprd10.prod.outlook.com (2603:10b6:930:7c::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY8PR10MB7243:EE_|BLAPR10MB5156:EE_ X-MS-Office365-Filtering-Correlation-Id: f0b4b6bb-ffd0-4f54-8c22-08db5734274a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dyuNM+tMGCkbU7KLYhCSsIDSMiZNt59GCuhUxjptTX/QLvJsph5RXjO46YLBZCSSmObZ2qkaGfWwoZ6vW5yyUUMLRgfKo5y0YPQQLvn+IS7cuzOecRKfIdEXSbmoIp7b8jxnxkbaAXXnv0CL7shvdOh38ZrTjCLByzAfJeRA+L5sTvmhRfKeZc+rTqhwJ9Q1wZlYmJm+5Cm8YYbSbziaubmkEDu8LK68VKUxU7pwGjkumyBW1PB+N+OQTMe6050dvTgP3LoQT9MfMcm6RwnnFRRNjH5JisSJZ4i6TjJF1cUUtXRxHjZ1srC6z+nfXOShI0tpXI7sNQUFcXk2eeB5p5A2rhtA8vI5dy2sgWXY7eXtB+I2NDMyCmKo15bhvTSz/ugUsx4sEB+Q/nLmZZk3mPuA8+NU/vKpCpwGvvy1JH6ffgzN+TK+GDCu5rfhgteThM95nCQIfDYGDs5JnNIs6CyXPWtZZdKqw0VuRAZ1tbouObJeSlDb69fdBaMypAGIjcb5xJYSnHgu5y5zqr5GC/fVpixFHH2O2E2He1y9eaYnc0p7Rk2HMphim2fpaw08bVHXhl4nFqjSgmHmIbYXDH2anGG6ADWS1MOeZCRQpzo= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY8PR10MB7243.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(39860400002)(346002)(376002)(136003)(366004)(451199021)(41300700001)(66946007)(66556008)(66476007)(8676002)(4326008)(921005)(8936002)(7416002)(38100700002)(5660300002)(86362001)(6512007)(26005)(1076003)(6506007)(186003)(6486002)(6666004)(107886003)(36756003)(316002)(2616005)(83380400001)(2906002)(478600001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: XQ1QHFfXn5l5zQWmpTKi1FFE7cgwIkjKK6GrXaxgMO49WVtfq2s+bXrHf2O1HzCB5Hm9CJpnCS03qXsHT+gUELNvu8K3AlEw2m4Hzp2k6Q1dxii/Iln0jFnEDqorjMsiQArx0NjDyvJpidPOHYmtjVaoZuIcYvP5MYhJBdSpGpyx4Tf4TY/jdN9wBT/I6zgmgpSZxf8La8qjLo+XUCtFFbpiqfvxKoEOPNQCy5BLih3aFjXJhyxgBIyM+3uzulLBt70K2if4b2DjZ9g4Od2FXNVlODCfCLYeN61t7dTzrguc+kYksSIXEo3IwTZqqLWp+BwUJ41C5Wg4ufthQaKER2XhSGNMUs54rnYLFaqC0/I1ohzkwaflYQ9zbaGX256Xz90B1Kvnv5uHmTteURi8u8Emr5DvRTBxltZ2lxI4bpj2XnhLuxsC5ocUXeLgeWrJUW25HmW2KnE3yjoUrC9O5PVCRUhid0e9iCmIYVL16G+MKiX1glny1O86lAWCVylgARMrXfmwja5W0ROJdshVaJU1EPgpo3o44LXLdZo54bh50eQ8VrghI0sNMu7u5N1Dd7UfpJb10oGk/ivbsh5ZszHz8JPf19OgC5DqMoPkYRyNVZ7R6rhsLfVQc2iOST/ZFZJfUlPqBjMySx++hJ9RTIHNvy+4YXthCe6ZdOuhnyN654D7S2+4K0ukNBdM8lHxaCQ3xTQORqDkrtPpI/3Py/EhV3oiA6Z9W5uhlaaMmm3DsWM8yW4xqCxMdsI8X2yCw4JY9D1PrMSwnmPBN0NQOZmOMtyax6tjVM4FwKbobTNS5kmHESvvaVFFzUn4MDndo+1EDut2iW0zxqQrLfAwA9TOLHEisYyA0f/pO/PfsSt5FsBh8fSdxy4EVjMFZ/WtYG0lMrOjSdgiz+SiSi2xVzFFr179rq9MDhwOs5VDzjAuZp+Ol5XjyrwdaoqIHFKOfxkonTkVRpBnpEty9aoroOjUXvbLg3uIhBf4psubuKpYA8a4mk1OR1ZwDyooQstx+4u51Rqtep7N7H6Tk/CwtZ2bcnV2vf2FoiAlGEx9rE9gcFknXB89vvOSFBzsgivZI5uL3T4QU6dXC0XRa6B4S2YOV6RS2UUdX+Ax8McE2qgsvSak1l0p4K+c+gDpLunif7K1Bk0movbw3HUW9hat0QheKIpn7tJHEyBumN1vk0DGPofUvlnbp9Vk2xZlNJb/MTf435PfBSwUDJQPPfQCzf6Xs269JZ/+7G2twTIdHaUFyRLLGnuof8ZEXDBgPvB8SJrPpIEQxjHE1p56/5QwTtwNlkKii4JhqA52J5NrqC1P3heUAX1u3iv1Q7mZfwQPuwJTHpyDmlHp0PqkQ0ppj415XjDlP5aMO0bDwiljQkOuywEca6RFD7lkOePmwUk1QLvUwuxnekFvmX3wuNkE9t15Blkhmh7HIZsm1rDHaw7Zpgw8EU6wmCNzAM6wZPbAsEE6L1KmoBFPP7p10lS0s5caIElD1uVPrloUIqf/XN1OHDApErIpXqvncq3bDxmoss4xwpCirjSnMV8kw5jmLHMsQnfRo9Mp8pHhws8C9l12Uk2tSHCgIQdOgPdVLKo7AuDe08X5m6qWSKwiSufGhQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: dNR/RphXE4ecRvtdZeoRV6bDY87DSuFd0xz/K3zM40XwDawVb9jWB7fJlLTTbu8yv377n0CbsCGCCuftkyuANsGCP4UZPEQHv8vlCXqZv5KN9O2AOLUm1J7L26ssOWcchi/t1/2e42x/Ak+Yn+ak1Hq31iuuX8TgThtFkOKxbLlfs/G99Yp6ycFS9zSOpa93XK39ogrMYCQUcdZzWQLVZoL3VcZtk9cNFtzzVZH1h1li9DmX09i8kXh5ZyJxiKHeqDioEwZsRU6HRCVrxS4zVpjjTY8R3aARG84zz8+LNgnBKjaQx+dc+qrhxFV9zVZ1ZFncOfXoq9HzCSK6St8wWTmEk1+Who+eXg3xvIQtIsUDoiOcxxGgaVvtDkC/lQbHIMAuLoll/GFyErAJS9ykE0Lz6D7mZuT23s66M1ke/Sv4S07xLhor9Oyx6sjJrzzLduhEqw0UUY4by5KRXVczsHEjx/uqGFKMo8ptVD67CUgjcan7zCN8gtI8Uxp4ybt0m+aGdr2vwaZeqhIGk6/ouY1hzP7P0so1PcMSEMtkpubihoqVayGUYmjhahaQyJUb5I73wGtFsP5Izm9LLSJXLbuJcU2iutUTeC5twU+elN2nfWfyI3YOH/J2SDGV4XuLzfpiX9Zn73tlkZyT/K0RvcTlkTsoXaCSaLoMbG9x6k+78LcErkRmQS1HTdHozDdhbHxt5fPRsL9TyXfLkH9LLkJlCdO8YsonHLLqCM49gzRTQr67lomnAfnRTi77NtZ6mxJ4nL7dtnW+3Is/cdQcwxSOM0BzB2qgW0mCs6P7+Ep430qbtq6nPK/qCbqB9P3rXKp+5q0LHvqNLyReShUW3URhDr/R/rQp7atkg0aeApJ3eOG/eJoseObFKVLymE90TH1ldDYZFJuD4ivQLNXsyqn2gSh0jQvwRO7HYQJHe2UMTrT2wvCPJUytJughBSprDDRC0YAAXXuJQO2AAZR3Su5Phxr3Cxpn7eSoa2QHZssO7CLnt6UjUVse50lYAjhevqfsK99ccofdAWM0TAstHqanso0GbfWZn/HyKt4pY5uH+lOaQdk0g8dQA0Tuu6bA X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: f0b4b6bb-ffd0-4f54-8c22-08db5734274a X-MS-Exchange-CrossTenant-AuthSource: CY8PR10MB7243.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2023 00:09:31.3453 (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: g+XHmGTvvfqvzSLWoItV5AjcLPuiN624OQXpnrWI7p6z773+PL6afGX1hMB7rZErfELTVjV42hEUnFmRg7Rdx+FCmWDuzBTFn3OHOo36uJc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5156 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-17_04,2023-05-17_02,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 mlxlogscore=962 malwarescore=0 bulkscore=0 adultscore=0 phishscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305170199 X-Proofpoint-GUID: CuQpZX-DTFdwjljR3R8dab2brcU0E4Tr X-Proofpoint-ORIG-GUID: CuQpZX-DTFdwjljR3R8dab2brcU0E4Tr X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1766189049508992426?= X-GMAIL-MSGID: =?utf-8?q?1766189049508992426?= When the vhost_task gets a SIGKILL we want to stop new work from being queued and also wait for and handle completions for running work. For the latter, we still need to use the vhost_task to handle the completing work so we can't just exit right away. But, this has us kick off the stopping and flushing/stopping of the device/vhost_task/worker to the system work queue while the vhost_task handles completions. When all completions are done we will then do vhost_task_stop and we will exit. Signed-off-by: Mike Christie --- drivers/vhost/net.c | 2 +- drivers/vhost/scsi.c | 4 ++-- drivers/vhost/test.c | 3 ++- drivers/vhost/vdpa.c | 2 +- drivers/vhost/vhost.c | 48 ++++++++++++++++++++++++++++++++++++------- drivers/vhost/vhost.h | 10 ++++++++- drivers/vhost/vsock.c | 4 ++-- 7 files changed, 58 insertions(+), 15 deletions(-) diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c index 8557072ff05e..90c25127b3f8 100644 --- a/drivers/vhost/net.c +++ b/drivers/vhost/net.c @@ -1409,7 +1409,7 @@ static int vhost_net_open(struct inode *inode, struct file *f) vhost_dev_init(dev, vqs, VHOST_NET_VQ_MAX, UIO_MAXIOV + VHOST_NET_BATCH, VHOST_NET_PKT_WEIGHT, VHOST_NET_WEIGHT, true, - NULL); + NULL, NULL); vhost_poll_init(n->poll + VHOST_NET_VQ_TX, handle_tx_net, EPOLLOUT, dev); vhost_poll_init(n->poll + VHOST_NET_VQ_RX, handle_rx_net, EPOLLIN, dev); diff --git a/drivers/vhost/scsi.c b/drivers/vhost/scsi.c index bb10fa4bb4f6..40f9135e1a62 100644 --- a/drivers/vhost/scsi.c +++ b/drivers/vhost/scsi.c @@ -1820,8 +1820,8 @@ static int vhost_scsi_open(struct inode *inode, struct file *f) vqs[i] = &vs->vqs[i].vq; vs->vqs[i].vq.handle_kick = vhost_scsi_handle_kick; } - vhost_dev_init(&vs->dev, vqs, nvqs, UIO_MAXIOV, - VHOST_SCSI_WEIGHT, 0, true, NULL); + vhost_dev_init(&vs->dev, vqs, nvqs, UIO_MAXIOV, VHOST_SCSI_WEIGHT, 0, + true, NULL, NULL); vhost_scsi_init_inflight(vs, NULL); diff --git a/drivers/vhost/test.c b/drivers/vhost/test.c index 42c955a5b211..11a2823d7532 100644 --- a/drivers/vhost/test.c +++ b/drivers/vhost/test.c @@ -120,7 +120,8 @@ static int vhost_test_open(struct inode *inode, struct file *f) vqs[VHOST_TEST_VQ] = &n->vqs[VHOST_TEST_VQ]; n->vqs[VHOST_TEST_VQ].handle_kick = handle_vq_kick; vhost_dev_init(dev, vqs, VHOST_TEST_VQ_MAX, UIO_MAXIOV, - VHOST_TEST_PKT_WEIGHT, VHOST_TEST_WEIGHT, true, NULL); + VHOST_TEST_PKT_WEIGHT, VHOST_TEST_WEIGHT, true, NULL, + NULL); f->private_data = n; diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c index 8c1aefc865f0..de9a83ecb70d 100644 --- a/drivers/vhost/vdpa.c +++ b/drivers/vhost/vdpa.c @@ -1279,7 +1279,7 @@ static int vhost_vdpa_open(struct inode *inode, struct file *filep) vqs[i]->handle_kick = handle_vq_kick; } vhost_dev_init(dev, vqs, nvqs, 0, 0, 0, false, - vhost_vdpa_process_iotlb_msg); + vhost_vdpa_process_iotlb_msg, NULL); r = vhost_vdpa_alloc_domain(v); if (r) diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index 1ba9e068b2ab..4163c86db50c 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -336,6 +336,7 @@ static void vhost_vq_reset(struct vhost_dev *dev, static int vhost_worker(void *data) { struct vhost_worker *worker = data; + struct vhost_dev *dev = worker->dev; struct vhost_work *work, *work_next; struct llist_node *node; @@ -352,12 +353,13 @@ static int vhost_worker(void *data) if (!node) { schedule(); /* - * When we get a SIGKILL our release function will - * be called. That will stop new IOs from being queued - * and check for outstanding cmd responses. It will then - * call vhost_task_stop to exit us. + * When we get a SIGKILL we kick off a work to + * run the driver's helper to stop new work and + * handle completions. When they are done they will + * call vhost_task_stop to tell us to exit. */ - vhost_task_get_signal(); + if (vhost_task_get_signal()) + schedule_work(&dev->destroy_worker); } node = llist_reverse_order(node); @@ -376,6 +378,33 @@ static int vhost_worker(void *data) return 0; } +static void __vhost_dev_stop_work(struct vhost_dev *dev) +{ + mutex_lock(&dev->stop_work_mutex); + if (dev->work_stopped) + goto done; + + if (dev->stop_dev_work) + dev->stop_dev_work(dev); + dev->work_stopped = true; +done: + mutex_unlock(&dev->stop_work_mutex); +} + +void vhost_dev_stop_work(struct vhost_dev *dev) +{ + __vhost_dev_stop_work(dev); + flush_work(&dev->destroy_worker); +} +EXPORT_SYMBOL_GPL(vhost_dev_stop_work); + +static void vhost_worker_destroy(struct work_struct *work) +{ + struct vhost_dev *dev = container_of(work, struct vhost_dev, + destroy_worker); + __vhost_dev_stop_work(dev); +} + static void vhost_vq_free_iovecs(struct vhost_virtqueue *vq) { kfree(vq->indirect); @@ -464,7 +493,8 @@ void vhost_dev_init(struct vhost_dev *dev, int iov_limit, int weight, int byte_weight, bool use_worker, int (*msg_handler)(struct vhost_dev *dev, u32 asid, - struct vhost_iotlb_msg *msg)) + struct vhost_iotlb_msg *msg), + void (*stop_dev_work)(struct vhost_dev *dev)) { struct vhost_virtqueue *vq; int i; @@ -472,6 +502,7 @@ void vhost_dev_init(struct vhost_dev *dev, dev->vqs = vqs; dev->nvqs = nvqs; mutex_init(&dev->mutex); + mutex_init(&dev->stop_work_mutex); dev->log_ctx = NULL; dev->umem = NULL; dev->iotlb = NULL; @@ -482,12 +513,14 @@ void vhost_dev_init(struct vhost_dev *dev, dev->byte_weight = byte_weight; dev->use_worker = use_worker; dev->msg_handler = msg_handler; + dev->work_stopped = false; + dev->stop_dev_work = stop_dev_work; + INIT_WORK(&dev->destroy_worker, vhost_worker_destroy); init_waitqueue_head(&dev->wait); INIT_LIST_HEAD(&dev->read_list); INIT_LIST_HEAD(&dev->pending_list); spin_lock_init(&dev->iotlb_lock); - for (i = 0; i < dev->nvqs; ++i) { vq = dev->vqs[i]; vq->log = NULL; @@ -572,6 +605,7 @@ static int vhost_worker_create(struct vhost_dev *dev) if (!worker) return -ENOMEM; + worker->dev = dev; dev->worker = worker; worker->kcov_handle = kcov_common_handle(); init_llist_head(&worker->work_list); diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h index 0308638cdeee..325e5e52c7ae 100644 --- a/drivers/vhost/vhost.h +++ b/drivers/vhost/vhost.h @@ -17,6 +17,7 @@ struct vhost_work; struct vhost_task; +struct vhost_dev; typedef void (*vhost_work_fn_t)(struct vhost_work *work); #define VHOST_WORK_QUEUED 1 @@ -28,6 +29,7 @@ struct vhost_work { struct vhost_worker { struct vhost_task *vtsk; + struct vhost_dev *dev; struct llist_head work_list; u64 kcov_handle; }; @@ -165,8 +167,12 @@ struct vhost_dev { int weight; int byte_weight; bool use_worker; + struct mutex stop_work_mutex; + bool work_stopped; + struct work_struct destroy_worker; int (*msg_handler)(struct vhost_dev *dev, u32 asid, struct vhost_iotlb_msg *msg); + void (*stop_dev_work)(struct vhost_dev *dev); }; bool vhost_exceeds_weight(struct vhost_virtqueue *vq, int pkts, int total_len); @@ -174,7 +180,8 @@ void vhost_dev_init(struct vhost_dev *, struct vhost_virtqueue **vqs, int nvqs, int iov_limit, int weight, int byte_weight, bool use_worker, int (*msg_handler)(struct vhost_dev *dev, u32 asid, - struct vhost_iotlb_msg *msg)); + struct vhost_iotlb_msg *msg), + void (*stop_dev_work)(struct vhost_dev *dev)); long vhost_dev_set_owner(struct vhost_dev *dev); bool vhost_dev_has_owner(struct vhost_dev *dev); long vhost_dev_check_owner(struct vhost_dev *); @@ -182,6 +189,7 @@ struct vhost_iotlb *vhost_dev_reset_owner_prepare(void); void vhost_dev_reset_owner(struct vhost_dev *dev, struct vhost_iotlb *iotlb); void vhost_dev_cleanup(struct vhost_dev *); void vhost_dev_stop(struct vhost_dev *); +void vhost_dev_stop_work(struct vhost_dev *dev); long vhost_dev_ioctl(struct vhost_dev *, unsigned int ioctl, void __user *argp); long vhost_vring_ioctl(struct vhost_dev *d, unsigned int ioctl, void __user *argp); bool vhost_vq_access_ok(struct vhost_virtqueue *vq); diff --git a/drivers/vhost/vsock.c b/drivers/vhost/vsock.c index 6578db78f0ae..1ef53722d494 100644 --- a/drivers/vhost/vsock.c +++ b/drivers/vhost/vsock.c @@ -664,8 +664,8 @@ static int vhost_vsock_dev_open(struct inode *inode, struct file *file) vsock->vqs[VSOCK_VQ_RX].handle_kick = vhost_vsock_handle_rx_kick; vhost_dev_init(&vsock->dev, vqs, ARRAY_SIZE(vsock->vqs), - UIO_MAXIOV, VHOST_VSOCK_PKT_WEIGHT, - VHOST_VSOCK_WEIGHT, true, NULL); + UIO_MAXIOV, VHOST_VSOCK_PKT_WEIGHT, VHOST_VSOCK_WEIGHT, + true, NULL, NULL); file->private_data = vsock; skb_queue_head_init(&vsock->send_pkt_queue); From patchwork Thu May 18 00:09:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Christie X-Patchwork-Id: 95606 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp143263vqo; Wed, 17 May 2023 17:30:23 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ43C+32XFTfbzvpjg7wVr/C1YvSYEyef5XA29TpYxdBbNkBlKKJC14vxeVajBZnlHn3MR+I X-Received: by 2002:a17:903:2349:b0:1ae:35b8:d5ae with SMTP id c9-20020a170903234900b001ae35b8d5aemr342655plh.19.1684369823285; Wed, 17 May 2023 17:30:23 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1684369823; cv=pass; d=google.com; s=arc-20160816; b=bfEDEUwcLAvchuZ5ZZOHYJ4EQlSAXl38fCGO698hWN2m5NfCLhF9Y0SaKFo43/X4OH Azqwu1Y8hNKlE/NUKsgjk0u+Tfn/s3+haXdDik2/mmKkhLJyxfjbjelGyXc/m8LTQOj7 /6aXdw0qc1AZWz+0c72IirI28lbbXDSK36TZGKXr2aVqTXvhT5psdmsLDtKVZV1/LhJG /xG2Fit+52RjHqpfzP6TLoTytzswuDz4SawwzSRE7P/GIaB/PPLcLlSUOzQT8TG31oPf iJ93UHZdOuR24LLccvWGAvctYOqT+WPcq8UVBn1jJxCRghZgDRTjw+rtwYydw6f77+Ob oeqQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=Ct7b/zq/HcUTjPHa77MRmGjGVuU3b+ksAdBoBa1F72s=; b=fg2NwcnsMvkaNg9kysCu8ccaHC4eICHN51S6J5nrYwS/SNbWE8STNaEbyaCIYOPrDr YpsbJx1yzM5yDo5NLISAGEV7AcrEi1IVE+DRdh5w0r6L3ZBrJXzPpByPel1Zp6zMO4jF SPwEUMSjxXx6LRkgNZqXT49KQE7SiFgAxHRmZi0R/L6C0X3H24XHbgAkmZVqHDvd6yiW /VfevqxS0QXah62PEZUpUPyJtuCG8fDNQ/CqoeE+liGXUBMZ7Bl4QL4V/flvXOYmKkOU Prm1pT8j6loKm7J/P7W6iRbIZErExyelY8R0kWFuwzrtYOrMA8WNypvl2+TcPsB2EM0s nSaA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=Vn10kXUg; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=RUKZB14Q; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j5-20020a17090276c500b001adb9d437d8si17439804plt.270.2023.05.17.17.30.06; Wed, 17 May 2023 17:30:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=Vn10kXUg; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=RUKZB14Q; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229599AbjERAK5 (ORCPT + 99 others); Wed, 17 May 2023 20:10:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40536 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229788AbjERAJv (ORCPT ); Wed, 17 May 2023 20:09:51 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 752081BD0 for ; Wed, 17 May 2023 17:09:47 -0700 (PDT) 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 34HIGlXJ018104; Thu, 18 May 2023 00:09:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=Ct7b/zq/HcUTjPHa77MRmGjGVuU3b+ksAdBoBa1F72s=; b=Vn10kXUgNo4WS5Oa5ZNcb2Bs+rHEjKBrNUYqH2RKeo2ArXECdCKG4rZwtkDC/on+lMoU jsVYJ2VFlkj0DQlov4e26VvOGQ4idqfzrIUVH7QnLW6ygM0H+0xpNqXXXdHqA46ssL6O b6og3YsAsdE+6AvA9rHPUbAzjSheIMJogDzrVtvgmz2k5/oZ2FgiTSn1VN+ZhuWXvOFT BCLYeQediqJrw7Tw+trgkStSnKeBkxA6qNDIKaLsU+PFnE6NWs9Ltsq7lE9XYEEwFU/8 0AJT0yu3xIh0/ezSgIcuDOTT7fTPqQmNvQUilyQ7oVZfF3pBYIiM655yl+gpxrcS5qxN nQ== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qj0ye6r3k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 18 May 2023 00:09:35 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34HMnEP8004157; Thu, 18 May 2023 00:09:35 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2172.outbound.protection.outlook.com [104.47.57.172]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qj10cd36w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 18 May 2023 00:09:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=idPUmXpQ+mnTsMQoBwMnIW8/Q6H/i9y9yDWAtYTVH8Qmp09vzWHg9eY24rCXmocAvs4pASj8k51v4ZOXgdrrRlefmu3O+PrOR395AeOm6rdFb9HTz9JstPA/1G0QN+8p7jkyrFEn80VZfn5Hx94pRugpEH5YKe9p2knLMDmPh0xsYkZP92MsUD+Ws4C8HRUNetsd9AH+zGEIqzlwCQJxqdUPB2bthLO/l7rfDlSo4GfS/7m6C08VW6tWAhdyXN3MqtIdxvRz2f2AMZIStV58XpMqW6BJxq52V/4Lt4jLW/imNuo5fByEoW4Bfavv0i8zCUIGzrzgJmrLiVjhKPuB/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Ct7b/zq/HcUTjPHa77MRmGjGVuU3b+ksAdBoBa1F72s=; b=dCo60hjfiLTV3cbH+oEFtJ1+1eXuOjDmOTfe7Pd2kLmsyIgWgI6BHMSwt55U/rXoA7DzCqpI9BNjWfHul8yLBZlcuACRQyrP6fTqpMzkHNPwE/SPaI5Aon1Up9Vk0Ck2w3ul/Zt5rEKxoYTb0YmSecsC7Kn06eA/v5qlxpdvVyp+s+lxtH3BwRHW293tFaquvxzJZUbzp5n45XYGFcV3TH0EVoAhCLuVviypX5rznAWX7gNpMpzWB6M0U+OqXHRQ/baPQll6loVc4ajBfoATLq91xShXaueJ2uzHAYz663imTdV/AN06ifXy5UIVsNiste0qutpMWP8K3Nbuh3Q5uw== 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=Ct7b/zq/HcUTjPHa77MRmGjGVuU3b+ksAdBoBa1F72s=; b=RUKZB14Qri5p1/9vPQEQzpRAe08p9RYUQ/GwTEmtYdFP+a+bFpA2D2An1JOVy0IVBPblWpO3OPLvqP8X9P2GWSKtrGfFwhclKqRWVsnZflC+ula0deTibL1BUraILkBMJnLQHXxhpNq0s7Ojy+RJLKq/lKdXw6cvmSkvX25AnIE= Received: from CY8PR10MB7243.namprd10.prod.outlook.com (2603:10b6:930:7c::10) by BLAPR10MB5156.namprd10.prod.outlook.com (2603:10b6:208:321::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.19; Thu, 18 May 2023 00:09:32 +0000 Received: from CY8PR10MB7243.namprd10.prod.outlook.com ([fe80::13d6:c3f3:2447:6559]) by CY8PR10MB7243.namprd10.prod.outlook.com ([fe80::13d6:c3f3:2447:6559%5]) with mapi id 15.20.6411.017; Thu, 18 May 2023 00:09:32 +0000 From: Mike Christie To: oleg@redhat.com, linux@leemhuis.info, nicolas.dichtel@6wind.com, axboe@kernel.dk, ebiederm@xmission.com, torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, mst@redhat.com, sgarzare@redhat.com, jasowang@redhat.com, stefanha@redhat.com, brauner@kernel.org Cc: Mike Christie Subject: [RFC PATCH 6/8] vhost-scsi: Add callback to stop and wait on works Date: Wed, 17 May 2023 19:09:18 -0500 Message-Id: <20230518000920.191583-7-michael.christie@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230518000920.191583-1-michael.christie@oracle.com> References: <20230518000920.191583-1-michael.christie@oracle.com> X-ClientProxiedBy: DM6PR14CA0044.namprd14.prod.outlook.com (2603:10b6:5:18f::21) To CY8PR10MB7243.namprd10.prod.outlook.com (2603:10b6:930:7c::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY8PR10MB7243:EE_|BLAPR10MB5156:EE_ X-MS-Office365-Filtering-Correlation-Id: c6d04b67-7ec3-4ec6-4f45-08db57342828 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nNG+XSdzpRdh327VVkAfpZjMkDDy6Ku//BALM78mLZkKaaibBskcRlMNFxfg3GBlgfNpPi5YjRt6sL24Gym17ChaCRbCXMkGGHbdx2AWBMeGvOt4+zP2fQMoAdIYX8V05WhWFZCs9oDoMY25Wq/otM496yd4D1yLUg+HEQjmmOajjn6qWFj9wyDW61Bo9gmwENC8iUHrYt8Ts2LnlQ/firM0FwLSGDjsPPSPJ/WXmdM9bv3aZLUL5tAMv3FcaBV213sIK0NFyAIh5/pPKALGnJ+e9Ge4EvnNoWh46lJqdmWS54GbL1pDA7deVCEaRa5Cycck0d05NM/L+gBrJZI1zcDeIpl0ABq6TbpZqLP/DXeGnw/hCSWOgibxnY9b0jIJjqYPvfzTWhOVzUPpmx6LTWx618tCTBwGniTkE04yQP6ZXnDbnfPcNN/ZqO7XuhSb59+wLiKxtjOs6s4GLCYKE+t0CW3LXI4Je4ekHmf0QYtHDhGGRLwLtdI19Km7iaBl3AOMCyEAqkk2CZ8wF9RVkbvXf0yQi1+8UZm+/IkDIzqHFT1nb9HgPpozSD0HfbBKuXOtImPM3k0r5IorSr08f3i6YELyG4GYbwPT6ckE1sM= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY8PR10MB7243.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(39860400002)(346002)(376002)(136003)(366004)(451199021)(41300700001)(66946007)(66556008)(66476007)(8676002)(4326008)(921005)(8936002)(7416002)(38100700002)(5660300002)(86362001)(6512007)(26005)(1076003)(6506007)(186003)(6486002)(6666004)(107886003)(36756003)(316002)(2616005)(83380400001)(2906002)(478600001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: AjXJJwR5YSn7llLK5OpnqBJ9nuuVQN9XJbqMSJeFMRfMsdMKXl3c4CMcMZomMcHMXw9Q/KuI7HYtwjVtwhbAz7IlrRkKJd092JoH+IDJJyKJVIYHgBP/vLeXpG6wdoD+x4CNysFkiADQ/ANCk3sKgxmuMnW1uuQVreK76034KygHigyPSZ92vmdIurWx0YAYxMRPVfADgotnhSYdQ9+BQT2SGNPdH/AZy9fmJ8SJCyGa/5lMALLRF8f+ooxubATCdHImUuYmRNsZbCaFMM9WaOysOLQcM744UBAQblcZ1A+PSaW8wF5PryLrIybGOxoyGLuP5oKm+/rdEIdRFFTyng/iVXltp89TGaV+ojeoRBs3hYYezaD2OGk7vNgwFmgfg7N3vo8qokNEAdvdl5gCYmehUtoCcnrDd9SZbvPanTqiKT32LaTK87RaUDtGuQ5ZohfJjMVqFkToQ9LuqP6hqzzhC/DFftayjnP6S0z4VaSrXqDH9wwNa0Yq+OnwppJ/5pO22Yw9X0uD9dbVHvfaWGEUPFnp7Nvzog/VIbktnq+vQD8KSxuvIy7SV4kTKXpPPGvcngWv8DE5l7VhDrn2nPeTGjiAaWpUrrnZRM1h63SF1Z2XAfa90FjEKvqK/288UqbZeXNUjDCXELwAtJe7krv82619kIgoKz2XvSkiLuzhF68/ScjPo5qH9qAZuFJTcvmCK0Dqmul0uv5c+nNYcJ4tLFSYmATYkzP4BoY4n0Ag5nkSCyOcwU1knv9vHhfw3YIisE918CVzVVYswZ1JaKN3ogDOdkiiFLrqAcB6ZcZtXBxd9RrfKAPBKy9jEkZUfvkw/Oh1t1TzZCG7eLdC+Xu090yAb6WWug2rJeN+de/UqwWELF2NSLLsoXoubw9kM70EIasdV7woPkE3k8r69WtAuTca72euQEp79LjvHEuNJMXxtlHWfe3280kGcezyQO+qYyn2I3sbWsJizWQpyHYU1Pf0cYW3lecBUR5Irb+kte8t/rUjiQ7hn/pej4sLCQQotaI21Enqe66BjsKqdv9jO1pfTdXW67+M2abZS8ZT/0BViD9f138IJN1sUuMtI9PHDMRdMm/md4SGwTdah+3TjavCAD0gvoYG54CLM25que7thNdLv20Hx9pClzA/JulOxvW6sVIjcfiEEV3ZVgzSKTNRdOFV/lik0mnRQG5q4au19yssJdxtzrDTp7TLqFXbPkv+OvnLgllUG+LAR+cok8br2LraL6diLzEVuuxRdL+uzXLMJcV1jW6atgxvNDHXpC/tKOZxfbk7k6wFMJDxLC+/7ankWHCc7cANGunTdonjTzGOHyoMF/WM+Som63fPguM5O3eJHnWZjngMJTL5ehVc954gCVTLK7OznUXw09IQPwhdtvLQGrdgdU27siNA17tkTWjlDEAWS5wip4atoKmC8HQ5Dkyg4ZnmpWUjMXljjZIDh33xMPG2RG0zkz3/sRlbFhwh2P10ZgDbUJ7/nAdTcaplGj+LwqaEmJ/vMiEa5/6G9331JddttiN9u3h4VU/1f8jbiadl/uvW2UH0t/ijppTMH7z9DvmaFxmoB9+B1COXWE7NZKMHevD3RfRStHRUNlVn/2h8mthZZg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: AthHwYTvZOGLwHXFOrti1sAzlNNLr0fjzH9FOu+Bf16K52z4boP+BSo7Zl5QaflZKBHnZbTIq3fLyFU9uuhUDZyZaO/jAaan24wU9DBjDGvoECw2rd+e5ThBkn7TM05FE87YbZ8gspM3quEdJEyO/LJGuMCwOc9UosdGXwAX03fFSoOhFhC0dIsUP79Zm1OcKAUD1xySfiWyVrWGL+VfJvQZrj72P0Fc9IB3xqadNVAe647Vv7/amh8ro2AvuvAo3eron2utoiB+2lvW3hv77Wl1hLbYxQCohEOfa/XyrktwT7euD7epMdpyrYPj2qX85epFd5JAiBvUUaVMjOhtSagF2WOKttPvZO0ixSWObtzOaGTpcVBCZ4O1WYRv5oW6wGAHt+fJijjAIv3eYd5KQl3jjVF8Ihdg1hV3K00z+g9A8ZRZFQEFw/sbXtqWvuSWEEknvmuOnn4L2zZSbuCIToF96rnMep5g5ltKvsp9QE7YDnyDwsj6oj3y/GRzpbVGuP86LZCb0W/D35o4RwsUmXXDl64dgToXSLmZeH5MaWy2Kf9hvVG71s28HDFsPsjHb2+mH+CSivr5aqeCZknt6LDNISB28PpCbj4djDUVrNJIEUUyw352tKoAiZVm/eJq6VXwExFkjfyWWUEYQ7fnnveHcw8xDr2cAhfRwOM0gheHkUfJJ+3YvnUEW1uHMzuXPMzunLtswbD8Qp7jvoUzrTNKFyRjLXjVSSNQvlwzJvHNr6lLjyXsLYLBYDUq0sGwahhaKlm1dX4ThqJVJMoH7Oj+Pm/7I4mHUnCkORH8OMZpV5G4mcT9KnInHKAoCsMHSER4pzVR8PR9aVB9TBGBpTGdKWl5BrG9V06nqB/tAq5s0sELtk4O0y1apAYqghZUHLQaMpkyWropvjmcAe8pFbzWku8s1q6TmlCPgjoJ4BbC5wPkE/f/m5R0UdUbHcjZR5YOm3INr70KhciA2RUK0cVJz97uBCR4tZgmAzl44nviqk4dql5hj1gK9CStvDbfrIWqXYNHSn2GpVmWgpbb27DaF7yTWY7sHPkiSj4/gRCHiedgOmiuXqMctdI2FcFu X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: c6d04b67-7ec3-4ec6-4f45-08db57342828 X-MS-Exchange-CrossTenant-AuthSource: CY8PR10MB7243.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2023 00:09:32.7938 (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: QeJZLo96B2MosE28lJ2cnaThbdhNjK0mK+KH/XVkc5TXjn6/j/aA1YQTjpns5CCrfiaUC1V1fOf2V4fsCAWRb7feuCvp+1WqNP/QC6+7Ics= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5156 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-17_04,2023-05-17_02,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 mlxlogscore=999 malwarescore=0 bulkscore=0 adultscore=0 phishscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305170199 X-Proofpoint-ORIG-GUID: vJG_C5nVu5fsW-Yt6h405gqaWtBrznDP X-Proofpoint-GUID: vJG_C5nVu5fsW-Yt6h405gqaWtBrznDP X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1766189771853182389?= X-GMAIL-MSGID: =?utf-8?q?1766189771853182389?= This moves the scsi code we use to stop new works from being queued and wait on running works to a helper which is used by the vhost layer when the vhost_task is being killed by a SIGKILL. Signed-off-by: Mike Christie --- drivers/vhost/scsi.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/drivers/vhost/scsi.c b/drivers/vhost/scsi.c index 40f9135e1a62..a0f2588270f2 100644 --- a/drivers/vhost/scsi.c +++ b/drivers/vhost/scsi.c @@ -1768,6 +1768,19 @@ static int vhost_scsi_set_features(struct vhost_scsi *vs, u64 features) return 0; } +static void vhost_scsi_stop_dev_work(struct vhost_dev *dev) +{ + struct vhost_scsi *vs = container_of(dev, struct vhost_scsi, dev); + struct vhost_scsi_target t; + + mutex_lock(&vs->dev.mutex); + memcpy(t.vhost_wwpn, vs->vs_vhost_wwpn, sizeof(t.vhost_wwpn)); + mutex_unlock(&vs->dev.mutex); + vhost_scsi_clear_endpoint(vs, &t); + vhost_dev_stop(&vs->dev); + vhost_dev_cleanup(&vs->dev); +} + static int vhost_scsi_open(struct inode *inode, struct file *f) { struct vhost_scsi *vs; @@ -1821,7 +1834,7 @@ static int vhost_scsi_open(struct inode *inode, struct file *f) vs->vqs[i].vq.handle_kick = vhost_scsi_handle_kick; } vhost_dev_init(&vs->dev, vqs, nvqs, UIO_MAXIOV, VHOST_SCSI_WEIGHT, 0, - true, NULL, NULL); + true, NULL, vhost_scsi_stop_dev_work); vhost_scsi_init_inflight(vs, NULL); @@ -1843,14 +1856,8 @@ static int vhost_scsi_open(struct inode *inode, struct file *f) static int vhost_scsi_release(struct inode *inode, struct file *f) { struct vhost_scsi *vs = f->private_data; - struct vhost_scsi_target t; - mutex_lock(&vs->dev.mutex); - memcpy(t.vhost_wwpn, vs->vs_vhost_wwpn, sizeof(t.vhost_wwpn)); - mutex_unlock(&vs->dev.mutex); - vhost_scsi_clear_endpoint(vs, &t); - vhost_dev_stop(&vs->dev); - vhost_dev_cleanup(&vs->dev); + vhost_dev_stop_work(&vs->dev); kfree(vs->dev.vqs); kfree(vs->vqs); kfree(vs->old_inflight); From patchwork Thu May 18 00:09:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Christie X-Patchwork-Id: 95605 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp141697vqo; Wed, 17 May 2023 17:26:26 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6+3RU4mT8HUOSjo+sx+z49cZRuIwvMiwlkgMQuRLFji8Zn6PhkCCrbl+SheKF87WF97iJ/ X-Received: by 2002:a17:90a:f311:b0:253:45e5:af58 with SMTP id ca17-20020a17090af31100b0025345e5af58mr706776pjb.17.1684369586571; Wed, 17 May 2023 17:26:26 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1684369586; cv=pass; d=google.com; s=arc-20160816; b=Qxl4a+Ay8+CEUc/jF8FUBb4k5BWEwqk3ym/ETbxJvt4cXcDZGJzSH96QB+RI7LNno7 Dkybn8iYc5rpcAmGOqWiunTAOVak4ggB7bRFtXL2sHkCEGYV9lPCYxK0wc+MGn/ResdR Sd5sjO0EQj63d9XNaEgciTfKUsYXfleVnE3lDOh2BywOTcLcPBLfyi28LlUBSWEO0xpp By9v94ZOFcXWoJvlVUoXZutVl9RyoZFyecgxLRSlpK+Yq7B89f03g6I6FAlPwKwV1NVZ wcMua0qUHfuZLVbqmmZuVdjLeXFBybOdDnf0F/iXVlCPasKyQYkE3NPKCfXUJh44SzCM /K9g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=65NAKhAZazjSXDH16xLwiVEclPupW8833e1/Sa9H//w=; b=j2kOSgDYwYIHFqqZ4IEcIRDMhvV7Wo1bDmxKyJ/YQe/wGyA24F1blKo0RiPIGbI0Jn YAAU0pb9DH05EvNky44bV9iyLRK1+xfO0+1zt0T/cZZfSBtTuXTm7N7dCP8Dq4ir09ii 1gY1xqACFoo7KPPysQJW9BODARttpyDzu/3KGwFIphNxXs/ecKI9sOUZIC/9m7wiS1YL tjYDMWcAsxACkDJoNR6Rb+jBZe/IcW2HYEslrb5SIMnuIPV49ZTlRJtyKaLp3aJD//h6 2nbMMSc1tqBsEaSvUfT3ACW27JoMhaDWY3UhXnql1hSoYhTb8uv3gIQ1KY5PT9UVfc48 /xAQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=geEHUYYL; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Rmf58F86; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bs65-20020a632844000000b005139e0d2b5csi53478pgb.487.2023.05.17.17.26.13; Wed, 17 May 2023 17:26:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=geEHUYYL; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Rmf58F86; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229529AbjERAKE (ORCPT + 99 others); Wed, 17 May 2023 20:10:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40540 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229801AbjERAJx (ORCPT ); Wed, 17 May 2023 20:09:53 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 502E340C7 for ; Wed, 17 May 2023 17:09:49 -0700 (PDT) Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34HIGsu3002441; Thu, 18 May 2023 00:09:37 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=65NAKhAZazjSXDH16xLwiVEclPupW8833e1/Sa9H//w=; b=geEHUYYLqi68ghCM4ofmVN27LmhDF2SHkMEbZoNFIfwJjbmB+CkxYwDUQYgKWf3TTLwP dsn8DfDM2yiYrZQtKGobkb2GfgWSD/CSYt6u3bQP4zRTLuaXxG5Dr7jZr/0nzfinuM+u 1cSWzlRr1ygqOuRcZ/x40M/hBtZKmfuP45Ae0m+NnUoG6CRasWIdSQXiD2V7nfJEHBJe SsKdF8ycMHRo2Ho9fFcyW2ExlhjG+2lA1ZKnBRUh7t2K+ToU9KximvCCwR3/MlyjsGyR wyRk/n0bG5usuZXqTDh+l7sOtEPEKGLBEUNYkz6zPFyY0e/w7u94nUpD1wnNBRqduO2+ bg== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qmxps1drh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 18 May 2023 00:09:37 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34HMFhSG032130; Thu, 18 May 2023 00:09:36 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2169.outbound.protection.outlook.com [104.47.57.169]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qj10c4kxy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 18 May 2023 00:09:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iTIQiAvrB2Im+ZY1Z9msBLCHHPiP7Fse+vqXYgnCMFZNeQRzPtSAQprWSYaWRI1P9CFST/B014MvBBeZ2QBOKnnxl0avsxw2gbUF/bMiA7DwEfUVJFWeyGdEaWehEjJ+UEGy1YDQSWoNFMSmHUOlZFifI67liyFInj1cy9VHHn3R9+dbQDD+zR7Dd2cO/IevfLvHLX1b02mNl3LpeDgIfpodOpwSjHCCfKfuFolj23ey7U4n/ebEOA2LlyGjgnuhkwcUvqrK6inr28+u9t+iQ285clyhtPjkHzuGnQ6Y7Lc1L9JTIs7Jmtqe6X87x78cMbVyEKV6EgqnATT0fjeKTg== 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=65NAKhAZazjSXDH16xLwiVEclPupW8833e1/Sa9H//w=; b=WaEJ5+96VhiTEbhiXRkhE0/ibIFrOkzZ38IgnRryTyY6sPQeBhaWPjtQPAurZPG+M/BT1FiJiet16nMcl+p2ThMm8PWn06EKSVPQdY8WrpYsNyjlxdJSax2+8Lh7fb/k/1qT1FTM5FmHh4yw6CIuPGcenuxkfiw99N4drLiprdjV2JILP6ySG52bgQtmCE4rv0aOMmfzqYyLyFM5QJaFPv76krpD/HWLunumhnK8wmUfpQz0RpsQfPLrcss65SNqU3p3NBAPjp7tUdeZRshQIltRIjyvjmI+fdU8eI/Wlg5S7+cS03wISr5DV68H4OSQm78URpmfeNoftLw36kWwzw== 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=65NAKhAZazjSXDH16xLwiVEclPupW8833e1/Sa9H//w=; b=Rmf58F86nNpzSa5sZ0PGqHYBhXzPD0Js28O92nYtDvQccLq2q8dlf+byDnnXVaGiHU+sLaBX5itMYBzq75LDihISFVZ+O8IsPL/l3FR0TgEkdhCj+/82tyi6sbUmBhyyU3ZhwlE1SYzKnlgZTkMon5ZjmhDUbNilP3aWwoDXN6o= Received: from CY8PR10MB7243.namprd10.prod.outlook.com (2603:10b6:930:7c::10) by BLAPR10MB5156.namprd10.prod.outlook.com (2603:10b6:208:321::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.19; Thu, 18 May 2023 00:09:34 +0000 Received: from CY8PR10MB7243.namprd10.prod.outlook.com ([fe80::13d6:c3f3:2447:6559]) by CY8PR10MB7243.namprd10.prod.outlook.com ([fe80::13d6:c3f3:2447:6559%5]) with mapi id 15.20.6411.017; Thu, 18 May 2023 00:09:34 +0000 From: Mike Christie To: oleg@redhat.com, linux@leemhuis.info, nicolas.dichtel@6wind.com, axboe@kernel.dk, ebiederm@xmission.com, torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, mst@redhat.com, sgarzare@redhat.com, jasowang@redhat.com, stefanha@redhat.com, brauner@kernel.org Cc: Mike Christie Subject: [RFC PATCH 7/8] vhost-net: Add callback to stop and wait on works Date: Wed, 17 May 2023 19:09:19 -0500 Message-Id: <20230518000920.191583-8-michael.christie@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230518000920.191583-1-michael.christie@oracle.com> References: <20230518000920.191583-1-michael.christie@oracle.com> X-ClientProxiedBy: DM6PR14CA0042.namprd14.prod.outlook.com (2603:10b6:5:18f::19) To CY8PR10MB7243.namprd10.prod.outlook.com (2603:10b6:930:7c::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY8PR10MB7243:EE_|BLAPR10MB5156:EE_ X-MS-Office365-Filtering-Correlation-Id: 4d327fbc-f245-4cda-d749-08db5734290a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ii2PCUsu9zc9pzmstZdlau4MYT69vNlUAS1F1Br+qaGjQENFRqu1MZV3gB3AoiWLVk9sEmQWOQhTNefJ9c0ezI8TjIBAXGd78o8W2XTgtqbPUURCbCZAYfX1svgbsdGZRu7HhQji+CLpJsmYLqWz7iDSV/CK6qNiWJgXUh5xsR9cvtjhCF8FrRYDFbMSAPo4dufeUwOaGMX+weC97GKAHqMtPwn4fP+j4XAiyl8vPSrqqhOyqB3l73nFEKODDRAyCJ+SAkePAXqlqKsgzJetPi+F+fUzSP48J9jAl9hk6RctBY2aeY/t7I3yYbdeguMpLyWjVTvxaPWVJQlLauHVuPirGKnCIbZAajexrVrpj0/fx8aJl0w1RYTEUHq0GNAT5szvnfFr7A+hQ1naOt+8QyBjepPiC5hSPB4dgfnRUFPgZ8Kh80k+Upy90OeSG40DAA8PQGshRE0ANTMj5vdi3TtgX15aYirupU7Isj4Uxw8L8XexYYCFRxbpGof6RJWflyRExjTVGSq5Sx4lKsn+q212D41vyzzeZlvlzFBzRIKdlignrWV5lOlTRQrfXTT+ZwLCnsHrYa702GTzed52zcFKljEBSS4gXFKi5dYrvdQ= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY8PR10MB7243.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(39860400002)(346002)(376002)(136003)(366004)(451199021)(41300700001)(66946007)(66556008)(66476007)(8676002)(4326008)(921005)(8936002)(7416002)(38100700002)(5660300002)(86362001)(6512007)(26005)(1076003)(6506007)(186003)(6486002)(6666004)(107886003)(36756003)(316002)(2616005)(83380400001)(2906002)(478600001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: LcwC5F4i0aL4EmT/ROgrfC7BDquSOquXnplUQo2VLJIsQb5zZ3zlpQ6oaxtbRy/MnshQDkVJOTTmsIKANPkJWuTwyUpWSsMAPs4WzFu/aBDBRYJ7UY6rHO54FeMabRSzudo5yFTSQ+a0fvwckw/JcezU6Oa0u58YRmdxtp65Y6rnUfqtJ9v4lQi52ne8ilLXEus68LI09vl6Bx+Zn7Pz4pMNrVgZ09vj4cagTtUZInnwAGL8s9lTP3FEsOHQrWXfpTBHcsGcSlkQl47o+Lr+IVsqaCycx5EPoKPfJVCxyQTmUzJ1RaIGYX8EXqp6snwUQqc7LcPdfUMFh/VOSUDbWo+zOd9Lsv5VsZO65Qpw+G1h+V2eRiEvmSuaZ7rbkbu9XpM4frE/rqcJEgqU3/ibqdJWauEzUBSDyFqy7D0igmWJ6Mej2dz/iSB5tXkxtv8sPurWr79yi7+jBd6a/wKSDC+eaGNjoBKOHc9KaVX4DMtDYAW04egbe5U398V4Kc1lygD+yqxq9gi4vOdok6ilShMQk1iP3+6MyJvf2Arr/PZm5N39C3KJZTzl40R9/GQbNxf4YsGq0Mi4y3I0KQm9KJeovYSBVgoMx7UqOtPc52T3FJeMVegsoV7GD/tJ+McuYSM95+CNqAwScW9/FXbHS29crRzDzJgcm22JqGCBlavKB8LQvkMpUNWJ8Zvuv87hU4gYZpxcda30kukP7E6NQO9Hg3UobrXYAWENMjlM3kjMPQ+UP/3d//IW9xgXvQKFVjSsA6DIyMvgM8NkdijEoPKKNmhiHemgbwBKyTK1UGT4HCZR8yjIUcsFZWim9YNU2Vmz0iwkUo0PgHHmgUyIa0phLpozK6+5iiYEjpLtR3HKtmFSy37O7guYGLIYvxPoh7zq6qCH7NIi+P/4oBlTJ2cAITmN0wkdhe+EG3LSX5UUHojD1EI6iWLJdntvqi/0ax3KClTvt75Wq6UAnqiR6Fhgo2CUDaEa84fX0WKP9JrURm0hTAJ3STJ4XXMpir/E4DIXJi1NBPPjmnot8nOHqvq9Y/QwSoBteAi2E/H66SOV9nv0NWHKH12cEzBbZLKUoNN5VNiM0Cywb5L7Dreoh9vXSN1O91Wo7p+LBRk0ymk5rgjghBvmbx7doMuVCqDmSoqC06G4JXAeJIsxixVhs/BnKb8Y/imLTDleV7i5NomlvI+HcqaiB7XH4S177a0ED2gABlpyLWx/ROq5l3VTlyl53VQiQnwSfDk5WjlnoB9fE2sUtra9laipu4Y44sHqi8wzkxVR/TDCrRJSXMB8/+R1galql4UGf+DQMiEid6M6Is+BJWAmbnF0BDOH2emVJ8wJHqT9otBvlJRFBd6KXgph0GmeyZzDnsLEqNXQbIdcrCXL/2WlIgmy5E4eWiBmjz5eJW0qyfkhAXOgAf4ENa+dukWtaMudHSfXg+bTPqnkWA/VVtpGQtOAkgKCDGkDooD6Yrci3bTy0vU4dJBIkyI9qjkP90FLrrCk0+X3+68NH45cj7wmTY9TTAoeVVec0AG0nWNXVEAc/ZzKTbq7s+F6UdPhKJ7SPIdDyoZ4hJ4t5nJ/mRpGVtHFL2GUIT3F8tNV9AY1csjo8Zwe7RgGzQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: holUjMP8kuZThqZvh61WyAT+eFAwm18LO8e92cIU7t55CBOsDG8z7YCwW/lYDqYlgoyuKpGEkJ+8VdldvHqk4ueXVyW9K3TndBMBaeKt8Nkx0lEDD9thCAL0+wjnSLmGzoquEN8QFkbXLOmDHi9ClVq3DUKiGnjol73YQXjhOfDjEfqFZoHOomelwSRKc9/ZLJN/YL5woicGtJUMcSs0oDVZ8K8Rw5oWMoBUnICAenFrcAXRrmgcWfJjjeB+VhhlgGzUuaJneCLTgz6sRNTUZhY3uG1llLNbn4VvKY8p5QTPGLMy5hsQ0WRdqkiN9xKXj9M/9hVgZz+D7CxG0g7HSj14hyKlLUzB42KpHn/v9iqFe1i0+DeB6Nkrtl6v6TZcCUxZGvmwCabO+ClXpF9F3Gas4lAdK1z+7q5eWqlh0+59QycKfHaSguK2vKj003T6AjNhsgbWEHoFVOixUpPxsXdaM0vHzvIoelVdwN8wyAoTmQwbhz+EARL8rklecTHDsGgtKLfiGIdsKciKsNiPvnCirhOxO+d4MMwhSf0L0Z+PydqiCNGNSWHBPUkz/TRDuiY3/wduNUawbrObpjpug9i+hC856XdLqgtNOlbI38Fv60BBtB4l7Fsk0qV+gDbgfO5JxZgTGEkUaSTQT9ewuLljnA9dIi8U54Uz6IZlRS+CNfAZjTe4eaHJE/fMT7tJWy4aCbGE6TOC2pnmpzEoSs88bxrv3WVjyjKlLMpQ3U+mPjeexm5c0tb/I6bCjx4SdubD/Usv5kbJuU7HJFDN0NNMAl1TGuL4FpPnN2PNjVZDig5X58qUYKHBaRaOwmZIDCtkosjIF4rt8hdupeSYF5Oz4f0XHYMoRyxvBZowZuEtv+XCQhe9ot2Z0FG1ackuc8A8AR8iASMNkHIsBOn0S1Kkg1CYUqkyOWnwQBmSJ3vSSWWmwSXy83ihU7gEBaj1qfc8XXir7mngv0rdq1lqpxpUQavNONmw5X/B8qZKWnAc5neAyVEchLwi4R02pXv41YuN4b7C6pDt4GGuXgZBunHywWcA8ZYs5EysRTqA+9QlLXHKNolI20b6+0ifsfh4 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4d327fbc-f245-4cda-d749-08db5734290a X-MS-Exchange-CrossTenant-AuthSource: CY8PR10MB7243.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2023 00:09:34.2766 (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: Qco2dMTyGfy3Q4E1sH0GaJmj8r3k9pRgpgENYt4NAA/hCEU+mmY/xX3ySAhfSHqJ5VVjQG5KfkBRlA4GgIGf2GWD7uEnxjrdAM+UezqRDxk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5156 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-17_04,2023-05-17_02,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 malwarescore=0 mlxscore=0 spamscore=0 bulkscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305170199 X-Proofpoint-GUID: 8arPQ2tNYsJCjPTQ4ZsiCXWBUkGyFKIP X-Proofpoint-ORIG-GUID: 8arPQ2tNYsJCjPTQ4ZsiCXWBUkGyFKIP X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1766189523570053226?= X-GMAIL-MSGID: =?utf-8?q?1766189523570053226?= This moves the net code we use to stop new works from being queued and wait on running works to a helper which is used by the vhost layer when the vhost_task is being killed by a SIGKILL. Signed-off-by: Mike Christie --- drivers/vhost/net.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c index 90c25127b3f8..f8a5527b15ba 100644 --- a/drivers/vhost/net.c +++ b/drivers/vhost/net.c @@ -1325,9 +1325,9 @@ static void vhost_net_flush(struct vhost_net *n) } } -static int vhost_net_release(struct inode *inode, struct file *f) +static void vhost_net_stop_dev_work(struct vhost_dev *dev) { - struct vhost_net *n = f->private_data; + struct vhost_net *n = container_of(dev, struct vhost_net, dev); struct socket *tx_sock; struct socket *rx_sock; @@ -1345,6 +1345,13 @@ static int vhost_net_release(struct inode *inode, struct file *f) /* We do an extra flush before freeing memory, * since jobs can re-queue themselves. */ vhost_net_flush(n); +} + +static int vhost_net_release(struct inode *inode, struct file *f) +{ + struct vhost_net *n = f->private_data; + + vhost_dev_stop_work(&n->dev); kfree(n->vqs[VHOST_NET_VQ_RX].rxq.queue); kfree(n->vqs[VHOST_NET_VQ_TX].xdp); kfree(n->dev.vqs); @@ -1409,7 +1416,7 @@ static int vhost_net_open(struct inode *inode, struct file *f) vhost_dev_init(dev, vqs, VHOST_NET_VQ_MAX, UIO_MAXIOV + VHOST_NET_BATCH, VHOST_NET_PKT_WEIGHT, VHOST_NET_WEIGHT, true, - NULL, NULL); + NULL, vhost_net_stop_dev_work); vhost_poll_init(n->poll + VHOST_NET_VQ_TX, handle_tx_net, EPOLLOUT, dev); vhost_poll_init(n->poll + VHOST_NET_VQ_RX, handle_rx_net, EPOLLIN, dev); From patchwork Thu May 18 00:09:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Christie X-Patchwork-Id: 95608 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp149436vqo; Wed, 17 May 2023 17:45:13 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ729PuTqiRpH/E3wszKXvb+lhAGrPBHibTyNPOnNEn/Y7pTb9qEQKcw5TzLdIxYe7qrHwZm X-Received: by 2002:a05:6a21:3385:b0:105:f40f:c234 with SMTP id yy5-20020a056a21338500b00105f40fc234mr184481pzb.17.1684370713419; Wed, 17 May 2023 17:45:13 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1684370713; cv=pass; d=google.com; s=arc-20160816; b=qSPhGvOed9ilAkZqS6uGMSwdlB0CNvYoPQuKWj/zoTdN3NdQFh/lHwiH5ZysCJXaIk X/U/Yhz/oX6cE1lLTp0ABOWQJMLrsbKsEncPk3vmFBV/U27aI0ShZlPFUvF/8cyBQiqC e6uf4POkBwALwacIaSp9oNUSmcoC3sigWBbGPGUTGBMV7qesAPcJkqwvuyOlQwaxOJsA y9MyxLSUlCaNK/WtfkWPCanw6IzIOklvBS8ody8bo0KKmGIslKxBap0mdqrfu+nnTKUG Nao8xXyBEOCNgsmJWVwkP1fv88NR4QgfseJNdyzBriIW3SLAl/IcrI8O6FeKRlfwQwGV qCwA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=NpiRsYk/WVyL1MAgfhcsMc2U/nG94wl1D/9QUkMWqH4=; b=lqRfUvbzxoKeXBHLTezlVwKsgtkQeyU+2oft6CgUez3Xy97NNktSNha7bf1B4iCb6F RkwjLdCnMGHWyHzf2vZsHzQOJzdwJMGCYGnEVL6YIdouWDjusLRmWMe/LskJi2Lm25yV llWJdZSmB8miXNhfPZ5iiofPafydRDBZViu1UWHcNiTusNPLgbG4Uh4ZbgLjxKMLV3ms gyZ8jxjQxwi+9nTqdDe1P5CCcEgQzjxq/tDnwsNtRpJd5qFeTTgN7mgFvs9BJkeHktFm QUPyUbPmG8M66wUErEVtOxWxgbP3Wfz+sotY2/MFD4JPC3qS3ZDJgxeJ8wMVsnLTLzr+ KUKw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=ETF9Ciji; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Cp0IGksb; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p11-20020a63950b000000b00513f070aaa1si52622pgd.892.2023.05.17.17.44.58; Wed, 17 May 2023 17:45:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=ETF9Ciji; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Cp0IGksb; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229681AbjERAKA (ORCPT + 99 others); Wed, 17 May 2023 20:10:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40534 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229780AbjERAJv (ORCPT ); Wed, 17 May 2023 20:09:51 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5546B40D9 for ; Wed, 17 May 2023 17:09:50 -0700 (PDT) Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34HIGsfM002447; Thu, 18 May 2023 00:09:38 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=NpiRsYk/WVyL1MAgfhcsMc2U/nG94wl1D/9QUkMWqH4=; b=ETF9CijihNG3XBPCfFnq4Do27eCNbmGPp1rBOAD0cQ68nE/D3kddsWrcAcl9wXB3Fbjw AoTrmjIBlp2c3uV05oCS6XdO2W8ES2/XFMO253aUDc+LmiNgfd5pk81KuosTQE+Wn+Um v41KTyV+1tI0dVM8uQmkr/JvD9l8T9bFGw5mODG8uwd3K5mnr2ggWDV0HsIu9GeD5rLc 25nnXMZaOJGWo9t0G/hIhaGNXvC9MnM2vp2TtW6qmHfmA6wXiJ9Hnwp6CrrJQoprt0q2 YJ5LyUf/SZj2mN0JKs61xA+tGB+XXY/KpH4IwIrdq4VDcJ1M1eeXmv/+8Is3tN0iX0w1 3A== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3qmxps1drk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 18 May 2023 00:09:38 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 34HLYXOx036173; Thu, 18 May 2023 00:09:38 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2171.outbound.protection.outlook.com [104.47.57.171]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3qmm033xr6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 18 May 2023 00:09:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nSO1fH/PTjL71bIML/xehe6BpZV8v1RY17nqSyDxpiGM6BNMCq2Kam4/HZ5E9CKHP3iwAtrOGRvm+OMAb5Ju7GUM8IVsMXLHjmvGLVomt8iveLkK0uy2/cXpibD1T3JnEQznFmilY1BtexXeq8HoXc11/fShydQCXR+MV9e4EUHuqMW3Ti7cahAMvtrY5RYDfBwX36Tf89jgb3MKw0Hz5UK/Am/Dh5j4A1QwKR6Qk+U6ljlfg5mXfzVnljVCldK/tRWl06cRhUjXUNRnLY3rvgZJ+xRya4PJxBzNQA7Iz2BszCHI7/yW2Q205RW+5njKURacfuUd7XyNMbgyFIv0zg== 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=NpiRsYk/WVyL1MAgfhcsMc2U/nG94wl1D/9QUkMWqH4=; b=nS9v3PbW/Iy7ArKjSgE6BBI9PgoZQjtHM1FinW6s8OAMd0q5n2WPyW7D8GG8uaf7LQBUNgdSPuNBUa6rTWZUZbS3HwPWFixTsTnxDBQmCzMN4qv7kqT9wWQQwK2C2VeVwfWu94UoQ5J7bHGr9sqmWmhOTSSgB1j5aC090ZJ5PAUSccbP+WlgV32sYyXibc0Y4/S85ky5WlQi+I3y5BrUxA+I/2G2GL4+/a8wcCy5RjhcjoWaSNwWMraS8NvLQSbS0Kf/2KeRQ9JKmD3pyCtZzpbdek5zP0MO4U5epfBEDLJz9ABNSODMnAua4mdl6RBEw3jFAi0/3hbkYkHMKZnbHA== 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=NpiRsYk/WVyL1MAgfhcsMc2U/nG94wl1D/9QUkMWqH4=; b=Cp0IGksb1BuZwJQzbbIJuogQjk6NEx/eutOPWnAzXH1kAPDA41edbdVC3NSFU2H8PhDWNmLGDM1WiV20k5qtYcwAkpdwMELqeOaY9F/6cjMFSRCBvtgfW7l6ITHjgM0bQsBBSWqRR8h/JqrSeP6/FzId9VEs0UGbE3CQsbnRl5Q= Received: from CY8PR10MB7243.namprd10.prod.outlook.com (2603:10b6:930:7c::10) by BLAPR10MB5156.namprd10.prod.outlook.com (2603:10b6:208:321::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.19; Thu, 18 May 2023 00:09:36 +0000 Received: from CY8PR10MB7243.namprd10.prod.outlook.com ([fe80::13d6:c3f3:2447:6559]) by CY8PR10MB7243.namprd10.prod.outlook.com ([fe80::13d6:c3f3:2447:6559%5]) with mapi id 15.20.6411.017; Thu, 18 May 2023 00:09:36 +0000 From: Mike Christie To: oleg@redhat.com, linux@leemhuis.info, nicolas.dichtel@6wind.com, axboe@kernel.dk, ebiederm@xmission.com, torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, mst@redhat.com, sgarzare@redhat.com, jasowang@redhat.com, stefanha@redhat.com, brauner@kernel.org Cc: Mike Christie Subject: [RFC PATCH 8/8] fork/vhost_task: remove no_files Date: Wed, 17 May 2023 19:09:20 -0500 Message-Id: <20230518000920.191583-9-michael.christie@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230518000920.191583-1-michael.christie@oracle.com> References: <20230518000920.191583-1-michael.christie@oracle.com> X-ClientProxiedBy: DM6PR14CA0048.namprd14.prod.outlook.com (2603:10b6:5:18f::25) To CY8PR10MB7243.namprd10.prod.outlook.com (2603:10b6:930:7c::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY8PR10MB7243:EE_|BLAPR10MB5156:EE_ X-MS-Office365-Filtering-Correlation-Id: 6b697f35-e7d0-4a80-4b59-08db57342a18 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9E7l6FNcG0xmMtJ+qP8cKWFYk0IUeHCNNDWXdjU75ZrCUBNUu74vgM3grvYUvk8RLMwUjF78wV7tg4U6oyPte7QFvES9ubU1KahJDB/xLHDetaxNhC6NJt+zsRO9IQP3F0ZFpRj2KI2I3MTvQqIpk4/B7iz0WJIstEwMnhyu69tXwGWSp6V26ZN+QUMvWouxK11x5FiCsbanGxCdi7NMoyKwyXOuAbwEyLXm38ZIUgnc4eYKZqlZwsljiQPS3yYVcER3yJKHTs1LIZZbjvIzGvBEhK1hn58lQWet4L2pzyHkn4IuXe62NZCBtLoIuZHiOAY4NVoZgA84qWmR+JnowiS1LteaiWsX7a/nQ/uO9DkrgDWqqHtOYZCRHyob7kEShwSPmhT1E4uVhKwX7iF3PA8aTiqBu5NDudkGZxpoZpWVLX8BhM/SochZ6rYdmQ2xoHS4VGBMG8KZMvm+Z8+hGsTZq5Jbpgn+OozKnRgsNnk+v6ZuxAqLWVp6SeoRxItRbqQrxoJa6E5i/wjzxDeslXB7XBsURS9lhlz4ERSVET6dOy4BgcgsK/G9mGWw1tP6g7sVq+VMSpXi1yZBlI8YeyY9renUMeGy3Fs9F6Rf/04= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY8PR10MB7243.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(39860400002)(346002)(376002)(136003)(366004)(451199021)(41300700001)(66946007)(66556008)(66476007)(8676002)(4326008)(921005)(8936002)(7416002)(38100700002)(5660300002)(86362001)(6512007)(26005)(1076003)(6506007)(186003)(6486002)(6666004)(107886003)(36756003)(316002)(2616005)(83380400001)(2906002)(478600001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: fmM2Y/QXj9e9bghc/Yu+THCGteg7e0Mtw65Wira50GCpCR1vPSnv4V7/ixIKrRmIUCeIQjXeLun7qIpOx+FN+WE5etossCT8iPdkPvMC1x8SiCp+IPBrXmdfeKgz7Fbdq5KDJBTRbRNyUnVZSBNe0x4zu1l9ACov9bU/u516DF5+F1S2RxHcISp9m0PaRD/34NrRMxYfwxvZCXgMVJCEY0wsijjZofMnj31V0nQzao/tp/0UIaNuC2GzY79ghKWfl/5PIjmOJ64YDCFd5tWccTpjBV6T1lScBchrX7+79UgjWTwjzmwbvxZET8iwS6lKeyfDj+S/ZgSt6uE/Ag3nvjjW4y6X0gP6k9PR8+fSfPPFPXacn6cqtwyheSdh+moz5xP2AUrxEhqsqO5GZnRsyI1gyBPlI3DDNywS7hHx681GZIsLfqVXhF96deD6U9kHMA8/6WgmEnti19sdCuznMpDgRrhUUd9RvtZduJUXsQN4H23fu9nPh0MdCrthgW9Vwr4MJIWYadmMNqInWL1HmJ8OieMbeBInxx7ALBGeHZ+mmu4aEPvbH5M5utetBsQead5R1KMJhnV94ylcIG2I44Qj0bDGyEp8nOrR8U3bYxE7OKfvU1Ir1Hwk+wtXjXtZKlEw1QKHZM0/OoiE9/V0E8Uyo2XkDFVfT0RArifinoQF2M6lMWXZQQVfgij1Tu+DTs4nQPoK5lz5crquVPd3QVPX7NjzmJbAVxaL+AV2VlIuRJftuMqNK/juUmOm8l9se0zzH24DBQW3w6ArhiQXlJ3hE5dtq52knXirKPIm+tFlrd6yFlHFBE60td1Rxlc4K012wDB+impqGplvrHZbXS2X6BK/iZv/1GBkpYBzGUK4KVBx9itu7pY+W2V3bluhRBkwEwBsfwFbQeg0nbcdeprfTIOMZu5c9dlksQ+xEMRBRjEeW7625xSVLxL+A6Z1BnSzAScD24xzkx2076Z3yMc/2GfuTG2v1c507Rp+qdGWgOKx4SwT7WAotCNA8EDAPkjy4XNcLFqjQOPBhClCKrfXTZFaalUb3J3nbjJ2ds0ZXjn/vqrOOIJvwo7jVzU0MDXCYMAWdaozIAPnWV4j0/QA2P3d1WnAQd5PCvQg5eUnZ+hmX8ocafTRllMAYG5LxK86abXlktN9KEKiYGghtVuSZfToa+qwqhE9bDu05DCFuiVOjXYsDCsJWVVUY5RrcFsCRiinzw5r3q86zx7hy87kOcOr8Xf10Ri+0rhBmvXUI8naeXOTea/X4Ca9ZV8pt6NyrmH9wTilW3Xa2sZP0CKCJaXWFflfzMOzPHHT5eVfema6IiiEhc8nb7rpXVyMxDbHfmtvEMeNTR6MkLhYo3Qes33jKIoPvbDivfKMmhunyGVKaB9Duoh/k4JN87IO202bzuxhftAjXjM2qXTb07Zy6Rf0ujFz9DQ2FvmUX2ox2Cz49r7yyZcAMN6v8/qqq6e8PnqeuoXOOXjOh1Bn8nvkduwa0kH8v3D2bk6qMnPq1VLgCEAO8SJON3eqGniBvtv7B4eH8Q6iHzhzADNle2IW4Wr946SKPRLRylL8CyE1mm6ODGO7uuUao5kWOVwbUlXUVxGIL7BEsGqykDzRBg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 3kNWAg8FBrOYAQYEDVJBZg53dr3D0iX+PewAqjZ0PtsFLVUtnKcIWQ9qlQPvnl/lDSig/H0DFMa98uLbtM02sXjGAxd12GT4xWCMlvZu6nCE5gSJEUHKOaTFo9iOEwMeUvZ40zyKJqJqQhFbJkUjp7YgiELVI9+IB4o0Sa+oXOCkZcVSsQS2MIH28HGcdMuIoMuOr6dv6GWxxIFlJceOk59kKGoN/JmRxS872iUay8MPFuYOJSIymxPcDbGV7kWkd5t1bz+M6ThQR37OlaRo/O4wX7nl+onmw6ubQo6QoEhZLCctr0sOGeqZDX40u7ME3g7C9QjOm4WOTPG4XSY0QHKX5p4wc1upXd0vhjYvCZZNLCVGvfz6AldcQThaZ/ltQuQkXgBYZE7jwE1k0yxzM96UCzbch+wXbVjONlA964CkqPJNToVrxW8fOOBkuJcf0/b0wc7bOXGO6t2hWT4ixOFpw1/tL1Ob6LRQr0HR9r93H+Iy0FJpP2mWTXAC3L10R7jmUxXbraEz+qNkInd/GJgTeCyG05rXq865J5AQ+j0cwXQV9lsP4xJQ64S5bi++FINAZNKw364mxR602RUMAIX3/ekz66GsFzBfJQDn6L12UR+jOEAU9T0wBwERUzM4yZx98p6wif4KkEF+LwcmYhwmEY3aCJTxal4sstNjXU0y2Rgg9ncbc+o0bHIHQn+1xiLth7SPumsQNUwo7wNINlLdgRSvhTZsPGyWKWAvxOL0kpaoN4FsvRL/cCClxWdtZsHeP4ioD8sRIpuY5w0dUCtui/Bm0du1o2QydwwA37RiNikAXI97JXDtZNrVKCEiGsdVUj3/EC+Onkh7wBpKGlAXQ8qowNXwLoGxU0XsvDYQaRoIfiffhwg/0k6ub3OlWbEm541LJwA1JfeGdNtH+RbNiDNDvLvpB08uTwojb2Nzuu3JS1WMVUBzhLN4XlOO3jsJwsapOFSkvUStqCAKclE5CKySdBUcuAhm9uPBZ+6nCIKtA0Rb38ThY3cK316mTdxDHbTgZkAqGKncP+UXMu6SzaNlBbfLq8KorTTBoT/qU1lecaVOQ5ilZCzQTox4 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6b697f35-e7d0-4a80-4b59-08db57342a18 X-MS-Exchange-CrossTenant-AuthSource: CY8PR10MB7243.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2023 00:09:36.0438 (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: DPZEh3Aah54fSzoAtP9Bmpekn8hEAO/S8fs/fYKyZw6GGU9o5AwImYD30B7eesCDQh2QlBXXlQRT/b/tobUHeMxIEABnGgsih+zk5ReEZrs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5156 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-17_04,2023-05-17_02,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 adultscore=0 malwarescore=0 bulkscore=0 spamscore=0 phishscore=0 mlxlogscore=844 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305170199 X-Proofpoint-GUID: VmLvlcR2XvYGWU5zInzlM095AdcxLoyN X-Proofpoint-ORIG-GUID: VmLvlcR2XvYGWU5zInzlM095AdcxLoyN X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1766190705102964350?= X-GMAIL-MSGID: =?utf-8?q?1766190705102964350?= The vhost_task can now support the worker being freed from under the device when we get a SIGKILL or the process exits without closing devices. We no longer need no_files so this removes it. Signed-off-by: Mike Christie --- include/linux/sched/task.h | 1 - kernel/fork.c | 10 ++-------- kernel/vhost_task.c | 3 +-- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/include/linux/sched/task.h b/include/linux/sched/task.h index 249a5ece9def..342fe297ffd4 100644 --- a/include/linux/sched/task.h +++ b/include/linux/sched/task.h @@ -28,7 +28,6 @@ struct kernel_clone_args { u32 kthread:1; u32 io_thread:1; u32 user_worker:1; - u32 no_files:1; u32 block_signals:1; unsigned long stack; unsigned long stack_size; diff --git a/kernel/fork.c b/kernel/fork.c index 9e04ab5c3946..f2c081c15efb 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -1769,8 +1769,7 @@ static int copy_fs(unsigned long clone_flags, struct task_struct *tsk) return 0; } -static int copy_files(unsigned long clone_flags, struct task_struct *tsk, - int no_files) +static int copy_files(unsigned long clone_flags, struct task_struct *tsk) { struct files_struct *oldf, *newf; int error = 0; @@ -1782,11 +1781,6 @@ static int copy_files(unsigned long clone_flags, struct task_struct *tsk, if (!oldf) goto out; - if (no_files) { - tsk->files = NULL; - goto out; - } - if (clone_flags & CLONE_FILES) { atomic_inc(&oldf->count); goto out; @@ -2488,7 +2482,7 @@ __latent_entropy struct task_struct *copy_process( retval = copy_semundo(clone_flags, p); if (retval) goto bad_fork_cleanup_security; - retval = copy_files(clone_flags, p, args->no_files); + retval = copy_files(clone_flags, p); if (retval) goto bad_fork_cleanup_semundo; retval = copy_fs(clone_flags, p); diff --git a/kernel/vhost_task.c b/kernel/vhost_task.c index a11f036290cc..642047765190 100644 --- a/kernel/vhost_task.c +++ b/kernel/vhost_task.c @@ -96,12 +96,11 @@ struct vhost_task *vhost_task_create(int (*fn)(void *), void *arg, { struct kernel_clone_args args = { .flags = CLONE_FS | CLONE_UNTRACED | CLONE_VM | - CLONE_THREAD | CLONE_SIGHAND, + CLONE_THREAD | CLONE_FILES, CLONE_SIGHAND, .exit_signal = 0, .fn = vhost_task_fn, .name = name, .user_worker = 1, - .no_files = 1, .block_signals = 1, }; struct vhost_task *vtsk;