From patchwork Fri Oct 21 22:43:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Si-Wei Liu X-Patchwork-Id: 7027 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4242:0:0:0:0:0 with SMTP id s2csp956002wrr; Fri, 21 Oct 2022 16:50:56 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4UaSftV2lHuGykwxq6Z5Ahc14YiSoB+QG8pnC+kLmO+zDrM4nvAE7DG7o2Ziht39mv/V8/ X-Received: by 2002:a05:6402:5ca:b0:43b:6e01:482c with SMTP id n10-20020a05640205ca00b0043b6e01482cmr20205639edx.189.1666396256612; Fri, 21 Oct 2022 16:50:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666396256; cv=none; d=google.com; s=arc-20160816; b=Gn00nMBY13mDdi7vRabxsOTW39SQ/8ko/yNxpl+/wCg9oNkA1ZhjWKqmlWW7LJ1M1h kHS6FnQTJBFtgT57aJqnG08IPaGkjp4FlNqYQqz2sGHLHW8pxuGZ9QLQZ1mpRri4kzAb /aUzo+XgwOTG9P3E9LVpcMn3TDVVTLgHgILReWqLIRq0N1Xknu4pYb954K04cbeXOBos Xwgv9VjcxNDtdtmO6C3kNzqhG1RXd61HmmQ8Ci85/79P7s1AJ3yYm3m09dilKpFA1h7Q pR2S65H4/OxmHoTYnOVftlmYxFfhuRkj7VXqSgvW8B/b4qgbxlIJ4LOXbU624Uv7vb2T 3WUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=V7U93o+Lc8e/VViolr2K02LD3zVGat6a0bv7jBQ/DuE=; b=TpqaCwVy+mE9uTisZ2CEmR8dZ4AhfzgAhaHrQZtEkiCsEao9XO+ShjZjdpNkkHcZCZ sOA1DLIYCwjmwoiFKHCCodk1GDblnt+TY09ZvVsI3Hr1cATEc6/0EkBdCjGnvGDMVyfY XviYR6AouDLOnrYfJ4H5uFwMymNmNCMm6XdC7uBuPHrd1jZlFyTZHDhB6bv2FlXhIOwK xUeGZsuLy9Og6lp91acvH8vWDwxqdZR9y/jI8w8iAVF1d9WAxMvnTd3UoI//YfQwLoEY hC/cl0Chl0ynkt1G/5J50HlxNd1NuvUkBfp01AGqk8/74nVJe6ff64IkmvI5f2N03a4L ZmMw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=o2H9wvmq; 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 hz2-20020a1709072ce200b0079ca59305a6si2584428ejc.354.2022.10.21.16.50.33; Fri, 21 Oct 2022 16:50:56 -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-2022-7-12 header.b=o2H9wvmq; 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 S229867AbiJUXty (ORCPT + 99 others); Fri, 21 Oct 2022 19:49:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37906 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229587AbiJUXtp (ORCPT ); Fri, 21 Oct 2022 19:49:45 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B2E6A36BC6 for ; Fri, 21 Oct 2022 16:49:44 -0700 (PDT) Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 29LLDlEp001545; Fri, 21 Oct 2022 23:49:40 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; s=corp-2022-7-12; bh=V7U93o+Lc8e/VViolr2K02LD3zVGat6a0bv7jBQ/DuE=; b=o2H9wvmqrC/aVP5g+9PScLnhdqDsbhELElCpUQnUsrLFlUrzy0QZcnzFGY+1w+ElVLwC E1ZAtrJ8WG8oM254DY59E9TPrrp5gfnzF8NlPx0/z2jNzT6kuH91nlUnYOOZgSGYIWcl jdwLE1rhXXq9Q4Lh6+GDWm/YBVvYzqZP9ueZLnHmtzlY8xnloONdeFWzN4EDiBw73CWM v+hUXK4aph45cKwpHulKMEl4cCoq79cYCnKfanPJ5ikEFhIO5ZidZOLA4o6AkzNmylqE YvOeX8VLdW+F/ZRVpWEYq2yXDaG7gp/IzVxqgndlMQrYt2/GXTvCAXNW6TYcEJ3t9a1m zw== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3k9awwdmr4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 21 Oct 2022 23:49:40 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 29LMgIQS007144; Fri, 21 Oct 2022 23:49:38 GMT Received: from ban25x6uut24.us.oracle.com (ban25x6uut24.us.oracle.com [10.153.73.24]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTP id 3k8hre9a3b-2; Fri, 21 Oct 2022 23:49:38 +0000 From: Si-Wei Liu To: mst@redhat.com, jasowang@redhat.com, parav@nvidia.com Cc: virtualization@lists.linux-foundation.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 1/4] vdpa: save vdpa_dev_set_config in struct vdpa_device Date: Fri, 21 Oct 2022 15:43:54 -0700 Message-Id: <1666392237-4042-2-git-send-email-si-wei.liu@oracle.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1666392237-4042-1-git-send-email-si-wei.liu@oracle.com> References: <1666392237-4042-1-git-send-email-si-wei.liu@oracle.com> X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-10-21_04,2022-10-21_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 spamscore=0 bulkscore=0 mlxscore=0 phishscore=0 suspectscore=0 adultscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210210139 X-Proofpoint-GUID: lS0vrvi2FmUheEorsn-MXjEvqAy3rb5y X-Proofpoint-ORIG-GUID: lS0vrvi2FmUheEorsn-MXjEvqAy3rb5y X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE 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?1747343121061307020?= X-GMAIL-MSGID: =?utf-8?q?1747343121061307020?= In order to allow live migration orchestration software to export the initial set of vdpa attributes with which the device was created, it will be useful if the vdpa tool can report the config on demand with simple query. This will ease the orchestration software implementation so that it doesn't have to keep track of vdpa config change, or have to persist vdpa attributes across failure and recovery, in fear of being killed due to accidental software error. This commit attempts to make struct vdpa_device contain the struct vdpa_dev_set_config, where all config attributes upon vdpa creation are carried over. Which will be used in subsequent commits. Signed-off-by: Si-Wei Liu Acked-by: Jason Wang --- include/linux/vdpa.h | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/include/linux/vdpa.h b/include/linux/vdpa.h index 6d0f5e4..9f519a3 100644 --- a/include/linux/vdpa.h +++ b/include/linux/vdpa.h @@ -58,6 +58,16 @@ struct vdpa_vq_state { }; }; +struct vdpa_dev_set_config { + u64 device_features; + struct { + u8 mac[ETH_ALEN]; + u16 mtu; + u16 max_vq_pairs; + } net; + u64 mask; +}; + struct vdpa_mgmt_dev; /** @@ -77,6 +87,8 @@ struct vdpa_vq_state { * @nvqs: maximum number of supported virtqueues * @mdev: management device pointer; caller must setup when registering device as part * of dev_add() mgmtdev ops callback before invoking _vdpa_register_device(). + * @init_cfg: initial device config on vdpa creation; useful when instantiating + * device with identical config is needed, e.g. migration. */ struct vdpa_device { struct device dev; @@ -91,6 +103,7 @@ struct vdpa_device { struct vdpa_mgmt_dev *mdev; unsigned int ngroups; unsigned int nas; + struct vdpa_dev_set_config init_cfg; }; /** @@ -103,16 +116,6 @@ struct vdpa_iova_range { u64 last; }; -struct vdpa_dev_set_config { - u64 device_features; - struct { - u8 mac[ETH_ALEN]; - u16 mtu; - u16 max_vq_pairs; - } net; - u64 mask; -}; - /** * Corresponding file area for device memory mapping * @file: vma->vm_file for the mapping