From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by dpdk.org (Postfix) with ESMTP id 039417D4A for ; Wed, 19 Dec 2018 04:35:39 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 8305B22A0F; Tue, 18 Dec 2018 22:35:39 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Tue, 18 Dec 2018 22:35:39 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding:content-type; s=mesmtp; bh=e55l4+BfIqqTKcesBb6MbT/He+SzYx/JvsSc3IFzI48=; b=pMHxoHCET560 QfwEwazVT0n2CYgRG0jxZ1oNCVRfkSPXQYIzxnTplDNIUq56RhgDnMlvwqZvzZgJ TPlcDvpNm/nlPvQzvzXG7LRdKiUfFsfb5tABYjnn9/7NR86X4KRYXEw/JFXShW1x J95z3LcUUMq01V4WHGLyYluJvFfL7yg= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; bh=e55l4+BfIqqTKcesBb6MbT/He+SzYx/JvsSc3IFzI 48=; b=ikovN0BFVLXMYYSVgrUpBuik3StNSnZCyZqy2H1pQuC7HBDCL/lsn2W68 xHzUSMnxcer6xhebI10//B8gCu05oZHJPNyqnwcUiKDd3COsFaPhmYsQZd0Fs+Jn 2KjE6BT1hgi+pFBYPD8Q4f25KTwt9v5XIJdCp07EKNA6jrc7OBlRxX1FAAKrtkWV vJUU0VXchpDvpam7W3xleNyLncM4QkkYjabgEMTBqpoC118Bg6n+vMtdClLsgXM6 C2KhVkb+YHfZ4oSuwEUNWfc/wtY8b9/ZotmFtkgTHYeBKcI1rq8Ro5KkuYm6b9v4 g0PVx54KejghpaSdu1ZJGCr9jGSpQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedtkedrudeiledgfedvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfquhhtnecuuegrihhlohhuthemucef tddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvffufffkjg hfggfgtgesthfuredttddtvdenucfhrhhomhepvfhhohhmrghsucfoohhnjhgrlhhonhcu oehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenucffohhmrghinhepughpughkrd horhhgnecukfhppeejjedrudefgedrvddtfedrudekgeenucfrrghrrghmpehmrghilhhf rhhomhepthhhohhmrghssehmohhnjhgrlhhonhdrnhgvthenucevlhhushhtvghrufhiii gvpedt X-ME-Proxy: Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id 466ABE4384; Tue, 18 Dec 2018 22:35:37 -0500 (EST) From: Thomas Monjalon To: dev@dpdk.org Cc: Erik Gabriel Carrillo , rsanford@akamai.com, stephen@networkplumber.org, jerin.jacob@caviumnetworks.com, pbhagavatula@caviumnetworks.com Date: Wed, 19 Dec 2018 04:35:36 +0100 Message-ID: <1740997.qR0t5JnZGs@xps> In-Reply-To: <1544739996-26011-1-git-send-email-erik.g.carrillo@intel.com> References: <1544205180-31546-1-git-send-email-erik.g.carrillo@intel.com> <1544739996-26011-1-git-send-email-erik.g.carrillo@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Subject: Re: [dpdk-dev] [PATCH v3 0/2] Timer library changes X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Dec 2018 03:35:40 -0000 13/12/2018 23:26, Erik Gabriel Carrillo: > This patch series modifies the timer library in such a way that > structures that used to be statically allocated in a process's data > segment are now allocated in shared memory. As these structures contain > lists of timers, new APIs are introduced that allow a caller to specify > the particular structure instance into which a timer should be inserted > or from which a timer should be removed. This enables primary and > secondary processes to modify the same timer list, which enables some > multi-process use cases that were not previously possible; e.g. a > secondary process can start a timer whose expiration is detected in a > primary process running a new flavor of timer_manage(). > > The original library API is mostly unchanged, though implementations are > updated to call into newly added functions with a default structure > instance ID that provides the original behavior. New functions are > introduced to enable applications to allocate structure instances to > house timer lists, and to reference them with an identifier when > starting and stopping timers, and finally, to manage the timer lists > referenced with an identifier. > > My initial performance testing with the "timer_perf_autotest" test shows > no performance regression or improvement, and inspection of the > generated optimized code shows that the extra function call gets inlined > in the functions that now have an extra function call. > > Depends on: https://patches.dpdk.org/patch/48417/ > > Changes in v3: > - remove C++ style comment in first patch in series (Stephen) > > Changes in v2: > - split these changes out into their own series > - version the symbols where the existing ABI was updated, and > provide alternate implementation with behavior equivalent to original > behavior. Validated ABI compatibility with validate-abi.sh > - refactor changes to simplify patches > > Erik Gabriel Carrillo (2): > timer: allow timer management in shared memory > timer: add function to stop all timers in a list > > lib/librte_timer/Makefile | 1 + > lib/librte_timer/rte_timer.c | 558 ++++++++++++++++++++++++++++++--- > lib/librte_timer/rte_timer.h | 258 ++++++++++++++- > lib/librte_timer/rte_timer_version.map | 23 ++ > 4 files changed, 795 insertions(+), 45 deletions(-) It is a lot of changes! Anyone to review please?