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 EF8BF41D3D for ; Wed, 22 Feb 2023 14:46:06 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C33AD40693; Wed, 22 Feb 2023 14:46:06 +0100 (CET) Received: from guvercin.ceng.metu.edu.tr (guvercin.ceng.metu.edu.tr [144.122.171.43]) by mails.dpdk.org (Postfix) with ESMTP id 19E3540689 for ; Wed, 22 Feb 2023 14:46:06 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by guvercin.ceng.metu.edu.tr (Postfix) with ESMTP id A7F7E2C394 for ; Wed, 22 Feb 2023 16:46:01 +0300 (+03) X-Virus-Scanned: Debian amavisd-new at ceng.metu.edu.tr Received: from guvercin.ceng.metu.edu.tr ([127.0.0.1]) by localhost (guvercin.ceng.metu.edu.tr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WPPPoSi2nYdZ for ; Wed, 22 Feb 2023 16:45:58 +0300 (+03) Received: from roundcube.ceng.metu.edu.tr (kanarya.ceng.metu.edu.tr [144.122.171.33]) (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) (Authenticated sender: e1885458) by guvercin.ceng.metu.edu.tr (Postfix) with ESMTPSA id A4AAC2C271 for ; Wed, 22 Feb 2023 16:45:57 +0300 (+03) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ceng.metu.edu.tr; s=mail; t=1677073558; bh=hnra5FXYnTf7BBHm+zXcI679bDvBzkrL3dx+fC22Sxg=; h=Date:From:To:Subject:From; b=TFnU0csI+YAtQC9YIXFGlql1mOh6fswU9RijB2OItRHMT8v1ml3soVD6SLPFuOWJM nD+6lz3xOSQeDrOe9DWxSuUCBRaZ4MofjYJUzKX3QWSi7Pyx1pOvoGSKjVT2Zaq9rb OSjLOqRHg+6hKrwaXFWT6DeNDtjtTl3ic8lIop6Q= MIME-Version: 1.0 Date: Wed, 22 Feb 2023 16:45:57 +0300 From: Omer Yamac To: users@dpdk.org Subject: RCU multiple entry lookup lockless User-Agent: Roundcube Webmail Message-ID: X-Sender: omer.yamac@ceng.metu.edu.tr Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org Hi All, I have recently been working on RCU lib and Hash Lib. I activated RCU in the Hash library and want to observe one thing. Here is the case: I want to check RCU handles multiple lookups and frees just selected elements. I realize that reporting quiescent state releases all elements, and I cannot choose the unused ones. Here is an example: I filled the hash table with some data and then looked up the first five elements in the reader thread. Assume that three are used throughout the whole thread life, but I only need 2 of them in that little time. If I delete these five elements in the writer, the receiver still points to the actual data. I wanted to add some elements and free two deleted elements that will not be used. So I report the quiescent state. Is there a way to hold these three elements (the reader still references that)? As I understood, I can't hold any reference to the data if I report the quiescent state in the reader. Thank you -- -A. Ömer Yamaç