From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 32734A00B8; Sun, 27 Oct 2019 23:36:59 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E5A361BF2E; Sun, 27 Oct 2019 23:36:45 +0100 (CET) Received: from Galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by dpdk.org (Postfix) with ESMTP id 69E821E4DE for ; Fri, 25 Oct 2019 22:44:03 +0200 (CEST) Received: from p5b06da22.dip0.t-ipconnect.de ([91.6.218.34] helo=nanos) by Galois.linutronix.de with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1iO6RE-0004il-IH; Fri, 25 Oct 2019 22:44:00 +0200 Date: Fri, 25 Oct 2019 22:43:54 +0200 (CEST) From: Thomas Gleixner To: Stephen Hemminger cc: Andy Lutomirski , dev@dpdk.org, Peter Zijlstra , LKML In-Reply-To: <20191025091310.05770edc@hermes.lan> Message-ID: References: <20191025091310.05770edc@hermes.lan> User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1, SHORTCIRCUIT=-0.0001 X-Mailman-Approved-At: Sun, 27 Oct 2019 23:36:29 +0100 Subject: Re: [dpdk-dev] Please stop using iopl() in DPDK 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Fri, 25 Oct 2019, Stephen Hemminger wrote: > On Thu, 24 Oct 2019 21:45:56 -0700 > Andy Lutomirski wrote: > > 3. Use ioperm() instead of iopl(). > > Ioperm has the wrong thread semantics. All DPDK applications have > multiple threads and the initialization logic needs to work even > if the thread is started later; threads can also be started by > the user application. > > Iopl applies to whole process so this is not an issue. No. iopl is also per thread and not per process. That has been that way forever. The man page is blantantly wrong. Both iopl and ioperm are inherited on fork. Thanks, tglx