From patchwork Wed Apr 3 09:24:43 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxime Coquelin X-Patchwork-Id: 831 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 266FB43DE5; Wed, 3 Apr 2024 11:24:59 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0B8ED402CE; Wed, 3 Apr 2024 11:24:59 +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 A4F684025C for ; Wed, 3 Apr 2024 11:24:57 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1712136297; 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=JNLXrh59TXAvtBtdNOvmKO458QwoU44hM2GVEXIKBpI=; b=WYSyP4/fCUAZbwi0OPnVx/gYODaljMNfej6oKE621JVPodfyZr/K/niPw3corgXI7RMoEC CE3c+Czgy3lySw5iivsTJUuzBp/DCo/hSu433lOQHmqsGv93jEchueF6VOz1uIgX0HWx+I nsmdn6OzpYEpzNTQFSgz57AF5zZ9SBk= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-680-ueL4ZfBROHm9nlIn1pfAXw-1; Wed, 03 Apr 2024 05:24:56 -0400 X-MC-Unique: ueL4ZfBROHm9nlIn1pfAXw-1 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id C727384FA93; Wed, 3 Apr 2024 09:24:55 +0000 (UTC) Received: from max-p1.redhat.com (unknown [10.39.208.23]) by smtp.corp.redhat.com (Postfix) with ESMTP id 66C4B492BC7; Wed, 3 Apr 2024 09:24:54 +0000 (UTC) From: Maxime Coquelin To: dev@dpdk.org, david.marchand@redhat.com, chenbox@nvidia.com Cc: Maxime Coquelin Subject: [PATCH v2 0/5] vhost: FD manager improvements Date: Wed, 3 Apr 2024 11:24:43 +0200 Message-ID: <20240403092448.1361820-1-maxime.coquelin@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.9 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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 This series aims at improving the Vhost FD manager. The fdset internals is hidden from its callers, the notification/synchronization is made systematic for every FD add/del operations and finally the code is reworked to make use of epoll insteal of poll which reduces the complexity (less locks involved, synchrnoization no more necessary). The series has been tested with both Vhost-user/Virtio-user and with VDUSE. David Marchand (1): vhost: manage FD with epoll Maxime Coquelin (4): vhost: rename polling mutex vhost: make use of FD manager init function vhost: hide synchronization within FD manager vhost: improve fdset initialization lib/vhost/fd_man.c | 431 +++++++++++++++----------------- lib/vhost/fd_man.c.orig | 538 ++++++++++++++++++++++++++++++++++++++++ lib/vhost/fd_man.h | 48 +--- lib/vhost/socket.c | 38 +-- lib/vhost/vduse.c | 52 +--- 5 files changed, 762 insertions(+), 345 deletions(-) create mode 100644 lib/vhost/fd_man.c.orig