Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/7396/?format=api
https://patches.dpdk.org/api/patches/7396/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/b4836bdec46be5a0c457ca185d9e82f7a5ad1570.1443737626.git.viktorin@rehivetech.com/", "project": { "id": 1, "url": "https://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": "<b4836bdec46be5a0c457ca185d9e82f7a5ad1570.1443737626.git.viktorin@rehivetech.com>", "list_archive_url": "https://inbox.dpdk.org/dev/b4836bdec46be5a0c457ca185d9e82f7a5ad1570.1443737626.git.viktorin@rehivetech.com", "date": "2015-10-03T08:58:18", "name": "[dpdk-dev,v1,12/12] arm: Disable usage of SSE optimized code in librte_acl", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "10154758b6ee70f24ca62a66c165bb614804e7ac", "submitter": { "id": 292, "url": "https://patches.dpdk.org/api/people/292/?format=api", "name": "Jan Viktorin", "email": "viktorin@rehivetech.com" }, "delegate": null, "mbox": "https://patches.dpdk.org/project/dpdk/patch/b4836bdec46be5a0c457ca185d9e82f7a5ad1570.1443737626.git.viktorin@rehivetech.com/mbox/", "series": [], "comments": "https://patches.dpdk.org/api/patches/7396/comments/", "check": "pending", "checks": "https://patches.dpdk.org/api/patches/7396/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 5513391B3;\n\tSat, 3 Oct 2015 10:59:06 +0200 (CEST)", "from we2-f167.wedos.net (w-smtp-out-7.wedos.net [46.28.106.5])\n\tby dpdk.org (Postfix) with ESMTP id 534868E7A\n\tfor <dev@dpdk.org>; Sat, 3 Oct 2015 10:58:55 +0200 (CEST)", "from ([147.229.13.147])\n\tby we2-f167.wedos.net (WEDOS Mail Server mail2) with ASMTP (SSL) id\n\tQWJ00051; Sat, 03 Oct 2015 10:58:51 +0200" ], "From": "Jan Viktorin <viktorin@rehivetech.com>", "To": "dev@dpdk.org", "Date": "Sat, 3 Oct 2015 10:58:18 +0200", "Message-Id": "<b4836bdec46be5a0c457ca185d9e82f7a5ad1570.1443737626.git.viktorin@rehivetech.com>", "X-Mailer": "git-send-email 2.6.0", "In-Reply-To": [ "<cover.1443737626.git.viktorin@rehivetech.com>", "<cover.1443737626.git.viktorin@rehivetech.com>" ], "References": [ "<cover.1443737626.git.viktorin@rehivetech.com>", "<cover.1443737626.git.viktorin@rehivetech.com>" ], "Cc": "Vlastimil Kosar <kosar@rehivetech.com>,\n\tJan Viktorin <viktorin@rehivetech.com>", "Subject": "[dpdk-dev] [PATCH v1 12/12] arm: Disable usage of SSE optimized\n\tcode in librte_acl", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "patches and discussions about DPDK <dev.dpdk.org>", "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://dpdk.org/ml/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "From: Vlastimil Kosar <kosar@rehivetech.com>\n\nThe SSE optimized code is disabled for architectures other\nthan i686 and x86_64.\n\nACL works now on ARM.\n\nFIXME: should be reworked to avoid if/endif mess\n\nSigned-off-by: Vlastimil Kosar <kosar@rehivetech.com>\nSigned-off-by: Jan Viktorin <viktorin@rehivetech.com>\n---\n config/defconfig_arm-armv7-a-linuxapp-gcc | 3 ---\n lib/librte_acl/acl.h | 2 ++\n lib/librte_acl/rte_acl.c | 8 +++++++-\n lib/librte_acl/rte_acl_osdep.h | 2 ++\n 4 files changed, 11 insertions(+), 4 deletions(-)", "diff": "diff --git a/config/defconfig_arm-armv7-a-linuxapp-gcc b/config/defconfig_arm-armv7-a-linuxapp-gcc\nindex c434429..e091200 100644\n--- a/config/defconfig_arm-armv7-a-linuxapp-gcc\n+++ b/config/defconfig_arm-armv7-a-linuxapp-gcc\n@@ -54,9 +54,6 @@ CONFIG_RTE_EAL_IGB_UIO=n\n # missing rte_vect.h for ARM\n CONFIG_XMM_SIZE=16\n \n-# fails to compile on ARM\n-CONFIG_RTE_LIBRTE_ACL=n\n-\n # cannot use those on ARM\n CONFIG_RTE_KNI_KMOD=n\n CONFIG_RTE_LIBRTE_EM_PMD=n\ndiff --git a/lib/librte_acl/acl.h b/lib/librte_acl/acl.h\nindex eb4930c..cb4e6a8 100644\n--- a/lib/librte_acl/acl.h\n+++ b/lib/librte_acl/acl.h\n@@ -222,9 +222,11 @@ int\n rte_acl_classify_scalar(const struct rte_acl_ctx *ctx, const uint8_t **data,\n \tuint32_t *results, uint32_t num, uint32_t categories);\n \n+#if defined(RTE_ARCH_X86_64) || defined(RTE_ARCH_I686)\n int\n rte_acl_classify_sse(const struct rte_acl_ctx *ctx, const uint8_t **data,\n \tuint32_t *results, uint32_t num, uint32_t categories);\n+#endif\n \n int\n rte_acl_classify_avx2(const struct rte_acl_ctx *ctx, const uint8_t **data,\ndiff --git a/lib/librte_acl/rte_acl.c b/lib/librte_acl/rte_acl.c\nindex a54d531..f173b31 100644\n--- a/lib/librte_acl/rte_acl.c\n+++ b/lib/librte_acl/rte_acl.c\n@@ -60,8 +60,13 @@ rte_acl_classify_avx2(__rte_unused const struct rte_acl_ctx *ctx,\n static const rte_acl_classify_t classify_fns[] = {\n \t[RTE_ACL_CLASSIFY_DEFAULT] = rte_acl_classify_scalar,\n \t[RTE_ACL_CLASSIFY_SCALAR] = rte_acl_classify_scalar,\n+#if defined(RTE_ARCH_X86_64) || defined(RTE_ARCH_I686)\n \t[RTE_ACL_CLASSIFY_SSE] = rte_acl_classify_sse,\n \t[RTE_ACL_CLASSIFY_AVX2] = rte_acl_classify_avx2,\n+#else\n+\t[RTE_ACL_CLASSIFY_SSE] = rte_acl_classify_scalar,\n+\t[RTE_ACL_CLASSIFY_AVX2] = rte_acl_classify_scalar,\n+#endif\n };\n \n /* by default, use always available scalar code path. */\n@@ -95,6 +100,7 @@ rte_acl_init(void)\n {\n \tenum rte_acl_classify_alg alg = RTE_ACL_CLASSIFY_DEFAULT;\n \n+#if defined(RTE_ARCH_X86_64) || defined(RTE_ARCH_I686)\n #ifdef CC_AVX2_SUPPORT\n \tif (rte_cpu_get_flag_enabled(RTE_CPUFLAG_AVX2))\n \t\talg = RTE_ACL_CLASSIFY_AVX2;\n@@ -103,7 +109,7 @@ rte_acl_init(void)\n \tif (rte_cpu_get_flag_enabled(RTE_CPUFLAG_SSE4_1))\n #endif\n \t\talg = RTE_ACL_CLASSIFY_SSE;\n-\n+#endif\n \trte_acl_set_default_classify(alg);\n }\n \ndiff --git a/lib/librte_acl/rte_acl_osdep.h b/lib/librte_acl/rte_acl_osdep.h\nindex 41f7e3d..05cf9a8 100644\n--- a/lib/librte_acl/rte_acl_osdep.h\n+++ b/lib/librte_acl/rte_acl_osdep.h\n@@ -59,7 +59,9 @@\n #define DIM(x) RTE_DIM(x)\n \n #include <rte_common.h>\n+#if defined(RTE_ARCH_X86_64) || defined(RTE_ARCH_I686)\n #include <rte_vect.h>\n+#endif\n #include <rte_memory.h>\n #include <rte_log.h>\n #include <rte_memcpy.h>\n", "prefixes": [ "dpdk-dev", "v1", "12/12" ] }{ "id": 7396, "url": "