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 E6F78A057C; Fri, 27 Mar 2020 15:32:56 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 697371C1FA; Fri, 27 Mar 2020 15:32:56 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id C24701C1F7 for ; Fri, 27 Mar 2020 15:32:54 +0100 (CET) IronPort-SDR: SAnW5a5wLSgJ1T9L8Xs8X1kH/t7s6QL7kfNobhcHGO38+LHG9ZsJuYevWrqFYqgS8x7Sn3VoKz ULXiUMHfKL8A== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Mar 2020 07:32:53 -0700 IronPort-SDR: HOR70VnE3w9YtJV++kPb+GxsYGcdfoT+58cbgzTHxbwYu8lZhVjJX3iZ5zwotCEq6G1aUPnNfV MMq8rpOcjx+g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,312,1580803200"; d="scan'208";a="271596854" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga004.fm.intel.com with ESMTP; 27 Mar 2020 07:32:53 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 27 Mar 2020 07:32:53 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.172) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 27 Mar 2020 07:32:53 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HQOcLdLsEPgFRJP2n5BQtgwqRg9zDA4FvAf9NF0xzPEen8J3rTMSzY9Qwm5JkeNQ1vpMSGGiep5saU5eLBZPxUegVany6bPR/DrS2z4tWzWpvceGSF3fOCjG5IvqnGbdRkNQY8dG5LSikot4yhKAcsHUgCIdudd+Aheu/G9QLjyuo6ouzbU+G387O4ibnwmnO6MpD5dPsLvoSgjY6IEtEeTdhd/3pB1hCD0DUXQzKq7JRQ0CjEKrtFM69MS95weqgK8lyGeIw/yNJE24ZK837v9lU5EScPGGy5oKR+VUI1eqs4SBw64FTY/LoGqHQC8frDIh0edGbikXrRIj7HnYHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xiV6eMbWcCSj/LWkvgZjXtko7qqOWgP2Z5hBxVH0NRg=; b=czpgh+NVwf6kiyxbkuImVeBGyV+kt3uM0w2LVEofyrRcK+DCNadZwnVRYO1AjPWAvK2Xp9OZKexandEu27buJDTL1efARifUO/c40XPLC7+Sa1R8q/eiDJCv9r2fzfaXBMwZ02rEDEY7A0ndZ6iXZyi7uh3ZE0HyV5Gun1BPiG6AC7F1k16K8V1fjn1l4/1pDTVb6vpUiIQ09x4vcj0XtwrJx1XxMvpxPN1xaxGYBuo0LHZfngaKJypG0zYV6ii2CR65FxmFbxABWSDhoUiJvMnT86k93FEmTxDxPHaPRheDQbl0UPNaYVX7lJrao8/Emjg9iqmQxqvtVfZPYpMJbw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xiV6eMbWcCSj/LWkvgZjXtko7qqOWgP2Z5hBxVH0NRg=; b=nSzHMddJgLqnyBDw239yys/ao0mVoIQBjgaqySAvugeSKLJJuzhrCVpMeHNpjajJqfxQs7RWF2Lhyx5eEKxnw7ge2isPd9dPPbIn1SH2JwYzKlsN44yFz6Arac+UWyMHl09X03WwzoqzVuuAt4eNN/S3uRRM6LR+ZAf63+/KewU= Received: from BYAPR11MB3143.namprd11.prod.outlook.com (2603:10b6:a03:92::32) by BYAPR11MB3783.namprd11.prod.outlook.com (2603:10b6:a03:f5::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.19; Fri, 27 Mar 2020 14:32:52 +0000 Received: from BYAPR11MB3143.namprd11.prod.outlook.com ([fe80::2c49:cfd1:b7a5:a915]) by BYAPR11MB3143.namprd11.prod.outlook.com ([fe80::2c49:cfd1:b7a5:a915%3]) with mapi id 15.20.2856.019; Fri, 27 Mar 2020 14:32:51 +0000 From: "Van Haaren, Harry" To: Thomas Monjalon , Neil Horman , Dodji Seketeli , "mdr@ashroe.eu" CC: David Marchand , "Laatz, Kevin" , dev , "Richardson, Bruce" , Honnappa Nagarahalli Thread-Topic: [dpdk-dev] [PATCH v2] eal/cpuflags: add x86 based cpu flags Thread-Index: AQHWApYtlctp7LAde0KgZeQ/hm9q/qhcYBIAgAAWfICAAAifAIAAAqCw Date: Fri, 27 Mar 2020 14:32:51 +0000 Message-ID: References: <20200324114921.7184-1-kevin.laatz@intel.com> <20200327134441.GA3540715@hmswarspite.think-freely.org> <1849712.2IRrRt1zHL@xps> In-Reply-To: <1849712.2IRrRt1zHL@xps> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.2.0.6 authentication-results: spf=none (sender IP is ) smtp.mailfrom=harry.van.haaren@intel.com; x-originating-ip: [192.198.151.189] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 535d20e1-d6c7-4fbb-4baf-08d7d25bbb25 x-ms-traffictypediagnostic: BYAPR11MB3783: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0355F3A3AE x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(376002)(346002)(136003)(366004)(396003)(39860400002)(186003)(110136005)(316002)(8676002)(26005)(5660300002)(54906003)(9686003)(66476007)(64756008)(478600001)(81156014)(4326008)(8936002)(53546011)(6506007)(33656002)(81166006)(52536014)(66446008)(66556008)(966005)(86362001)(66946007)(2906002)(7696005)(71200400001)(76116006)(55016002); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR11MB3783; H:BYAPR11MB3143.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EN32vLrRwgZV+I2Qhn8ySbvWfJ4y+mhwH4qcIOJtEsqnADsdwSDrwJK2tYkUDYpQeNUgJFqJgMyHcrbmkBnIBr6Fvtb5yKpGhp4zAq07OcFVJLWWncH7dBcOHCZoSaxFOewR8lIJJRF7CO+Sn0fVUgYQhIwyS9UHyLt6llnGmPunPxnI8koPrZYUUKIZWk7l8K6FDOAi+eVFNInBsHTCGb//Ob/cytrmu7DfM3rjpRtw7N7UIEjV9vu8fRT3evvJJdvqXFltf69ngSAXvHGhnv5XenW5SkxkxrlWbWv+PLdctuYtIBLVEn9l1Qz+2iWy7IF5cEXyLd7/1VEQfahe319zQ/3XPvEPV3dnhVH4Lmfd3ApMucqXeKYTKImnSP1gdp4Grr6eKYos9Pd5FqyTUI7XjKpeJe13P76uuUqXNlmRFswqL1kwLyODMMh65WgyR1LfSC398jvqxn4otNA7gDKk/F0UnIwKKBTNieVwlQFyQs7K6ecbKudTLVHzjlwBq7FFCQITlTdOnTH9ilBPrA== x-ms-exchange-antispam-messagedata: nfoipCSXU9J3vXZiCiFMtQ41oRI8NAuuQzbWeUmNfs+mCVTx07pjVq18WIOqxQN5qnPjm/3dlVwoNKjC5GYY5NzIjfbh4PieNI4w3fQlOzwfoDTYkukF8wZ3HUIV+hBQamXYvvhHJxSPtsFTVTwsSw== Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 535d20e1-d6c7-4fbb-4baf-08d7d25bbb25 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Mar 2020 14:32:51.8495 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: QxhVQL8ISjfT0f/KNh0xrLC4xlsGYiPJ8+CU93TF/dpolWpl/V/paUvebQCJpTUJ0Ca9qEwAddFYmkXGvAfLJotX+Ky6Yc9KsKTbSIS0oQY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3783 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v2] eal/cpuflags: add x86 based cpu flags 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" > -----Original Message----- > From: Thomas Monjalon > Sent: Friday, March 27, 2020 2:16 PM > To: Neil Horman ; Dodji Seketeli ; > mdr@ashroe.eu > Cc: David Marchand ; Laatz, Kevin > ; dev ; Richardson, Bruce > ; Van Haaren, Harry ; > Honnappa Nagarahalli > Subject: Re: [dpdk-dev] [PATCH v2] eal/cpuflags: add x86 based cpu flags >=20 > 27/03/2020 14:44, Neil Horman: > > On Fri, Mar 27, 2020 at 01:24:12PM +0100, David Marchand wrote: > > > On Wed, Mar 25, 2020 at 12:11 PM Kevin Laatz > wrote: > > > > --- a/lib/librte_eal/common/include/arch/x86/rte_cpuflags.h > > > > +++ b/lib/librte_eal/common/include/arch/x86/rte_cpuflags.h > > > > @@ -113,6 +113,24 @@ enum rte_cpu_flag_t { > > > > /* (EAX 80000007h) EDX features */ > > > > RTE_CPUFLAG_INVTSC, /**< INVTSC */ > > > > > > > > + RTE_CPUFLAG_AVX512DQ, /**< AVX512 Doubleword = and > Quadword */ > > > > + RTE_CPUFLAG_AVX512IFMA, /**< AVX512 Integer Fus= ed > Multiply-Add */ > > > > + RTE_CPUFLAG_AVX512CD, /**< AVX512 Conflict > Detection*/ > > > > + RTE_CPUFLAG_AVX512BW, /**< AVX512 Byte and Wo= rd */ > > > > + RTE_CPUFLAG_AVX512VL, /**< AVX512 Vector Leng= th */ > > > > + RTE_CPUFLAG_AVX512VBMI, /**< AVX512 Vector Bit > Manipulation */ > > > > + RTE_CPUFLAG_AVX512VBMI2, /**< AVX512 Vector Bit > Manipulation 2 */ > > > > + RTE_CPUFLAG_GFNI, /**< Galois Field New > Instructions */ > > > > + RTE_CPUFLAG_VAES, /**< Vector AES */ > > > > + RTE_CPUFLAG_VPCLMULQDQ, /**< Vector Carry-less > Multiply */ > > > > + RTE_CPUFLAG_AVX512VNNI, /**< AVX512 Vector Neur= al > Network Instructions */ > > > > + RTE_CPUFLAG_AVX512BITALG, /**< AVX512 Bit Algorit= hms > */ > > > > + RTE_CPUFLAG_AVX512VPOPCNTDQ, /**< AVX512 Vector Popc= ount > */ > > > > + RTE_CPUFLAG_CLDEMOTE, /**< Cache Line Demote = */ > > > > + RTE_CPUFLAG_MOVDIRI, /**< Direct Store > Instructions */ > > > > + RTE_CPUFLAG_MOVDIR64B, /**< Direct Store > Instructions 64B */ > > > > + RTE_CPUFLAG_AVX512VP2INTERSECT, /**< AVX512 Two Registe= r > Intersection */ > > > > + > > > > /* The last item */ > > > > RTE_CPUFLAG_NUMFLAGS, /**< This should always= be > the last! */ > > > > > > This is seen as an ABI break because of the change on _NUMFLAGS: > > > https://travis-ci.com/github/ovsrobot/dpdk/jobs/302524264#L2351 > > > > > It shouldn't be, as the only API calls we expose that use rte_cpu_flag_= t > accept > > it as an integer parameter to see if the flag is enabled. Theres no us= e of > the > > enum in a public array or any struct that is sized based on the number = of > flags, > > so you should be good to go >=20 > Indeed I cannot imagine an ABI incompatibility in this case. > The only behaviour change is to accept new (higher) RTE_CPUFLAG values > in functions rte_cpu_get_flag_enabled() and rte_cpu_get_flag_name(). > Is changing the range of valid values an ABI break? > Why is it flagged by libabigail? If this enum _MAX value was used by the application to allocate an array, t= hat later our DPDK code would write to it could cause out-of-bounds array a= ccesses of the application supplied array. Abigail doesn't know what applic= ations could use the value for, so it flags it. IMO Abigail is right to flag it to us - a manual review to understand what = that _MAX enum value is used for, and then decide on a case by case basis s= eems the best way forward to me. Thanks Neil/Thomas for reviewing, as reply in this thread, I also believe t= his is not going to break ABI.