Subject: Re: CVS commit: src/sys/netipsec
To: None <jonathan@DSG.Stanford.EDU>
From: M. Warner Losh <imp@bsdimp.com>
List: source-changes
Date: 08/14/2003 01:00:35
In message: <200308140317.UAA06944@Pescadero.DSG.Stanford.EDU>
            Jonathan Stone <jonathan@DSG.Stanford.EDU> writes:
: >It might be a good idea to encourage the FreeBSD people to do the same
: >thing we've done (i.e. move to the mem* functions, which among other
: >things are nicely inlined by gcc).

Arguing that gcc does a nice job would likely be met with skepticism,
especially in the absense of good, hard numbers for various data sizes
on various CPUs.  FreeBSD has a fairly well optimized bcopy for
different cpus.  There is also a long history of distrust of gcc's
ability to inline memcpy in a non-lame way.  You can search the
archvies for a number of instances where hand written memcpy or bcopy
routines did much better than gcc.
 
: Maybe Warner would like to comment; I dont want to take that on right
: now.  But if i did happen to the FreeBSD 4.x opencrypto and netipsec,
: I'd be in a hurry to rework ours to match.

FreeBSD has memcpy right now in the kernel, but not a memmove.
Chances are good that having an os compat shim might be better, more
predictable short to mid term solution.

Personally I'd like to see move movement to the mem* functions, but
I'm not the only person who has an opinion.

Warner