From patchwork Tue Jun 15 08:42:35 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxime Coquelin X-Patchwork-Id: 94195 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 22E35A0C49; Tue, 15 Jun 2021 10:42:57 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 99B4A4067A; Tue, 15 Jun 2021 10:42:56 +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 E984940140 for ; Tue, 15 Jun 2021 10:42:54 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1623746574; 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=0iWcBJ5sBbZbUi5rgccwvNFC8bInNUcpCY/C2byCvPY=; b=I2vYUpbkE8MIqZTjbsUvYK8/Lx4zyPudoCwZaJ/hkN82Q26dd7i33kOsh9mDwJ2x9Urdob 631Gz/onhkpBK18TZ3su41EnltnHkebgxVjvXTwfSNzWH/FHR82a3twF8myoVxX/x5//ku FpG0KpyRD47h3xk67K1hl7n/tmB4874= 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-201-uzvwSsK4MCWHkfpJ2xZJEg-1; Tue, 15 Jun 2021 04:42:52 -0400 X-MC-Unique: uzvwSsK4MCWHkfpJ2xZJEg-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id A2D3E800D55; Tue, 15 Jun 2021 08:42:51 +0000 (UTC) Received: from max-t490s.redhat.com (unknown [10.36.110.45]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1328560C03; Tue, 15 Jun 2021 08:42:43 +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:42:35 +0200 Message-Id: <20210615084241.139097-1-maxime.coquelin@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 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 v2 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(). Changes in v2: ============== - Add missing NUMA realloc in patch 6 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 | 255 ++++++++++++++++++++++++++--------------- 3 files changed, 179 insertions(+), 115 deletions(-)