From patchwork Thu Oct 26 13:37:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Monjalon X-Patchwork-Id: 310 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 C226443208; Thu, 26 Oct 2023 15:43:38 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 724D742E16; Thu, 26 Oct 2023 15:43:38 +0200 (CEST) Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) by mails.dpdk.org (Postfix) with ESMTP id A6CF24003C for ; Thu, 26 Oct 2023 15:43:18 +0200 (CEST) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 34D9C5C0279; Thu, 26 Oct 2023 09:43:18 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Thu, 26 Oct 2023 09:43:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm3; t= 1698327798; x=1698414198; bh=pG5CPifjeblWcCyC4MYkOq7VSfNCqWDOHer qkXy5oi8=; b=WCsYqdaMkam9Um7+7Fyuge4x7ADRX+0qlV6GFS7J9RiqbsuyLN9 QxrXU9loPpQl424oWYw92HDSPPa1N/gNj6pM5kmJezCwvzsPFc00xQmVawi7U4lR 4jkSKnfSmSaiCdmdH5UKWFg96zUJHAwtZAcA/AKwzSKlrQLiZC4Xj+QSF92JYOwG VMmLep10ohQ/SEfYp47aZDVTVAFZBgbRZk2+qg4ITXI17467+8XcEJTRWwPx4jle dKz8wcHTn0qfhp3Jn5R9XV+cHGWoEzn7z6R24eOzOFlyFrDwmqUBaO3M4piPRQt4 3gsXcKadUxz3rCBpJfTAr2ygDuGSPpPgrBg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1698327798; x=1698414198; bh=pG5CPifjeblWcCyC4MYkOq7VSfNCqWDOHer qkXy5oi8=; b=mtasCyXWpUIDAHKIJmruZV2k3uEVIv9XNmOPUTHTIOAmq+zP/dX +UAnJA93Xv0M8rtc/ihq3UNM6k5kUMIb/KdlfB7QJYayy/yOzCxFDa7xQcykqq/3 b3vGRD27hhJzNlM+NnFrvgMCcBlQ/udpnW/rhf7fYYVxpa499FUYVdWMqqPZ+SZy MztKiA8o1gGfpSsk8ozzPdfz1O/IWUaq4x+PCvVmdLyEbJFRQ2trPJ5csprNetzE 2FIi1vaXH4zARs3So380u6bbGuRp+d+kDJW81U+/JjHS9EjaZ+dvcHkxvalwNCqc c6ipiIUq7X5EcZVQ7zCObOfX5MliLbgYqdg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrledvgdeikecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepvfhhohhm rghsucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenuc ggtffrrghtthgvrhhnpedtieffffegfeetlefhkeeuteeuudffjefgleevtdeijedukefg veehteehheegjeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfh hrohhmpehthhhomhgrshesmhhonhhjrghlohhnrdhnvght X-ME-Proxy: Feedback-ID: i47234305:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 26 Oct 2023 09:43:17 -0400 (EDT) From: Thomas Monjalon To: dev@dpdk.org Cc: David Marchand Subject: [PATCH v4 0/2] allow creating thread with real-time priority Date: Thu, 26 Oct 2023 15:37:40 +0200 Message-ID: <20231026134313.1165954-1-thomas@monjalon.net> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231024125416.798897-1-thomas@monjalon.net> References: <20231024125416.798897-1-thomas@monjalon.net> MIME-Version: 1.0 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 Real-time thread priority was been forbidden on Unix because of problems they can cause. Warnings and helpers are added to avoid deadlocks, so real-time can be allowed on all systems. Thomas Monjalon (2): eal: add thread yield functions eal/unix: allow creating thread with real-time priority v1: no yield at all v2: more comments, sched_yield() and Sleep(0) on Windows v3: 2 yield functions with sleep in realtime version v4: runtime warning, longer sleep on Unix and lighter yield on Windows app/test/test_threads.c | 11 +----- .../prog_guide/env_abstraction_layer.rst | 4 +- lib/eal/include/rte_thread.h | 33 +++++++++++++++- lib/eal/unix/rte_thread.c | 38 ++++++++++++++----- lib/eal/version.map | 4 ++ lib/eal/windows/rte_thread.c | 15 ++++++++ 6 files changed, 83 insertions(+), 22 deletions(-)