From patchwork Fri May 20 17:23:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Eugenio Perez Martin X-Patchwork-Id: 12857032 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BC81FC433F5 for ; Fri, 20 May 2022 17:23:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1352167AbiETRXk (ORCPT ); Fri, 20 May 2022 13:23:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34310 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1352159AbiETRXi (ORCPT ); Fri, 20 May 2022 13:23:38 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id C339A187067 for ; Fri, 20 May 2022 10:23:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1653067416; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+mUQhLcxz6TZwVt0puoA8uLFKO7ahYDhUTcQY+6+1vw=; b=Y8EZwzfXUB/PJI43lkPcoBzr2z9YcjcdFbw2Ru0gzg1DzSxS6LZRjx0yuW9mWH6izAEkEZ DYpnfUx2WPb4Ods79nSzdUXfp3crcZFrv2S/DRmwAMBKYG34ouqRhA3dQlG+u12URKCXlk XZg4A6C4HfleMXzVkafIXQuWO5RDIo0= Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-400-66oEZV14PGix7OSjvRA3fQ-1; Fri, 20 May 2022 13:23:33 -0400 X-MC-Unique: 66oEZV14PGix7OSjvRA3fQ-1 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id B40E138041D6; Fri, 20 May 2022 17:23:32 +0000 (UTC) Received: from eperezma.remote.csb (unknown [10.39.192.124]) by smtp.corp.redhat.com (Postfix) with ESMTP id 189E1492C14; Fri, 20 May 2022 17:23:27 +0000 (UTC) From: =?utf-8?q?Eugenio_P=C3=A9rez?= To: virtualization@lists.linux-foundation.org, Jason Wang , kvm@vger.kernel.org, "Michael S. Tsirkin" , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Stefano Garzarella , Longpeng , Zhu Lingshan , martinh@xilinx.com, hanand@xilinx.com, Si-Wei Liu , dinang@xilinx.com, Eli Cohen , lvivier@redhat.com, pabloc@xilinx.com, gautam.dawar@amd.com, Xie Yongji , habetsm.xilinx@gmail.com, Christophe JAILLET , tanuj.kamde@amd.com, eperezma@redhat.com, Wu Zongyong , martinpo@xilinx.com, lulu@redhat.com, ecree.xilinx@gmail.com, Parav Pandit , Dan Carpenter , Zhang Min Subject: [PATCH 0/4] Implement vdpasim stop operation Date: Fri, 20 May 2022 19:23:21 +0200 Message-Id: <20220520172325.980884-1-eperezma@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.85 on 10.11.54.10 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Implement stop operation for vdpa_sim devices, so vhost-vdpa will offer that backend feature and userspace can effectively stop the device. This is a must before get virtqueue indexes (base) for live migration, since the device could modify them after userland gets them. There are individual ways to perform that action for some devices (VHOST_NET_SET_BACKEND, VHOST_VSOCK_SET_RUNNING, ...) but there was no way to perform it for any vhost device (and, in particular, vhost-vdpa). Comments are welcome. Eugenio PĂ©rez (4): vdpa: Add stop operation vhost-vdpa: introduce STOP backend feature bit vhost-vdpa: uAPI to stop the device vdpa_sim: Implement stop vdpa op drivers/vdpa/vdpa_sim/vdpa_sim.c | 21 +++++++++++++++++++ drivers/vdpa/vdpa_sim/vdpa_sim.h | 1 + drivers/vdpa/vdpa_sim/vdpa_sim_net.c | 3 +++ drivers/vhost/vdpa.c | 31 ++++++++++++++++++++++++++++ include/linux/vdpa.h | 6 ++++++ include/uapi/linux/vhost.h | 3 +++ include/uapi/linux/vhost_types.h | 2 ++ 7 files changed, 67 insertions(+)