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 BAE4D43B76; Tue, 5 Mar 2024 18:53:02 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 56AAA40271; Tue, 5 Mar 2024 18:53:02 +0100 (CET) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 9AA3140270 for ; Tue, 5 Mar 2024 18:53:01 +0100 (CET) Received: by linux.microsoft.com (Postfix, from userid 1086) id DE5C420B74C0; Tue, 5 Mar 2024 09:53:00 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com DE5C420B74C0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1709661180; bh=jyxqliDqwOR21sItr9kX2d104LiUBXW/pMNpab/CqjY=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=lG06+3aj6SJUegLXOlA9rfGA1npIPYJfQiaFyJgqmrKCtoG3DoGAag+H9nGYMTfXp 6xqUot/WwgFPWDplwXdXDx1mvmG5+eDak2DcIqgkWmWjN1qUwOfMZUlw7CAUZFn9+p 5F1er2RqIxUhu4kbCKdDZSMo4bo23PAoR+jfPn8g= Date: Tue, 5 Mar 2024 09:53:00 -0800 From: Tyler Retzlaff To: David Marchand Cc: Stephen Hemminger , dev@dpdk.org, Yipeng Wang , Sameh Gobriel , Bruce Richardson , Vladimir Medvedkin Subject: Re: [PATCH] hash: make gfni stubs inline Message-ID: <20240305175300.GC18937@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> References: <20240304184508.89956-1-stephen@networkplumber.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) 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 On Tue, Mar 05, 2024 at 11:14:45AM +0100, David Marchand wrote: > On Mon, Mar 4, 2024 at 7:45 PM Stephen Hemminger > wrote: > > > > This reverts commit 07d836e5929d18ad6640ebae90dd2f81a2cafb71. > > > > Tyler found build issues with MSVC and the thash gfni stubs. > > The problem would be link errors from missing symbols. > > Trying to understand this link error. > Does it come from the fact that rte_thash_gfni/rte_thash_gfni_bulk > declarations are hidden under RTE_THASH_GFNI_DEFINED in > rte_thash_gfni.h? > > If so, why not always expose those two symbols unconditionnally and > link with the stub only when ! RTE_THASH_GFNI_DEFINED. So I don't have a lot of background of this lib. I think we understand that we can't conditionally expose symbols. That's what windows was picking up because it seems none of our CI's ever end up with RTE_THASH_GFNI_DEFINED but my local test system did and failed. (my experiments showed that Linux would complain too if it was defined) If we always expose the symbols then as you point out we have to conditionally link with the stub otherwise the inline (non-stub) will be duplicate and build / link will fail. I guess the part I don't understand with your suggestion is how we would conditionally link with just the stub? We have to link with rte_hash to get the rest of hash and the stub. I've probably missed something here. Since we never had a release exposing the new symbols introduced by Stephen in question my suggestion was that we just revert for 24.03 so we don't end up with an ABI break later if we choose to solve the problem without exports. I don't know what else to do, but I think we need to decide for 24.03. ty > > -- > David Marchand