From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 919EF5A6A for ; Tue, 8 May 2018 09:12:13 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 May 2018 00:12:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,377,1520924400"; d="scan'208";a="226661098" Received: from dpdk-xiao-1.sh.intel.com ([10.67.111.90]) by fmsmga005.fm.intel.com with ESMTP; 08 May 2018 00:12:11 -0700 From: Xiao Wang To: maxime.coquelin@redhat.com Cc: dev@dpdk.org, tiwei.bie@intel.com, Xiao Wang Date: Tue, 8 May 2018 15:10:43 +0800 Message-Id: <20180508071045.105475-1-xiao.w.wang@intel.com> X-Mailer: git-send-email 2.15.1 Subject: [dpdk-dev] [PATCH 18.05-RC3 0/2] net/virtio-user: support memory hotplug X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 May 2018 07:12:14 -0000 This patch set has dependency on http://dpdk.org/dev/patchwork/patch/39283/ ("mem: add argument to mem event callbacks"). When memory is hot-added or hot-removed, the virtio-user driver has to notify the vhost-user backend with sending a VHOST_USER_SET_MEM_TABLE request with the new memory map as payload. This patch set registers a mem_event callback to help on that. Considering some older vhost-user implementation doesn't support runtime memory table change, e.g. DPDK 16.11, we have to pause queues explicitly in the callback routine: 1. disable all the active queues 2. update memory table to vhost 3. resume all the previous active queues Maxime Coquelin (2): vhost: retranslate vring addr when memory table changes net/virtio-user: support memory hotplug drivers/net/virtio/virtio_user/virtio_user_dev.c | 53 +++++++++++++++++++++++- drivers/net/virtio/virtio_user/virtio_user_dev.h | 2 + lib/librte_vhost/vhost_user.c | 24 ++++++++++- 3 files changed, 76 insertions(+), 3 deletions(-) -- 2.15.1