From patchwork Thu Jun 17 10:58:41 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxime Coquelin X-Patchwork-Id: 94348 X-Patchwork-Delegate: maxime.coquelin@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 55415A0C4D; Thu, 17 Jun 2021 13:00:53 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6D19D4118F; Thu, 17 Jun 2021 12:59:03 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mails.dpdk.org (Postfix) with ESMTP id 72D5E41176 for ; Thu, 17 Jun 2021 12:59:01 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1623927541; 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: in-reply-to:in-reply-to:references:references; bh=ChwUlThbHfFzZ91px8E/6E27SMFCt+z7hNlONUcROCk=; b=HqZzbH8znLQ9Avm/0HqxMrpypZJBF69TdZXWO5TdYVs50zWVd1rFpy15tcaU8OOdnOryWT lo1MkhslBERaotS6b3auzNjo2Mh0i20hk0PcUL3wZhT8qzJ5n0Y2ONlR7XuC1kOBW2a6w9 lQkxYnPG6riG0KeB4vg3xsN1kTbRB6I= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-338-dSrGA0E5MMiLRsz1VtKreg-1; Thu, 17 Jun 2021 06:58:57 -0400 X-MC-Unique: dSrGA0E5MMiLRsz1VtKreg-1 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id B13F7107B0F6; Thu, 17 Jun 2021 10:58:55 +0000 (UTC) Received: from max-t490s.redhat.com (unknown [10.36.110.45]) by smtp.corp.redhat.com (Postfix) with ESMTP id A3FB661008; Thu, 17 Jun 2021 10:58:54 +0000 (UTC) From: Maxime Coquelin To: dev@dpdk.org, david.marchand@redhat.com, chenbo.xia@intel.com Cc: Maxime Coquelin Date: Thu, 17 Jun 2021 12:58:41 +0200 Message-Id: <20210617105845.125472-4-maxime.coquelin@redhat.com> In-Reply-To: <20210617105845.125472-1-maxime.coquelin@redhat.com> References: <20210617105845.125472-1-maxime.coquelin@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=maxime.coquelin@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Subject: [dpdk-dev] [PATCH 3/7] vhost: fix missing cache logging NUMA realloc X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" When the guest allocates virtqueues on a different NUMA node than the one the Vhost metadata are allocated, both the Vhost device struct and the virtqueues struct are reallocated. However, reallocating the log cache on the new NUMA node was not done. This patch fixes this by reallocating it if it has been allocated already, which means a live-migration is on-going. Fixes: 1818a63147fb ("vhost: move dirty logging cache out of virtqueue") Signed-off-by: Maxime Coquelin --- lib/vhost/vhost_user.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/vhost/vhost_user.c b/lib/vhost/vhost_user.c index cbfdf1b4d8..0e9e26ebe0 100644 --- a/lib/vhost/vhost_user.c +++ b/lib/vhost/vhost_user.c @@ -545,6 +545,16 @@ numa_realloc(struct virtio_net *dev, int index) vq->batch_copy_elems = new_batch_copy_elems; } + if (vq->log_cache) { + struct log_cache_entry *log_cache; + + log_cache = rte_realloc_socket(vq->log_cache, + sizeof(struct log_cache_entry) * VHOST_LOG_CACHE_NR, + 0, newnode); + if (log_cache) + vq->log_cache = log_cache; + } + rte_free(old_vq); }