Message ID | DB7PR08MB3723E29B6F9AB4AAA8BD7F649E630@DB7PR08MB3723.eurprd08.prod.outlook.com |
---|---|
State | Changes Requested |
Headers | show |
Series | [ovs-dev,v1,1/1] hash: Enable hash_bytes128 optimization for aarch64. | expand |
Bleep bloop. Greetings Yanqin Wei (Arm Technology China), I am a robot and I have tried out your patch. Thanks for your contribution. I encountered some error that I wasn't expecting. See the details below. git-am: fatal: corrupt patch at line 15 Repository lacks necessary blobs to fall back on 3-way merge. Cannot fall back to three-way merge. Patch failed at 0001 hash: Enable hash_bytes128 optimization for aarch64. The copy of the patch that failed is found in: /var/lib/jenkins/jobs/upstream_build_from_pw/workspace/.git/rebase-apply/patch When you have resolved this problem, run "git am --resolved". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". Please check this out. If you feel there has been an error, please email aconole@bytheb.org Thanks, 0-day Robot
On Mon, Feb 18, 2019 at 05:46:01AM +0000, Yanqin Wei (Arm Technology China) wrote: > "hash_bytes128" has two versions for 64 bits and 32 bits system. This > should be common optimization for their respective platforms. > But 64 bits version was only enabled in x86-64. This patch enable it for > aarch64 platform. > Micro benchmarking test was run in two kinds of arm platform. It was > observed that 50% performance improvement in thunderX2 and 40% > improvement in TaiShan(Cortex-A72). > > Signed-off-by: Yanqin Wei <yanqin.wei@arm.com> Thanks for working to make OVS better. This patch is whitespace damaged. For instance, lines that should begin with spaces lack them. I cannot apply it. You can send the patch another way (for example, with "git send-email") or use a Github pull request.
Hi Ben, Sorry for the format issue. I will resubmit it by "git send-email". Best Regards, Wei Yanqin -----Original Message----- From: Ben Pfaff <blp@ovn.org> Sent: Saturday, February 23, 2019 5:03 AM To: Yanqin Wei (Arm Technology China) <Yanqin.Wei@arm.com> Cc: dev@openvswitch.org Subject: Re: [ovs-dev] [PATCH v1 1/1] hash: Enable hash_bytes128 optimization for aarch64. On Mon, Feb 18, 2019 at 05:46:01AM +0000, Yanqin Wei (Arm Technology China) wrote: > "hash_bytes128" has two versions for 64 bits and 32 bits system. This > should be common optimization for their respective platforms. > But 64 bits version was only enabled in x86-64. This patch enable it > for > aarch64 platform. > Micro benchmarking test was run in two kinds of arm platform. It was > observed that 50% performance improvement in thunderX2 and 40% > improvement in TaiShan(Cortex-A72). > > Signed-off-by: Yanqin Wei <yanqin.wei@arm.com> Thanks for working to make OVS better. This patch is whitespace damaged. For instance, lines that should begin with spaces lack them. I cannot apply it. You can send the patch another way (for example, with "git send-email") or use a Github pull request. IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
diff --git a/lib/hash.c b/lib/hash.c index c64f25e..06f8339 100644 --- a/lib/hash.c +++ b/lib/hash.c @@ -72,7 +72,7 @@ hash_words64__(const uint64_t p[], size_t n_words, uint32_t basis) return hash_words64_inline(p, n_words, basis); } -#if !(defined(__x86_64__)) +#if !(defined(__x86_64__)) && !(defined(__aarch64__)) void hash_bytes128(const void *p_, size_t len, uint32_t basis, ovs_u128 *out) { @@ -233,7 +233,7 @@ hash_bytes128(const void *p_, size_t len, uint32_t basis, ovs_u128 *out) out->u32[3] = h4; } -#else /* __x86_64__ */ +#else /* __x86_64__ or __aarch64__*/ static inline uint64_t hash_rot64(uint64_t x, int8_t r) @@ -361,4 +361,4 @@ hash_bytes128(const void *p_, size_t len, uint32_t basis, ovs_u128 *out) out->u64.lo = h1; out->u64.hi = h2; } -#endif /* __x86_64__ */ +#endif /* __x86_64__ or __aarch64__*/
"hash_bytes128" has two versions for 64 bits and 32 bits system. This should be common optimization for their respective platforms. But 64 bits version was only enabled in x86-64. This patch enable it for aarch64 platform. Micro benchmarking test was run in two kinds of arm platform. It was observed that 50% performance improvement in thunderX2 and 40% improvement in TaiShan(Cortex-A72). Signed-off-by: Yanqin Wei <yanqin.wei@arm.com> --- lib/hash.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -- 2.7.4 IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.