From patchwork Thu Jun 17 15:37:32 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxime Coquelin X-Patchwork-Id: 94363 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 03E33A0C4B; Thu, 17 Jun 2021 17:37:54 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BC7B54067A; Thu, 17 Jun 2021 17:37:53 +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 20F1F40150 for ; Thu, 17 Jun 2021 17:37:52 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1623944271; 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=os6szPIEAu/u/rP0CJRxuWFpR/3zTGHxuJbpYqNq6BY=; b=GGIIK0WpX30R7oPewKaIWp42tuqOsJI/kuyULaX/CjoQM+KNzi15xAAqLoDMykoD/vOl2x cgVQ6HOk1CRGygEGsGt5VWwbVNoN6gRxrHdbDkz+T0O6I+zUei60UJk9RAD+IVaxUTL88z g0u2JnTuLuEfiTOwJas128DVMcJOAnM= 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-546-tOztWNsMN2eMj7maP4X6AQ-1; Thu, 17 Jun 2021 11:37:50 -0400 X-MC-Unique: tOztWNsMN2eMj7maP4X6AQ-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 759298015F5; Thu, 17 Jun 2021 15:37:49 +0000 (UTC) Received: from max-t490s.redhat.com (unknown [10.36.110.45]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9790C60CC9; Thu, 17 Jun 2021 15:37:41 +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 17:37:32 +0200 Message-Id: <20210617153739.178011-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 v4 0/7] 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 numa_realloc function by using rte_realloc_socket API that takes care 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(). Changes in v4: ============== - Check Vhose device numa node to avoid rte_realloc_socket to realloc even if already right node/size/align. Changes in v3: ============== - Fix copy/paste issues (David) - Ad new patch to fix multiqueue reallocation Changes in v2: ============== - Add missing NUMA realloc in patch 6 Maxime Coquelin (7): vhost: fix missing memory table NUMA realloc vhost: fix missing guest pages table NUMA realloc vhost: fix missing cache logging NUMA realloc vhost: fix NUMA reallocation with multiqueue 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 | 269 ++++++++++++++++++++++++++--------------- 3 files changed, 193 insertions(+), 115 deletions(-)