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 2686AA0A0B; Mon, 1 Feb 2021 11:02:21 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B0BA7160667; Mon, 1 Feb 2021 11:02:20 +0100 (CET) Received: from ebb10.tieto.com (ebb10.tieto.com [131.207.176.23]) by mails.dpdk.org (Postfix) with ESMTP id 90B0140693 for ; Mon, 1 Feb 2021 11:02:19 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; d=tietoevry.com; s=s1; c=relaxed/simple; q=dns/txt; i=@tietoevry.com; t=1612173739; x=1614765739; h=From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=0Pziu7fLGDnfILhSHZMZNv3Y77e9ZlDBAGSQ6Q13Zg0=; b=T2AV1PnLXoNJH+NFFMGyK8PT9+xejpd8t17BZCPb4CzjkX+VprwFPE90y76IGxVC xaW38vB/hD4AMZMyD4SYrefq5jKx4p728SYEZ+vcuMpIM2YkRLEInbiH7pQrSC6F kVI3FRfF7fZkywsFSuSH1Wx98Xctl/vMKjWayQxp6s8=; X-AuditID: 83cfb017-a1fff70000002b7b-18-6017d1aa1b31 Received: from C105S135VM025.eu.tieto.com ( [10.34.8.67]) (using TLS with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client did not present a certificate) by ebb10.tieto.com (SMTP Mailer) with SMTP id 04.CA.11131.AA1D7106; Mon, 1 Feb 2021 12:02:18 +0200 (EET) Received: from C105S135VM014.eu.tieto.com (10.34.8.52) by C105S135VM025.eu.tieto.com (10.34.8.67) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 1 Feb 2021 12:02:18 +0200 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (131.207.56.46) by C105S135VM014.eu.tieto.com (10.34.8.52) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Mon, 1 Feb 2021 12:02:18 +0200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UbJNgainIsIYOITAf9NtwYOaYVMOXMB4oE5uEOAbdld69RSy7jqHp6BpImCudNZtC88qLF122IiJ45jCSuvbpm2ATP6sy2xyjs+dlUaJHFPq1BGwepsKw3P9S5dcoSa703sPlYCUJCnj5v3KYihSMVU7LHB+6pGdzT+4Y0c2Qiixugf0uj07KbMP25pbVHlSA/j+g98VySs8+5wNhlNWJuEgxK6Q0zUunlmTq0teqgF76I86CxWZeXKeaQ4wtyZxM6dg2XazYxK6ju+xx2n8Dx2tiX9FwOsJr69I7T4E90KZgmaVZf4pyF4cGuRTvAefkOjhHMDpjKsLtBLT5TsWeg== 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=NMsSQRDWDrDAn8t5Z9n8/jylrn+9mG1vNWJdAlWd3I0=; b=KNSIN2omQFKHzLMlAgqoYPualPLLLF7m73ftD7jdLtg9QFQGVAj2vre6KlrCnrP89SVGxlkVmdCKPI8WX7UG7Eh/BF3JxIulb6zjduKzzIYBkw4WJMx4t73Uf1eOeQUB0m9mKYbqNwM9jHSASjtyCEuF3y2LKkaJ+qqBbCPtjAUmpnsqWLcyLAswm/+luaJkmpugHIwPh9b363+dpEIsDGa2BfFNTMYWVNy0cMPdF0WQluy/4i9SVFJCVNXDWdGsaCsHikQbA7/qBR8PXdbrDN63I+3OTtMFH3iovhxecPA9HC0skbcFtKGBNCAxkS2mtTzYEpEtyAPTh2RsunQF/A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=tieto.com; dmarc=pass action=none header.from=tieto.com; dkim=pass header.d=tieto.com; arc=none Received: from VI1PR04MB4303.eurprd04.prod.outlook.com (2603:10a6:803:3d::20) by VE1PR04MB7295.eurprd04.prod.outlook.com (2603:10a6:800:1ac::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.17; Mon, 1 Feb 2021 10:02:16 +0000 Received: from VI1PR04MB4303.eurprd04.prod.outlook.com ([fe80::e8c9:b286:cf3f:e069]) by VI1PR04MB4303.eurprd04.prod.outlook.com ([fe80::e8c9:b286:cf3f:e069%5]) with mapi id 15.20.3805.027; Mon, 1 Feb 2021 10:02:16 +0000 From: "Fredrik A Lindgren" To: "Van Haaren, Harry" , "dev@dpdk.org" Thread-Topic: Question: typedef of eventdev_info_get_t bug? Thread-Index: Adb4en0LIeGDpUGTRpesaiMx8+RA6gAA5+4QAACUs+A= Date: Mon, 1 Feb 2021 10:02:16 +0000 Message-ID: References: In-Reply-To: Accept-Language: sv-SE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=tieto.com; x-originating-ip: [92.35.187.108] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2b1bb3ef-1ac2-4002-7a97-08d8c69874b3 x-ms-traffictypediagnostic: VE1PR04MB7295: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2512; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: UacTjTh7Gt2XMpa6154pAJWpzIBATM6bnnRizCS3H/jSUC5IlLVwmd4TcaE6MKxIt5hLqZodI8pvbF/PTinB5SzjU5br1wHrJ+CYrdgrEbWougjz4vtY7WXs2Fnz6V2DLyMhMqgQ/WSNbeKnaFB4PP8FkTmiutu2BZJrjGYIQQoTvjgpCSQuooeXl3Tnsxwn7k4fFrCpKZ+Of4TXqZIpT8gJ3F3FvvUDiFE9rCisFQBocyRqn+vG9e24xqkDTaDZL9utbYBYYtukcdY4LD8QjRk6uaaZXflze1oM4PEWwdW50+7+lU0IqM3Os5SKQp6MfHiLZwhPA3yjTl9iljpyZbXHIWARhBsemSaQvnSx+saVXClWdbIVMlHvAza5UuhZ72h3RRZmeWqHI7UpOozfslkgxvvVwEU26RyBy14B16xKCtkkHvXi9FdK0AKVdxNd0+G/WKpaol8hd8uDfOT2tva4ceFjgj58Kn8qJcItYOmGiHf7/hsYfC3Rwu7+Pam/YQxb8g4odX+NprjcqE/qLLMtWh+vsmfSADzluijmZAsBQKFJwZazgycZw8Z23ja6iXzWGSrVewBf/hm7BJB3RocslHfOzCeDUlCPisUVWgs= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB4303.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(7696005)(66556008)(6506007)(53546011)(55016002)(8676002)(83380400001)(2906002)(498600001)(186003)(52536014)(66446008)(66946007)(64756008)(66476007)(71200400001)(9686003)(26005)(86362001)(8936002)(33656002)(966005)(5660300002)(110136005)(76116006); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?XMmpXMwlWqPpru931hP1di46r+LREnBiwNok6gZmPIjYkxlnjR3+0QJt19tU?= =?us-ascii?Q?H28/3COxCuIpAmIZpQTQY6Cr9dqAbMwuNW5sqpM3E4kY9M+4kz3n5WXf7lMz?= =?us-ascii?Q?3p12NqKkqPtMJyKgW1ln7CpuOp4PZvgYKogt6D7m+tYmox34MGLgbQ4+mJlp?= =?us-ascii?Q?iB2WrQKiUvF4YPzBmHm/TNJm/biYOvNsHYGFe+raq8+wqyxWNoRMUtbHgNPX?= =?us-ascii?Q?PQEp4jfBHdwDSnGyfwPQSbg61HwNafXXefMXENDd4offQAHIPAytFbFioB20?= =?us-ascii?Q?K2TmuxFDEwqiyUlGjXpuZDsnmqxVOjc60RUB22Iwklysl9OsSIsuMF0jzTx0?= =?us-ascii?Q?pTnMBD2rbSLpHlTxidZ3UH4WLNO1jmLRRnEXSIxiba+qZNEs/esQFunNB2PL?= =?us-ascii?Q?nFC/NUSugF5iVtHW0Vk8ptSFHo9mzFCi8UsUC4jdYiPsQN6Tr+fad2lkufA9?= =?us-ascii?Q?Zibsk9vFfy7FK5u4oeCElnkh9uw+OB/KXM/jAhUSGFwuDkaWD6U3tIZ5xLSI?= =?us-ascii?Q?BiQI4VuYjgyrt/waO7DowqYi73HRhhVJtvE4Lh43vu8rGs04zqWsgDI/1c7h?= =?us-ascii?Q?/nUeWFuALfITBCSvZ3N8zxyJ6s/e008KSCDuKZNuh1dSVx1SoWogpY85RkkI?= =?us-ascii?Q?CLS3V+jJJW7n+ogWDLLok/qu9dTtru+fxFNDNZ5K1cmPclgigOt11cmCTQZr?= =?us-ascii?Q?RuU2sA6yrjF4VzhEzz+akG7MwQgPNdbMyoPbMGoiN//bxVginMvgST596k8K?= =?us-ascii?Q?8JYhpj1enMDm5xp4UXudTphPDBRBI2ElWdwf/SSSy/vblZTXlUlc/sSAuUkO?= =?us-ascii?Q?KP3awZMz1uuYd35Yogozf24YTTbbF8CH6Rz06Ne8lg7NvH6bNmQifaaisCfc?= =?us-ascii?Q?q4U9vcaleZnTxOtdYrbv6+ejpdrcNX21aZEmXlTfXgQtGqIbFBGt4TuLOmVi?= =?us-ascii?Q?F7ORMVLp7MQ2CZam84BVpFFkKajSjPRSDdTOXy0K8XLUi9IhGt/WcSXLRswX?= =?us-ascii?Q?13DbTmQlnklbOAwruVEl6sWeX7UiMHBE/NonrcvUC8V9vURL7dUu59VmdEvS?= =?us-ascii?Q?q3afOycS?= x-ms-exchange-transport-forked: True 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: VI1PR04MB4303.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2b1bb3ef-1ac2-4002-7a97-08d8c69874b3 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Feb 2021 10:02:16.7123 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: cbede638-a3d9-459f-8f4e-24ced73b4e5e X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 8ZOnn+JOxRqRPqIXzH82FjI0bdZLWRihnuHYVgzWkbT38sysVMJQV1dazj9KbqPA626elrvLbKUwKBIBznjw96vRGq4MUFdWSlOPdaJq+Dw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7295 X-OriginatorOrg: tieto.com X-Brightmail-Tracker: H4sIAAAAAAAAA11UfUwTZxjfe73Do+s7X660fe3A4LnsD534MZcQ9xnNFrPMzX9kCdmkBz3a htJi74rWZAbD3BiEFD/SIYkDdNOJcVMTxqowRonL1oUx1OhmioDIAFEYLLrMuI/3ele87r/f 8/s97/N7nueeHGvgThntrMcniwGf4OUzjLSRZzetah+0OdZ8dGh1wcx8J1WwN3yffoXa/KD1 M2bzsa4paitVZHzBKXo9VWJg9UsOo/tIXy9T+Qne1XMpQlWDBnMdyGQxWo/v/vUwow4YWQ6F KTx/eIxRgw6Ao/v+1YKbAN9piy9SAoCOG/DDSJRRgziNhxvOZyjFAPoS4ObZQvXJMQpfjSdo NRgFuK//QxKwbAZ6Ee+NmhSYjbbha9OFylsz2oAbL9fSCs5Gz+POpm+BijfgroODlIJp9BS+ 2DvPKBiid/AH3RNaeeJ772pHsolM9C6uPplg1IZy8fCfN5JFDciGr99qodSpEf60a8CgYgue GvtHy68DeHI8T+WX4Z6jc7SKc/Gllnqg4i048s1prc4K3D1Yzai4HJ8Yml2k4qfxTFuNVn8p bm8Y1erk4JFfOpPbxijM4Mk7vVQjWNes60/Fz+DWC/MZKl6Jj7dNG5qTQ2fhHw7folsB3Q4W iyUla9fkyx5R9ueX+ivOAXIXNQNnbF+DpkObYgCxgDfBSLfNwTFClRSqiIFyluIt8PcZi4N7 osTvDLkFyV0cCHpFic+GdwdIJlygS4Lect4O9yiseYH1iTslryiTQ+SXQmen1cHZFjQpKFV6 Sj3+oFQcDHhjALMGUjZ+gCRBpxDaLQb8qlkMPMnSvA3KJzgHh1yCLJaLYqUYSKk7WZbH8ObP xDkrILrEXWUer5ySybuhPKIgvZJsNheeHSJeVr2g63cZdLVnOzi7Xv5/yxSbGQMu1kT6Pq/Y Q6lSqJA8Ls3aDOv6CWtKsUnbJZD5npBcitRZ5sKQsiJrSkq3i4N9gG2cOnLUwNE+v0+026Bf MUVKujvoWxjZboU33iLfbLFOUKztOfDeKfLAouMfudvzYM4eoi7RqekN8MmDKci/DUrJrZhh jeJuIr+ZRxNzsOVHQj6ukcmBMWxKfhqN082bAwVlXoumpLvdJoulyGLnOpSDkGRB1i+2/iur sliN1Ra7XanGpci0xUbVxWpSupO9GrxhEVzD2/aPrkyMZKEIGDdPVwXCJ1+bEH87XZa4crBw eX+4LFRb8+rEyMsg2tN4OfPa/WfX/1Gf/76z9u+NOyLO3b+W/fSms+j1cev2HY99MYueK7py btWB4s+l3u/aWrusQ+z1Le9ZPVH54sfNZ9/eaJkY83Jb+9btn7wwN33mgS+xnKclt7B2hSEg Cf8BvJSTOr4FAAA= Subject: Re: [dpdk-dev] Question: typedef of eventdev_info_get_t bug? 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 Sender: "dev" Hi Harry, You are correct, multiple structs with dev_infos_get defined in them caused= me to jump to wrong implementation. Still a bit "wrong" that comment for eventdev_info_get_t for event setup st= ates returns 0 on success. Using older version of https://github.com/Xilinx/dma_ip_drivers/tree/master= /QDMA/DPDK targeting dpdk-19.11 for a corporate internal project as such ca= n't give much details. That version had a issue with no return statements in the infos_get functio= n which was causing me issues. Br, Fredrik -----Original Message----- From: Van Haaren, Harry =20 Sent: den 1 februari 2021 10:44 To: Fredrik A Lindgren ; dev@dpdk.org Subject: RE: Question: typedef of eventdev_info_get_t bug? > -----Original Message----- > From: dev On Behalf Of Fredrik A Lindgren > Sent: Monday, February 1, 2021 9:22 AM > To: dev@dpdk.org > Subject: [dpdk-dev] Question: typedef of eventdev_info_get_t bug? >=20 > While debugging a driver I was looking at the code and realized that=20 > eventdev_info_get_t typedef is defined with void return value but=20 > documentation for it says it should return 0 Hi Fredrik, Be aware that your snippets of code below is mixing Event-dev and Eth-dev. This is likely the cause of confusion. > lib/librte_eventdev/eventdev_pmd.h: >=20 > ... > * @return > * Returns 0 on success > */ > typedef void (*eventdev_info_get_t)(struct rte_eventdev *dev, > struct=20 > rte_event_dev_info *dev_info); ... > struct rte_eventdev_ops { > eventdev_info_get_t dev_infos_get; = /**< Get device info. */ > ... >=20 > While return value from it is used in lib/librte_ethdev/rte_ethdev.c: >=20 > int > rte_eth_dev_info_get(uint16_t port_id, struct rte_eth_dev_info=20 > *dev_info) ... > diag =3D (*dev->dev_ops->dev_infos_get)(dev, dev_info); > if (diag !=3D 0) { > ... At the Eventdev layer, info_get() can return int (particularly 0 on success= , or -ERROR values). At the Eventdev PMD layer, info_get() has a return void (the PMD cannot ind= icate failure on providing its info) Hence, the info_get() typedef (for the PMD) is void, but the Eventdev layer= itself checks some dev_id values etc, and can return -EINVAL or -ENOTSUP i= n case the PMD doesn't support info_get(). > Driver I'm debugging doesn't have any return statement in it's=20 > dev_infos_get function which seems to cause it to have "result" of=20 > last operation done in that function as return value. > Though this behavior may be compiler specific but it should probably=20 > be clarified and updated (change prototype of stop using return value) to= avoid issue with it. Perhaps provide some more detail on Eventdev/Ethdev that you're debugging a= driver on, provide some links to specific parts of the code? It seems like= (from Eventdev anyway) its meant to work this way. > Br, > Fredrik Regards, -Harry