From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 423DA424CD; Tue, 11 Jun 2024 15:40:17 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A655440A6E; Tue, 11 Jun 2024 15:40:12 +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 31FEE4021F for ; Tue, 11 Jun 2024 15:40:11 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1718113210; 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=ezG4psurRzlWteVqphTob2C55q4Q4EAi5SitZYjd+8I=; b=KE5yVtknQ80kidbkFwT6rSisV0Ij/V1o5hVs78PdJcXEzGNbakmf9gqx/vlnMBG7BB8mdH P4Fqy16XpjTHNDXd6a5cckG1xFzZs8B2frsnCGrVY69DsIHBloYoZDe8t9Sx+jtHLFM1bs ISt2kYOJkw2d8OAa9JrKDkID53gepTY= Received: from mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-128-hWiEhb0JMeulOITb4j-zSQ-1; Tue, 11 Jun 2024 09:40:04 -0400 X-MC-Unique: hWiEhb0JMeulOITb4j-zSQ-1 Received: from mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.15]) (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 mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 42A911956096; Tue, 11 Jun 2024 13:40:03 +0000 (UTC) Received: from max-p1.redhat.com (unknown [10.39.208.15]) by mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id ABC1B1956087; Tue, 11 Jun 2024 13:40:00 +0000 (UTC) From: Maxime Coquelin To: dev@dpdk.org, david.marchand@redhat.com, chenbox@nvidia.com Cc: Maxime Coquelin Subject: [PATCH v4 0/5] vhost: FD manager improvements Date: Tue, 11 Jun 2024 15:39:52 +0200 Message-ID: <20240611133957.72032-1-maxime.coquelin@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true 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. Changes in v4: ============== - Remove useless parameter check (Stephen) - Error handling in dset_add (Chenbo) - Destroy support fixup in even dispatcher (Chenbo) - Refactor fdentry insertion/removal - Rebased on top of next-virtio/staging 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 | 456 ++++++++++++++++++++++----------------------- lib/vhost/fd_man.h | 48 +---- lib/vhost/socket.c | 38 +--- lib/vhost/vduse.c | 52 ++---- 4 files changed, 252 insertions(+), 342 deletions(-) -- 2.45.1