[U-Boot] [PATCH 1/3] spl: ram: Do not memcpy() identical buffers
Tom Rini
trini at konsulko.com
Tue May 28 03:04:37 UTC 2019
On Tue, May 28, 2019 at 04:44:52AM +0200, Marek Vasut wrote:
> On 5/28/19 4:42 AM, Tom Rini wrote:
> > On Tue, May 28, 2019 at 04:07:44AM +0200, Marek Vasut wrote:
> >> On 5/28/19 4:06 AM, Tom Rini wrote:
> >>> On Tue, May 28, 2019 at 03:49:13AM +0200, Marek Vasut wrote:
> >>>
> >>>> If the source and destination buffer address is identical, there is
> >>>> no need to memcpy() the content. Skip the memcpy() in such a case.
> >>>>
> >>>> Signed-off-by: Marek Vasut <marex at denx.de>
> >>>> Cc: Michal Simek <michal.simek at xilinx.com>
> >>>> Cc: Tom Rini <trini at konsulko.com>
> >>>
> >>> Shouldn't memcpy catch that itself?
> >>>
> >> memcpy(3) says
> >> The memcpy() function copies n bytes from memory area src to
> >> memory area dest. The memory areas must not overlap. Use memmove(3) if
> >> the memory areas do overlap.
> >
> > OK, and shouldn't memcpy optimize that case? Does it usually?
>
> As the manpage says "The memory areas must not overlap." , I would
> expect it does not have to ?
I guess I'm not being clear enough, sorry. Go look at how this is
implemented in a few places please and report back to us. Someone else,
or many someone else, have probably already figured out if optimizing
this case in general, in memcpy, is a good idea or not. Thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190527/e0e7fc28/attachment.sig>
More information about the U-Boot
mailing list