From: Thomas Monjalon <thomas@monjalon.net>
To: Herbert Guan <herbert.guan@arm.com>
Cc: dev@dpdk.org, jerin.jacob@caviumnetworks.com
Subject: Re: [PATCH v5] arch/arm: optimization for memcpy on AArch64
Date: Fri, 12 Jan 2018 18:03:48 +0100 [thread overview]
Message-ID: <3668269.EoJLONrpA4@xps> (raw)
In-Reply-To: <1515061208-27252-1-git-send-email-herbert.guan@arm.com>
Hi,
All the code is using ARM64, but the title suggests AArch64.
What is the difference between AArch64 and ARM64 (and ARMv8)?
04/01/2018 11:20, Herbert Guan:
> +/**************************************
> + * Beginning of customization section
> + **************************************/
> +#define RTE_ARM64_MEMCPY_ALIGN_MASK 0x0F
> +#ifndef RTE_ARCH_ARM64_MEMCPY_STRICT_ALIGN
> +/* Only src unalignment will be treaed as unaligned copy */
typo: treaed
> +#define RTE_ARM64_MEMCPY_IS_UNALIGNED_COPY(dst, src) \
> + ((uintptr_t)(dst) & RTE_ARM64_MEMCPY_ALIGN_MASK)
> +#else
> +/* Both dst and src unalignment will be treated as unaligned copy */
> +#define RTE_ARM64_MEMCPY_IS_UNALIGNED_COPY(dst, src) \
> + (((uintptr_t)(dst) | (uintptr_t)(src)) & RTE_ARM64_MEMCPY_ALIGN_MASK)
> +#endif
> +
> +
> +/*
> + * If copy size is larger than threshold, memcpy() will be used.
> + * Run "memcpy_perf_autotest" to determine the proper threshold.
> + */
> +#define RTE_ARM64_MEMCPY_ALIGNED_THRESHOLD ((size_t)(0xffffffff))
> +#define RTE_ARM64_MEMCPY_UNALIGNED_THRESHOLD ((size_t)(0xffffffff))
> +
> +/*
> + * The logic of USE_RTE_MEMCPY() can also be modified to best fit platform.
> + */
> +#define USE_RTE_MEMCPY(dst, src, n) \
> +((!RTE_ARM64_MEMCPY_IS_UNALIGNED_COPY(dst, src) && \
> +n <= RTE_ARM64_MEMCPY_ALIGNED_THRESHOLD) \
> +|| (RTE_ARM64_MEMCPY_IS_UNALIGNED_COPY(dst, src) && \
> +n <= RTE_ARM64_MEMCPY_UNALIGNED_THRESHOLD))
> +
> +/**************************************
> + * End of customization section
> + **************************************/
Modifying the code to asjust the platform is not easy for deployment.
Can we move some customization variables inside the configuration file?
next prev parent reply other threads:[~2018-01-12 17:04 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-27 7:49 [PATCH] arch/arm: optimization for memcpy on AArch64 Herbert Guan
2017-11-29 12:31 ` Jerin Jacob
2017-12-03 12:37 ` Herbert Guan
2017-12-15 4:06 ` Jerin Jacob
2017-12-18 2:51 ` Herbert Guan
2017-12-18 4:17 ` Jerin Jacob
2017-12-02 7:33 ` Pavan Nikhilesh Bhagavatula
2017-12-03 12:38 ` Herbert Guan
2017-12-03 14:20 ` Pavan Nikhilesh Bhagavatula
2017-12-04 7:14 ` Herbert Guan
2017-12-05 6:02 ` [PATCH v2] " Herbert Guan
2017-12-15 3:41 ` Jerin Jacob
2017-12-18 2:54 ` [PATCH v3] " Herbert Guan
2017-12-18 7:43 ` Jerin Jacob
2017-12-19 5:33 ` Herbert Guan
2017-12-19 7:24 ` Jerin Jacob
2017-12-21 5:33 ` [PATCH v4] " Herbert Guan
2018-01-03 13:35 ` Jerin Jacob
2018-01-04 10:23 ` Herbert Guan
2018-01-04 10:20 ` [PATCH v5] " Herbert Guan
2018-01-12 17:03 ` Thomas Monjalon [this message]
2018-01-15 10:57 ` Herbert Guan
2018-01-15 11:37 ` Thomas Monjalon
2018-01-18 23:54 ` Thomas Monjalon
2018-01-19 6:16 ` 答复: " Herbert Guan
2018-01-19 6:10 ` [PATCH v6] arch/arm: optimization for memcpy on ARM64 Herbert Guan
2018-01-20 16:21 ` Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3668269.EoJLONrpA4@xps \
--to=thomas@monjalon.net \
--cc=dev@dpdk.org \
--cc=herbert.guan@arm.com \
--cc=jerin.jacob@caviumnetworks.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.