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 7317043270; Thu, 2 Nov 2023 18:32:50 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5316540262; Thu, 2 Nov 2023 18:32:50 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9]) by mails.dpdk.org (Postfix) with ESMTP id C46EE40144; Thu, 2 Nov 2023 18:32:47 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1698946368; x=1730482368; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=9MfwttR0jOhVp+AB3YDncCik4jgk0hsUIuJye03++Kw=; b=diZcOZdoRRwJtbZno1vweUEEI5EMJSOfA5juD5AjxWBHtvOZcda88iZY 4zu737HUH5Y8/Ag6v2nwN5It7x0zoP2LZaYfanI3JY9N31dkfQ+bP+q+d P0eh3tF8YVWA3VlnW4X+kPwSUGbturHoD5vJSm8yjkMY0EmPrvXo9e64s bS2DANQOoHW041r3i7+0ki/80WrYRzRXo1Yw8lB/4mMm8lPhtctOXffWK k8l58m3ozihJlD0VmrIqtHCKYBtpiFt5OlY7xYhF702bOLQB7G1alf8Ep RiHDriKW2y7cbb+yhdiUqMd0NIguuDNJtHz79vllYl9HdErr6iHeNoxJU w==; X-IronPort-AV: E=McAfee;i="6600,9927,10882"; a="7408478" X-IronPort-AV: E=Sophos;i="6.03,272,1694761200"; d="scan'208";a="7408478" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Nov 2023 10:32:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10882"; a="1008525258" X-IronPort-AV: E=Sophos;i="6.03,272,1694761200"; d="scan'208";a="1008525258" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga006.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 02 Nov 2023 10:32:46 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Thu, 2 Nov 2023 10:32:45 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34 via Frontend Transport; Thu, 2 Nov 2023 10:32:45 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.168) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.34; Thu, 2 Nov 2023 10:32:10 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jzTZ1mJkXahrUrVsKHQqNVeFy0nY0sYAqTJmhD+60/ivx83UgGWcsZ7ixsP7AQG+UCuPzNkkPAVz177ccPwUS4hC5Jl+9w//x9gY9+GJgwW0RzXdmkSSarSE/SHrWvjvqNgOjtZH6+es+GmzFklwz0xchwc3016mTj/DL21GT7aQ2d3Ghos4x1mfIH6J7z3HIffyTaaOYMPcn+GFRpYk9p1Uod6C2AMr7jnjn/Hx97h32jh18fbpR6/MdobRvLNijfFCVLg413jKwDAWH2hW4sf2CuKscpUe1lz5Fs6+AmwkzcT6PJazbbuZXFakbdSjTRNrxUUmH+9ejNVFNWFfiw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=yAS6O3uK0Wch0oIM+2Id3rFA6SuqQaWssHO2tMSXsGQ=; b=YbS2XBr4+hIFnIGn3kpsR0VWxrV1HIoJi74S626ngCPgNWprYMPfUKqS1U59lgMMAD7GIe5zOTOr9+JCO1DDUed0W0qj2k/RzIO0kd1jKIgwOli5TTK3BLkAPLcOd/UuyqbSX5A9n74q2FzBoepYSjZASDpaOuihZSIMEGCFOFc4FBVNUHP3/Y3UOpd84y3HQXNH7+oIPSuklBXwub1f+vIlX1btanxvGvm4LS76141LL+wnJdIW4jm3DgNV5RFWWMD8caX3+mMAvnLDXrjKDeOXVEwBdF3fpLjJdcJm/4zWvoEdzKBv6Etlb5UPQlF1YBNF3TwwzBbFPF04irCwCw== 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 Received: from CH0PR11MB5492.namprd11.prod.outlook.com (2603:10b6:610:d7::21) by MN0PR11MB5985.namprd11.prod.outlook.com (2603:10b6:208:370::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Thu, 2 Nov 2023 17:32:08 +0000 Received: from CH0PR11MB5492.namprd11.prod.outlook.com ([fe80::25ad:94f1:5635:9cf8]) by CH0PR11MB5492.namprd11.prod.outlook.com ([fe80::25ad:94f1:5635:9cf8%7]) with mapi id 15.20.6954.021; Thu, 2 Nov 2023 17:32:07 +0000 From: "Cornu, Marcel D" To: "Karas, Krzysztof" , "Ji, Kai" , "De Lara Guarch, Pablo" , "Power, Ciara" CC: "dev@dpdk.org" , "stable@dpdk.org" Subject: RE: [PATCH] crypto/ipsec_mb: Do not dequeue ops from ring after job flush. Thread-Topic: [PATCH] crypto/ipsec_mb: Do not dequeue ops from ring after job flush. Thread-Index: AQHZ8UIRKX1SfcoLS0OueNFfypabVLBneclA Date: Thu, 2 Nov 2023 17:32:07 +0000 Message-ID: References: <20230927124034.1092086-1-krzysztof.karas@intel.com> In-Reply-To: <20230927124034.1092086-1-krzysztof.karas@intel.com> Accept-Language: en-US, en-GB Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH0PR11MB5492:EE_|MN0PR11MB5985:EE_ x-ms-office365-filtering-correlation-id: 4fa97133-0751-4032-ed61-08dbdbc9a361 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: tZQLZiH5Jr9Dioe3rbrkErgXi0NYgkfKkzuT3n4C1zSIzi9gOJVfjq2BqP5IeiefEWwr0d4DyquPwRoxTUwL87OrzHbF+LVFfBnkGg6FoedJXGECFPXZiojUUkr8xx5VFq7i+FWnISWCDNuklIa/TLfUgZwbS0zB11zg7O12fJ4XpyC6xiBPRMMZafvtyb46jAROe2rb5TpeZ1tkW1N3xZxwdMeDHLpY7e+Gy0SYr2YDGVbzKpQm6pbmNCGAhZAM4Q9W5oANwDQNXsPBVtKZYBnDbM7374DO1PZrYkDGoYeldM/amO3EbFWxNwbwqEjzTAKu+gJX2YXLUplwS7GO6lneAh+U5egAL8ZjRGIaHnT06PX0AcTaU99BoeEeMdTOABzlMuXLoxzAR8silzvs4wbhCyu/JdG53q1fl3iKE7CJKcwnDEquqQF4VD1KcigdoEYf3hCPmCa7m06Xqdy3MA0XRD2/c3Ljjp6yysRNYGEha31l/WiP+dCMP6ZprOtt69Gj28QATUASrxpIxLFPzPuMJmHJVNUU6dPA0RhzSZS+Gm/l7Q8JGz7o+ANzaAIy4Xtt1VA9oxH356YVsWCPYAXSbAPwAykT4EbE++yqmfClzrxjGSGG31AN9CztaZKA x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH0PR11MB5492.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(346002)(39860400002)(136003)(366004)(376002)(230922051799003)(64100799003)(451199024)(186009)(1800799009)(55016003)(9686003)(26005)(71200400001)(38070700009)(33656002)(86362001)(82960400001)(2906002)(122000001)(52536014)(110136005)(83380400001)(478600001)(53546011)(5660300002)(7696005)(6506007)(8676002)(6636002)(8936002)(4326008)(64756008)(450100002)(38100700002)(66476007)(66556008)(316002)(54906003)(66946007)(76116006)(66446008)(41300700001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?c61Rr4l6cfk2gtIQjBGRsaxyLLpQuCmfUYy4KxlZxTPtf/F+3OOKdvCTRK7t?= =?us-ascii?Q?v2PZUl3tcdxC0VTh5dJAvfJjhLvWg1zi4iOl4X9mXgSmXDJGXrYgv52IDybf?= =?us-ascii?Q?uAEt/m4d95z7aZJeTnSoDkvZNTbaJVoqFUPbVc5Y7007lqUPnVvAeh5ZcHeu?= =?us-ascii?Q?nes/PM+Po3kKS8A7BRfDSGiErJYWMlrHLWw7eFjcwtmD1eNEZBnEKpn9qMbY?= =?us-ascii?Q?LAZREWi+XmUno9t5KqNAYGCmsoTnX0dd//CSQizwfnxrLNRH2VukYL7CUoux?= =?us-ascii?Q?6IqX+pvloits6JMZ1FoUp1IMw3glNYwCv0GSCVl4AEWbMdEWNX4mv/eCiPj3?= =?us-ascii?Q?obbezyZYiDQXqN8A0ICxF7ZMhOBf+82/NBoF++vmWf1ooynjtcpTqTNWkCbS?= =?us-ascii?Q?EqaXe0PHeo65M3+A/0LB0rG+gO/WsP8QvwC4bF4qC7nQEEIIcoNMpPERurxj?= =?us-ascii?Q?ur8eEpCrQNBMpc20kDa05h9XR6AUi1bvczIZGwf74YdfVAomJ/yoV8Z6Z4GZ?= =?us-ascii?Q?Kqd7eFghm1iXQhGMd35QsSJKLXv9jHHbycINHWZ+W1atXF3H7gW7mN4ZKKBU?= =?us-ascii?Q?CKEu1NRc3ejv/dDnMIG5o7GTcagPe6vHSw/D+RmxkANg91o4qJeCU7fZLZkL?= =?us-ascii?Q?rHTnxsSFMtIu4iwXMrPCGjsBz8PPbPqLpn9gdM9mQjdeM8xDUeQnUTvs3RnW?= =?us-ascii?Q?OAk9rt8rWwPsimK8bcZBJDVs8ayTQIfYWAuJUnyq6JKIxYgMyv9DXc2+wsEY?= =?us-ascii?Q?aY81ycOnqbddWdpUDscA5m2dSs7nQ0GY6aJ3PcQ8HxYKDv83ZVGYciWkIbnv?= =?us-ascii?Q?KpgshdT4sDuDDLK86kvFSIcWHvJ5butO6Hf1ekjPwlj8Nw5iVCpe5ZwMQGtk?= =?us-ascii?Q?DBdbKu+y7ApKu9C/PY6YzPQ2E1Er2yzATFDIHEx2smSTnB2oRg+6b0fM+r5d?= =?us-ascii?Q?/kfcKUtSyNChfSmanVMRJunvryPD+vaHt9NH4WSy0oyyUC5HEByDVzkk6Hml?= =?us-ascii?Q?jEzjUaLfAe14qFKwfSzw8Y8GexupnmyECyGtmdXWEQO+/1yB8YTXCoidznaF?= =?us-ascii?Q?gz1loMbG0XQ83v548hXjK5/M6mtEeqYUrQVWtYHHkMnOmwl990kABQeJuQbW?= =?us-ascii?Q?q5jGaxKrmRxC+gfNy9CLVl+8/hokhrcU4Mq/oJXgoWtdBdGBfM70/oED2Cwx?= =?us-ascii?Q?uzkRc48XL8wUcVlPLdCy6+5RDWhmEM9Rzj2pgYRBm6Qk69KqUXQFbFYUoSk0?= =?us-ascii?Q?eaC16VQSJpZ9VcGojumfeUr63wRyaI8q4amxyOXOil0uhY1CWby2oWk4Qq1I?= =?us-ascii?Q?wPUAjj1Lgniyu5Tiae7iXdg6Pq8fqmaZkZbbFTpguzACTykQP6ugHy9BSZCv?= =?us-ascii?Q?+6oA/4C0xSGwcuTNFO+O137Ydcls7R1rLqf86P8vypl68UDOX2iHb05mfE+G?= =?us-ascii?Q?S0N2E1iZh5bXUgLa6j4dl59j37nRW7aiidQqB3pWRQrJTtwUeytjV4YNmE0h?= =?us-ascii?Q?XBxfkBydpfFsV6xjbGvtzqid6zR/m3vEtS7bkvW+rW0FbOfR6semXb45q3vQ?= =?us-ascii?Q?weIpmmqc3SYX80pmHKK8DweLFFl8vnZp60FqfNA9?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH0PR11MB5492.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4fa97133-0751-4032-ed61-08dbdbc9a361 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Nov 2023 17:32:07.8464 (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: q94e2yOOAEr0TCUGFrVW8oS1qSwvu/4jfC/M8sEiJBU3D3OwEqS+gV7kKlfWI5stYdKkEcqpAHvHPrIOYtCRiMlzuWaGfAT/hxocPm/zBG8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR11MB5985 X-OriginatorOrg: intel.com 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 > -----Original Message----- > From: Karas, Krzysztof > Sent: Wednesday, September 27, 2023 1:41 PM > To: Ji, Kai ; De Lara Guarch, Pablo > ; Cornu, Marcel D > ; Power, Ciara > Cc: dev@dpdk.org; Karas, Krzysztof ; > stable@dpdk.org > Subject: [PATCH] crypto/ipsec_mb: Do not dequeue ops from ring after job = flush. >=20 > Previously it was possible to increment `processed_jobs` to a value great= er than > requested `nb_ops`, because after flushing at most `nb_ops` jobs the whil= e loop > continued, so `processed_jobs` could still be incremented and it was poss= ible for > this variable to be greater than `nb_ops`. If `ops` provided to the funct= ion were > only `nb_ops` long, then the `aesni_mb_dequeue_burst()` would write to th= e > memory outside of `ops` array. >=20 > Fixes: b50b8b5b38f8 ("crypto/ipsec_mb: use burst API in AESNI") > Cc: stable@dpdk.org >=20 > Signed-off-by: Krzysztof Karas >=20 > --- > drivers/crypto/ipsec_mb/pmd_aesni_mb.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) >=20 > diff --git a/drivers/crypto/ipsec_mb/pmd_aesni_mb.c > b/drivers/crypto/ipsec_mb/pmd_aesni_mb.c > index 9e298023d7..ff52bc85a4 100644 > --- a/drivers/crypto/ipsec_mb/pmd_aesni_mb.c > +++ b/drivers/crypto/ipsec_mb/pmd_aesni_mb.c > @@ -2056,7 +2056,7 @@ aesni_mb_dequeue_burst(void *queue_pair, struct > rte_crypto_op **ops, > uint16_t n =3D (nb_ops / burst_sz) ? > burst_sz : nb_ops; >=20 > - while (unlikely((IMB_GET_NEXT_BURST(mb_mgr, n, jobs)) < n)) { > + if (unlikely((IMB_GET_NEXT_BURST(mb_mgr, n, jobs)) < n)) { > /* > * Not enough free jobs in the queue > * Flush n jobs until enough jobs available @@ -2074,6 > +2074,8 @@ aesni_mb_dequeue_burst(void *queue_pair, struct rte_crypto_op > **ops, > break; > } > } > + nb_ops -=3D nb_jobs; This assumes the loop above completes without errors. If post_process_mb_job() returns with an error it will break out of the loo= p and nb_ops will be decremented by the wrong value. Maybe decrementing by 'i' would work better here. > + continue; > } >=20 > /* > -- > 2.34.1 Hi Krzysztof, I noticed that when I run the dpdk-test-crypto-perf applicati= on testing with imix, the number of failed enqueue ops increases vs without= the patch. Example command: dpdk-test-crypto-perf -l 4,5 --no-huge --vdev=3D"crypto_= aesni_mb" -- --pool-sz 8192 --cipher-algo aes-cbc --cipher-key-sz 16 --opty= pe cipher-only --cipher-iv-sz 16 --cipher-op encrypt --silent --buffer-sz 1= 6,6144 --imix 99,1 --burst-sz 32 Could you try it and see if you get the same result? Regards, Marcel