From patchwork Mon Feb 6 12:37:54 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petri Savolainen X-Patchwork-Id: 93422 Delivered-To: patch@linaro.org Received: by 10.140.20.99 with SMTP id 90csp1687274qgi; Mon, 6 Feb 2017 04:40:47 -0800 (PST) X-Received: by 10.107.150.10 with SMTP id y10mr6312206iod.221.1486384847473; Mon, 06 Feb 2017 04:40:47 -0800 (PST) Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id b66si9052723iof.234.2017.02.06.04.40.47; Mon, 06 Feb 2017 04:40:47 -0800 (PST) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id F2101607A3; Mon, 6 Feb 2017 12:40:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAD_ENC_HEADER,BAYES_00, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id CF13462EB8; Mon, 6 Feb 2017 12:39:07 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id AF62D62DBC; Mon, 6 Feb 2017 12:38:33 +0000 (UTC) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0112.outbound.protection.outlook.com [104.47.2.112]) by lists.linaro.org (Postfix) with ESMTPS id 2C06160B51 for ; Mon, 6 Feb 2017 12:38:28 +0000 (UTC) Received: from VI1PR07CA0052.eurprd07.prod.outlook.com (10.164.94.148) by HE1PR07MB1625.eurprd07.prod.outlook.com (10.166.124.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.888.5; Mon, 6 Feb 2017 12:38:26 +0000 Received: from AM1FFO11FD035.protection.gbl (2a01:111:f400:7e00::121) by VI1PR07CA0052.outlook.office365.com (2a01:111:e400:5967::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.888.5 via Frontend Transport; Mon, 6 Feb 2017 12:38:26 +0000 Received-SPF: SoftFail (protection.outlook.com: domain of transitioning linaro.org discourages use of 131.228.2.36 as permitted sender) Received: from hybrid2.ext.net.nokia.com (131.228.2.36) by AM1FFO11FD035.mail.protection.outlook.com (10.174.64.224) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.888.7 via Frontend Transport; Mon, 6 Feb 2017 12:38:25 +0000 Received: from fihe3nok1346.nsn-intra.net (10.158.36.134) by fihe3nok1347.nsn-intra.net (10.158.36.135) with Microsoft SMTP Server (TLS) id 15.1.466.34; Mon, 6 Feb 2017 14:38:23 +0200 Received: from mailrelay.int.nokia.com (10.130.128.30) by fihe3nok1346.nsn-intra.net (10.158.36.134) with Microsoft SMTP Server (TLS) id 15.1.466.34 via Frontend Transport; Mon, 6 Feb 2017 14:38:23 +0200 Received: from fihe3nok0735.emea.nsn-net.net (localhost [127.0.0.1]) by fihe3nok0735.emea.nsn-net.net (8.14.9/8.14.5) with ESMTP id v16Cc4jT019854 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 6 Feb 2017 14:38:04 +0200 Received: from 10.144.19.15 ([10.144.104.219]) by fihe3nok0735.emea.nsn-net.net (8.14.9/8.14.5) with ESMTP id v16Cc4V8019846 (version=TLSv1/SSLv3 cipher=AES128-SHA256 bits=128 verify=NOT) for ; Mon, 6 Feb 2017 14:38:04 +0200 X-HPESVCS-Source-Ip: 10.144.104.219 From: Petri Savolainen To: Date: Mon, 6 Feb 2017 14:37:54 +0200 Message-ID: <1486384684-14761-1-git-send-email-petri.savolainen@linaro.org> X-Mailer: git-send-email 2.8.1 MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:131.228.2.36; IPV:NLI; CTRY:FI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(7916002)(39860400002)(39450400003)(39840400002)(39850400002)(39410400002)(2980300002)(199003)(189002)(48376002)(77096006)(36756003)(8676002)(50226002)(2906002)(107886002)(33646002)(97736004)(38730400001)(53936002)(50466002)(92566002)(86362001)(81166006)(50986999)(5003940100001)(81156014)(356003)(189998001)(626004)(305945005)(47776003)(68736007)(22756006)(110136003)(6666003)(5660300001)(6916009)(8936002)(2351001)(106466001)(105596002)(450100001); DIR:OUT; SFP:1102; SCL:1; SRVR:HE1PR07MB1625; H:hybrid2.ext.net.nokia.com; FPR:; SPF:SoftFail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; AM1FFO11FD035; 1:pRRygGdWyUDsLyvCGamVuY55v9A6MDDJez4qs3gQITEgVYxWssYkdfuf3nUWgkYUw/GsIXJs2ptedTEMajt0RzacAH3umn4wLg7Yr5cWlyid3zyXCACUBCOZGBjrudSED6VdRMYYE+mp1Mb37ECoeLL29iccdl6F9+d97/JKe3LnFd312tvDuvOmY7OOvLbzhmr43PYG1WdtPkOIz2L6ZeHSksBH9X78+NnmKedwvJwp9qicpf8RDe5KwyCgoY0x+ixCAiNmOqb6cjYUe22O50IByHARjnijSmlvS7kCO9qaKluoc8BG2kxO25CLtM3HfN+ugrnPm4Oha8VuLFK1ovPrXXCv6B9C8bOS3yQO90oB/xm0W3IL5QZnLkPpZkXbNCnp6sp8TcpLMeozdzjS4avPIqqIKUn6IdQJ5KvwKz4/n+E3rycfwtiZUBkbGmbYYlp834qotAI8+SD/V0RV646oPdnN4jqXkPdUh/KI6qI= X-MS-Office365-Filtering-Correlation-Id: b7cc8f9d-e8cd-4f5c-e974-08d44e8d0bb0 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:HE1PR07MB1625; X-Microsoft-Exchange-Diagnostics: 1; HE1PR07MB1625; 3:ZOoMa9rwunMG+Y+zf2O/OA1IW0c3f+fTU+9HApf2mP9lh2IiRKCLVvJIG0GBFq/sPBpTQ2JHic3EEe+xVNQBzwxigjgJQWZqc9kMMDtLm797StsHN6AG5Aoqm6k2AQc7/vf+8+DcZTPGowiufZ73rv/cl9PIDT/+saYHKdoxIxYMU/vzsNO6odAnLGXv3lCdC5XsZsR3LZziGKyXLJbf8BBDH7fH7uJjz3DXTAMV/uM4emQEjEZv1ZOfHKiJv2FwHsg04lqC5Qb0lMB3RCFRvJNc3fP2ms14cBMqFn0uPvlwklDGU0IIKMRa3S9iwgDW8dJ9LrXeIfcR4XcLANrVgu60/oW5HFbD1rdeKWC/oXcwKt5v53m9Vb0mbLeBQ1UC; 25:aLxdb9aj1YsokdPHJ5MbHAbd+vkqDuzdyebNL8PCe3sZXl8VFWlP510EUayR7ckMl5kmW2/PrY2NWvF4XtOiTvhGdby9KVXg6FRdRauS1IxUWOJLoq+Vxn7YAr2mcagp468sqIod4oou6kRZnLubGMd5fl7JWfx+/sh5mVBH9jhWhrUvpP3TgT0p1QBRBJbg9OIqqgsoq2QlpWTgY/EQHzDQ7M+b2tZfLtg0FPEfpV4aL4uQu72F1NaLVJxwVvbW1DUHlpMYmYG1Xo9wSQl40wpRQEs6GQYj9Mbfrylj0bafd+A2cpwByUO/KAGs/2RgpQhpDZXrtALJFTcgWuxgIqCjAJ1U7Cfj5BdRasHrIEHzgyARUUEuOhEORwrJgz/w6897oZfbY7HXGFFdQj0rj80L4woJST+D6CVxvM78EyCRlKje6lhklzbi9+fq1boqJSXbhS7e2JSqS983iKtkfg== X-Microsoft-Exchange-Diagnostics: 1; HE1PR07MB1625; 31:pQ9bVjhMGtD8s+5yqQd2/qgeIhA1aIR2LAdAEajnR62fd4t9bbrWSHMATFCyUeJiGqw2lF2kuZBGdNttkmJSSRXuo2vODexCacTQmicjZYm9ahFjakDPY7ctmJC87rKrwBbiJVYCLnSYS4Ey2JbKgi0fO45TCKpuGyMTQEZ3ahF529P+hg4RiIn/qpczoIujBuYIRQJ8FFy7Fd6icBmJvfYASMmIlNFxwHrS+f/YwiW5fjPmIPJO3Np3b6RtyI0XEmHUGywcB40sRvZMUOL+0A==; 20:SGcf7D27j92eaqdWRmWtG1x2j9kJ0Ov6rmebni11GYnGNi/nCIu924pZwLajIxCOAa3GMyZVS6e0c7VvHFLnwI97rJvrZTY8PN3QisvmvTEOhzXyMdC/Fao3gq1Guc8UljNF4+XrwWq/vVgNhvrkPCSt3S5X6MXt7F6LKApVGekOdyZauOsBq+Aj9kU1qbYPzar+8fxw8LEYsIM+Sv/htbc1xw/o842hv209XihS11CLJ3Y8YRA3PZwwgJp3+rsF8HtUgrgKLW53CSpjejmunb6e0kTGD/j4wD4S/CJZqsjNxanfTFwH7qhSmzbMYB6/neWYGkOqfe5uCMAmi5UX5ReNDYc84VQiAyMaX1B6bTN/sMJo0IBGLDdTnJVWblclrlukMFIniT9seFthwishn/lj7nhibxcY+tNcRVGVqiKaOG0HtV/49qBEmt8rpqbKHeHwkWN9LAUdG26yWFt1Hu1m+c1uNkLUN6De7q8oBChGn6ixFmdjdoqhtG9Eew6rnMI/U/I88UTTGPWK9cKVYEILfjnvdwVxQL5Ss+kMffQuEWiIINKSgR0oi+MF7OBx2z8kA9F0cF+/OydrxKHC6oWbCMvZbCfUL7qKZSX4PCQ= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(278428928389397); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(13018025)(20170203043)(13016025)(8121501046)(5005006)(3002001)(10201501046)(6055026)(6041248)(20161123558025)(20161123555025)(20161123564025)(20161123560025)(20161123562025)(6072148); SRVR:HE1PR07MB1625; BCL:0; PCL:0; RULEID:; SRVR:HE1PR07MB1625; X-Microsoft-Exchange-Diagnostics: 1; HE1PR07MB1625; 4:gUsrIXcrp4oSQoHBmHo56xwKWEu08Xf/FUUZxUSpBEMM8GZ9rdtKWNS2sdyLizFi9scGIx1TDZHiCc3djl3GRiMP17OYHMFZ7cxhszROHHU4QhgRSu9XRlXzYcoZVXNiUh7/eVXcUR8OpGkXt0CuQaJpSdEvJ3My9Dkt6CfNmmOhERMNSB0lQzmVHFy37nTBLVJdFb7yxBTgpadLYdE9AzwMCcXSMO4ky7E/wusqdauVzF7VpaFimKKj6N2k743QULonocAWqZY/jf//uBvQZ1UpGyMvoVWjWkikWxm7rCJqbzYI5EFYM2k0KvjcLDIdPjodN0I8MvWfzeSK8XZRbgkvtoxAbsqrbF9ohMqqdz+RGzBMeQNUAspX6fZch4Wpy3kwsqs0euvlFpQtiKn9eBeIp8FJ4pquZXDKdB9F27J6nXLN/vsPjBqagf3dF+QPiWP+ct+oep0kXRU0UTx+HTg0fErWrkRkoZIwZXvI5DQp7Xcjdz7AF73+S9clTB0phU4IOVGYWKyHkc0PWKLg0HIqhz+pdsvE8CblFOYTeoPy1ijNu6lIOWh/jeB3GimP/7h8bYJ25625ssVCs72SfJQ6urpT4WhZ1x0dWPwCpR8WoGeRMcrBlvGrlZIH0dOjzcVmOOHf4QpZ6eBXv3VyprRMorCOBWzqOz8xwoRCq6msKMvdPdtk3RD3jRhHXvkvRz+QCJ1VBdD9ig6PYd+pcJIzrwGZgGasUNM4GjZYcJg= X-Forefront-PRVS: 0210479ED8 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR07MB1625; 23:MGlVDm76xRPR+9enGSMA5WsqnrI2KpZ2V0UVgIUar?= Z+XkFls8c9BWoTdAHFkAmH9k8Si1cIy2CnfokdtHOXV+DxxSP7KIlsmmXD3fdVaOA4vrrdReaQIR0qtkmaq+hBA3ncrhKaCkwYk/6mUTPRx0hEWX4dOKoTLuCI+6UIAAncV2WM/93I2tCjAeQIHpOBjGxoMpPb41s8f1habDLRskQpUR0tFUZYE8klu0QKCngn0b8CLnHHdJbd1Q2wUQ7TFNfROaTkcqo8ZHkbFUVk6JlGAmAt1Lf4K04rTmwC9Iocxi726C2lbcmlfQ6cvgGfmFnGkQtvKlV06d4rwwF9jE/cJVnx1tBbazGquq+j8MuZwBM2BGsOAjZyVN7KvwQw7zQzvJGqKmovDv3Mi4NoLNhqMMXvx2IUZakXZ5H/s06Flu+NoGp8UbivWqPdLmqQmL1V0RCf5RzuyL9yfOliB8ArAE9pkU87L3caYV2WU8a0DLC4ab7HAgJpKS0XXCqqQLwpOgHbVW0eM5V3PNx57aNFkG9kVXD8/Kg02CtJAUWC4NtX769nsLoy9XaEsaVlbatrgxX38828XzeRljfRUdb0fR/hEOz93fgmGTh4iryfwvlHbohFjdlJKFHPZdjIdT5zREcqPMxCZ9QiQlDK2qzaHgD9GID/eSuVII+Xy9M3/+dD/ogE/m1bXSlWj0v/J4FDB/OKpzPW1zr76u3qUmLExIwRHqzLoe/c+a06D9VbzlF5rblodyt9e/p4FOTItlCXjVsosKLb2lczM8ye8xXQHkG1hnTpMgnU+7+jWc21SWeZWBPsIrEj6HbCziK4NTvV99cuZvZiZAQ5TlOWYQ5vf0hqVElf1dWwlbs8h2g3yBRYtuuJzFzbxOB91HxrfwBcR7Aq0NTE341zbVBeq1iVGEqnOVBGQGUaWegKNBAcab7RUwkQmAOREH8RKeqQYU0f6VRMZhTu7QZu18tHon6x4Uay0QhV8Nw2lshasLyY8DE2xW8H6ye7PmntPdENiJ6oNinR++8uQlWLv7lENZ28p0zTp8SmS6knMZNIT9RgZvcZjRuDVJZkPx6nvUvVUIl0fpiJ3/0Mo5PlJd9oPUA== X-Microsoft-Exchange-Diagnostics: 1; HE1PR07MB1625; 6:ZgAHhte9HSlDS7MZghl21mSFtuyOiKy0pBYhxolNFjp/BAUOU53zLr9lCmzqdOhIRYqroJXp73zWdrWE9RjDCbJFkqgislj+RhsLvuxkdvXOMZUB8UAtJGbdpjmwWSBNT/x63OhMOuxYGOJ7nXt2IJSTGCL0V6Fr5CgdM2H1WsWefBaNaoNfhDDLHNI9bZBCBztgFb/WWzB5BNUceLqg0aG4gu2qg4XBOv6veN7ZUmDHc5IvJiQRudJxLrPaF45HLCbqwnVYsUTvpWfUvNdE60Nhu95rLCkOJbnF/p1i/lwiaqKgQPnR1I6ilwg7jayvquysK3vQjA+EqNbulDqkaQyrCa9k0gKBICGP8XlCMWTL9yHRKjBWUOSkYbyo9G3ijzSzNcRVj9u3oB3BlbAv0/wMI20h5UvXkoRbsBM3LJM=; 5:aUnfss/uMviIQUc2sgMbm1qDgyXb12tF34a/0WUcu9kt2mmWiniutnAngjh6Iys5KRHWVVQ8UqL2jYDyFy9+v1Z3LO1GfdmmoB1NdC/7NY/yVWyMClgzmIdYJM+4WWLcKo85HTyVToZj2easCCS1VA==; 24:CkjnL/SKOvAtVO6JuduUe6Ko/yxTLf1GgV5MbUJZ8dLyZVLqQa4PKhWl6eoL+c7dcAGrnnfbWsoqRzFNgY8lg8hytx9PTpNOwymLVfz3nWI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HE1PR07MB1625; 7:k7OjtkylmL/JCS7BOjuzcIYL/Ow/WeVQmslXtKyrWvjxUozvAuaiszsXn2o2O2ziZrFcRBA4jXGh8MvnipTMMWaW7DFRyfPnpzU3OpJ9uC6V2v7ES6PUduA0sPjYLh1ZNatTVekIg7Www482GN7juV0A231DrdMOe28V3xb3a5316hUNbf1q3uNkyos7fQdeEW/e66u/Opoa3zgNJCewGbdg4cgGzm/1V/NshDtfCoMDIap+EDCxyX/pNxZ3PyKEl0xUBvORMmTKyOI7b3dezzkguriMUBeghjpP3Dob3maQyYtsrrj+4evpE9sIEfAc2unbfyk6ZOUuKI4tmQ8TUkKLwLxuibqxbyHadrUENRTEg1o9rLCaiEaqddQjuSrnbEHzfOn5TNPYd9SvvSn0J1s4HqLXbcfjyKN1W/SDhScyepPvXdgrxpYSQQJ1hzN3vO2HdDjt5vplYVYOJp+jHdmy+xt/fomnv4CIyURNjloq9lXvYx4iGplSCV71SZKDMuc+icAa/O2jV74xnfv7KQ== X-OriginatorOrg: nokia.onmicrosoft.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Feb 2017 12:38:25.8957 (UTC) X-MS-Exchange-CrossTenant-Id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5d471751-9675-428d-917b-70f44f9630b0; Ip=[131.228.2.36]; Helo=[hybrid2.ext.net.nokia.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR07MB1625 Subject: [lng-odp] [PATCH 00/10] Packet function inline X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" First set of packet and packet flag functions are inlined. Inline functions are used (can be used) internally always, but are exposed through API only when builing for non-ABI compatibility. Packet handle value is changed from index(es) to a packet header pointer. Packet/buffer header structure or other internal types are not exposed to applications, but offsets to header fields are used instead. Ticketlock inlining was changed to the same file structure, which allows now also application to use inlined functions. Performance is improved significantly on both packet microbench (e.g. odp_packet_len() from 9 to 4 cycles per call) and l2fwd (packet rate +20%). Petri Savolainen (10): linux-gen: inline: rename _STATIC to _ODP_INLINE linux-gen: ticketlock: inline also in application linux-gen: packet: packet handle is hdr pointer test: l2fwd: add pktio driver print out validation: packet: print reason for suite init failure test: generator: various improvements test: l2fwd script: limit number of generator cpus test: l2fwd: use packet_data linux-gen: packet: inline functions linux-gen: packet: inline flag functions example/generator/odp_generator.c | 77 ++++-- platform/linux-generic/Makefile.am | 5 + platform/linux-generic/include/odp/api/packet.h | 11 +- .../linux-generic/include/odp/api/packet_flags.h | 11 +- .../include/odp/api/plat/atomic_inlines.h | 114 +++++---- .../include/odp/api/plat/byteorder_inlines.h | 24 +- .../include/odp/api/plat/packet_flag_inlines.h | 90 +++++++ .../include/odp/api/plat/packet_flag_inlines_api.h | 41 +++ .../include/odp/api/plat/packet_inlines.h | 173 +++++++++++++ .../include/odp/api/plat/packet_inlines_api.h | 113 +++++++++ .../include/odp/api/plat/packet_types.h | 87 ++++++- .../include/odp/api/plat/static_inline.h.in | 8 +- .../include/odp/api/plat/std_clib_inlines.h | 6 +- .../include/odp/api/plat/sync_inlines.h | 6 +- .../include/odp/api/plat/ticketlock_inlines.h | 19 +- .../include/odp/api/plat/ticketlock_inlines_api.h | 36 +++ .../linux-generic/include/odp/api/ticketlock.h | 4 + .../linux-generic/include/odp_packet_internal.h | 57 +---- platform/linux-generic/odp_packet.c | 278 ++++++++------------- platform/linux-generic/odp_packet_flags.c | 41 +-- platform/linux-generic/odp_ticketlock.c | 24 +- platform/linux-generic/pktio/dpdk.c | 5 +- platform/linux-generic/pktio/netmap.c | 5 +- test/common_plat/performance/Makefile.am | 4 + test/common_plat/performance/odp_l2fwd.c | 22 +- test/common_plat/performance/odp_l2fwd_run.sh | 10 +- test/common_plat/validation/api/packet/packet.c | 23 +- 27 files changed, 877 insertions(+), 417 deletions(-) create mode 100644 platform/linux-generic/include/odp/api/plat/packet_flag_inlines.h create mode 100644 platform/linux-generic/include/odp/api/plat/packet_flag_inlines_api.h create mode 100644 platform/linux-generic/include/odp/api/plat/packet_inlines.h create mode 100644 platform/linux-generic/include/odp/api/plat/packet_inlines_api.h create mode 100644 platform/linux-generic/include/odp/api/plat/ticketlock_inlines_api.h -- 2.8.1