Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/110975/?format=api
http://patches.dpdk.org/api/patches/110975/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20220510115758.457794-1-kda@semihalf.com/", "project": { "id": 1, "url": "http://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20220510115758.457794-1-kda@semihalf.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20220510115758.457794-1-kda@semihalf.com", "date": "2022-05-10T11:57:58", "name": "[1/1] test/ring: remove excessive inlining", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "19c7285b8512f6e2dadf681d528c0063b0ab0580", "submitter": { "id": 2179, "url": "http://patches.dpdk.org/api/people/2179/?format=api", "name": "Stanislaw Kardach", "email": "kda@semihalf.com" }, "delegate": { "id": 24651, "url": "http://patches.dpdk.org/api/users/24651/?format=api", "username": "dmarchand", "first_name": "David", "last_name": "Marchand", "email": "david.marchand@redhat.com" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20220510115758.457794-1-kda@semihalf.com/mbox/", "series": [ { "id": 22867, "url": "http://patches.dpdk.org/api/series/22867/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=22867", "date": "2022-05-10T11:57:58", "name": "[1/1] test/ring: remove excessive inlining", "version": 1, "mbox": "http://patches.dpdk.org/series/22867/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/110975/comments/", "check": "success", "checks": "http://patches.dpdk.org/api/patches/110975/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 98304A0093;\n\tTue, 10 May 2022 13:58:11 +0200 (CEST)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 8889742821;\n\tTue, 10 May 2022 13:58:11 +0200 (CEST)", "from mail-lj1-f173.google.com (mail-lj1-f173.google.com\n [209.85.208.173])\n by mails.dpdk.org (Postfix) with ESMTP id 22A374161A\n for <dev@dpdk.org>; Tue, 10 May 2022 13:58:10 +0200 (CEST)", "by mail-lj1-f173.google.com with SMTP id m23so20552584ljc.0\n for <dev@dpdk.org>; Tue, 10 May 2022 04:58:10 -0700 (PDT)", "from toster.office.semihalf.net ([83.142.187.84])\n by smtp.gmail.com with ESMTPSA id\n p18-20020a056512235200b00473cb4f7cf6sm2256714lfu.309.2022.05.10.04.58.08\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 10 May 2022 04:58:09 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=semihalf-com.20210112.gappssmtp.com; s=20210112;\n h=from:to:cc:subject:date:message-id:mime-version\n :content-transfer-encoding;\n bh=KPogMWIS5IPdJl/edOtpOEk3Vg4+dfZudmlvKb7c99k=;\n b=ZiLl1M9EcUBoDz/aBoO8MDkmUW/wwUsQhiRoXPw09xOcTpjp8ILbDM6RVxLKqK/vpw\n vGN6osLl1rtTxktY7/3rEB1C6kx/RlLTKLO8RLIdsa4NA7dz6tOqgYVIPIehamiHmKWO\n ofC7VtKspENTpnMMRMopxioHBVduiyqGh7ZzFMbVvxGAg8U5hAmiNmWteXg7FRx5MWDt\n YmvTiURoKM6NikxYLwzwHqZGCtzFJNYWoE31nHXUuLTXfFsWqcT9AXj0YqoAwuuKSQBd\n ak7E0t9HUhYdYK0IOK8SnuTlze6A1NqORMFvE0Lei9AmLSBPx++BajoL+tdCZoZVz+qm\n kviA==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20210112;\n h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version\n :content-transfer-encoding;\n bh=KPogMWIS5IPdJl/edOtpOEk3Vg4+dfZudmlvKb7c99k=;\n b=3BEqFNe+wY/bhsx+q0JKBcMcqaMkCqpEnoI601kUQsv4fHobYQgYHZ9ZfmGINKaKvg\n v/zPkiojrA9h8ZjEimnOkjIcyk5Z47hQetpseJNFNKzpwhHF06A4oeRzxwLuFQ7n+PN9\n UVu8DHdCeAab9nl+hC8GynzmV+6zupbH99hL1kGvKjchBay1yvkCpN0AQ8blMy4K9cR6\n gy9eHmqyCuHYdC2sG/5btQ/8h+7KI8tnJnSgF0DOk/LHuEqbLiuP5wTJC+6E+XkrlNi+\n 9lPU+xhQ1OWs/5RX8+ukmForlI7dCg2814Tzi2F8igegpd4+2sj1nGGy0f0Pdee9c0i3\n 2iKw==", "X-Gm-Message-State": "AOAM533IyAqWllIJWBWsesB0B4RfXYBXqjYPNe3lKZZQLZHyN09vxkS3\n NCRjYM+n868a+af4lYwAV9NDTg==", "X-Google-Smtp-Source": "\n ABdhPJxuEULne/MdUJpG2zJ24xpYso1Iah9TYVxfJ7q9XX6mIDKo0IcVGkRWXv9Txbxy88HtwsJRQQ==", "X-Received": "by 2002:a05:651c:10b3:b0:24f:1573:bb3c with SMTP id\n k19-20020a05651c10b300b0024f1573bb3cmr14118894ljn.403.1652183889739;\n Tue, 10 May 2022 04:58:09 -0700 (PDT)", "From": "Stanislaw Kardach <kda@semihalf.com>", "To": "Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>", "Cc": "Stanislaw Kardach <kda@semihalf.com>, dev@dpdk.org,\n Frank Zhao <Frank.Zhao@starfivetech.com>, Sam Grove <sam.grove@sifive.com>,\n mw@semihalf.com, upstream@semihalf.com", "Subject": "[PATCH 1/1] test/ring: remove excessive inlining", "Date": "Tue, 10 May 2022 13:57:58 +0200", "Message-Id": "<20220510115758.457794-1-kda@semihalf.com>", "X-Mailer": "git-send-email 2.30.2", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org" }, "content": "Forcing inlining in test_ring_enqueue and test_ring_dequeue can cause\nthe compiled code to grow extensively when compiled with no optimization\n(-O0 or -Og). This is default in the meson's debug configuration. This\ncan collide with compiler bugs and cause issues during linking of unit\ntests where the api_type or esize are non-const variables causing\ninlining cascade. In perf tests this is not the case in perf-tests as\nesize and api_type are const values.\n\nOne such case was discovered when porting DPDK to RISC-V. GCC 11.2 (and\nno fix still in 12.1) is generating a short relative jump instruction\n(J <offset>) for goto and for loops. When loop body grows extensively in\nring test, the target offset goes beyond supported offfset of +/- 1MB\nfrom PC. This is an obvious bug in the GCC as RISC-V has a\ntwo-instruction construct to jump to any absolute address (AUIPC+JALR).\n\nHowever there is no reason to force inlining as the test code works\nperfectly fine without it.\n\nFixes: a9fe152363 test/ring: add custom element size functional tests\n\nSigned-off-by: Stanislaw Kardach <kda@semihalf.com>\n---\n app/test/test_ring.h | 6 +++---\n 1 file changed, 3 insertions(+), 3 deletions(-)", "diff": "diff --git a/app/test/test_ring.h b/app/test/test_ring.h\nindex c8bfec8399..45c263f3ff 100644\n--- a/app/test/test_ring.h\n+++ b/app/test/test_ring.h\n@@ -97,7 +97,7 @@ test_ring_copy_from(struct rte_ring_zc_data *zcd, void *dst, int esize,\n \t}\n }\n \n-static __rte_always_inline unsigned int\n+static inline unsigned int\n test_ring_enqueue(struct rte_ring *r, void **obj, int esize, unsigned int n,\n \t\t\tunsigned int api_type)\n {\n@@ -158,7 +158,7 @@ test_ring_enqueue(struct rte_ring *r, void **obj, int esize, unsigned int n,\n \t\t}\n }\n \n-static __rte_always_inline unsigned int\n+static inline unsigned int\n test_ring_dequeue(struct rte_ring *r, void **obj, int esize, unsigned int n,\n \t\t\tunsigned int api_type)\n {\n@@ -222,7 +222,7 @@ test_ring_dequeue(struct rte_ring *r, void **obj, int esize, unsigned int n,\n /* This function is placed here as it is required for both\n * performance and functional tests.\n */\n-static __rte_always_inline void *\n+static inline void *\n test_ring_calloc(unsigned int rsize, int esize)\n {\n \tunsigned int sz;\n", "prefixes": [ "1/1" ] }{ "id": 110975, "url": "