From patchwork Tue Jun 15 08:33:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxime Coquelin X-Patchwork-Id: 94188 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 DB23BA0C49; Tue, 15 Jun 2021 10:33:17 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 813D34067E; Tue, 15 Jun 2021 10:33:17 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mails.dpdk.org (Postfix) with ESMTP id CC5E140140 for ; Tue, 15 Jun 2021 10:33:15 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1623745994; 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=FR+acZZ/z+/YurEU5sQHMAj0SniGhLnw1Aw/+4muX4Q=; b=F+lCgonTSGYxSP0xOBsSae989fuhVIq4CGuWeiN/TR0xKSp4SjBXVOTbnLZbfTr9vUZsVB y2bJ0Iut3+dWuYp4Gy51+kOHbfFJsIfbMVo6hSK7z0gBB7LeOowA5iP8msx5ACK8qmKj8u sY0hXBrwUFyshu4uf20Wxrp6jEUa27c= 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-373-58GOKFUeP3m56UFZUfsWnQ-1; Tue, 15 Jun 2021 04:33:13 -0400 X-MC-Unique: 58GOKFUeP3m56UFZUfsWnQ-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 D1A1EA0CAB; Tue, 15 Jun 2021 08:33:12 +0000 (UTC) Received: from max-t490s.redhat.com (unknown [10.36.110.45]) by smtp.corp.redhat.com (Postfix) with ESMTP id A4C4960C0F; Tue, 15 Jun 2021 08:33:11 +0000 (UTC) From: Maxime Coquelin To: dev@dpdk.org, david.marchand@redhat.com, chenbo.xia@intel.com Cc: Maxime Coquelin Date: Tue, 15 Jun 2021 10:33:02 +0200 Message-Id: <20210615083308.137401-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 0/6] vhost: Fix and improve NUMA reallocation 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" This patch series first fixes missing reallocations of some Virtqueue and device metadata. Then, it improves the the numa_realloc function by using rte_realloc_socket API that takes cares of the memcpy & freeing. The VQs NUMA IDs are also saved in the VQ metadata and used for every allocations so that all allocations before NUMA realloc are on the same VQ, later ones are allocated on the proper one. Finally inflight feature metada are converted from calloc() to rte_zmalloc_socket() and their reallocation is handled in numa_realloc(). Maxime Coquelin (6): vhost: fix missing memory table NUMA realloc vhost: fix missing guest pages table NUMA realloc vhost: fix missing cache logging NUMA realloc vhost: improve NUMA reallocation vhost: allocate all data on same node as virtqueue vhost: convert inflight data to DPDK allocation API lib/vhost/vhost.c | 38 ++++--- lib/vhost/vhost.h | 1 + lib/vhost/vhost_user.c | 232 ++++++++++++++++++++++++----------------- 3 files changed, 155 insertions(+), 116 deletions(-)