Ping. This is so trivial addition that it could go to v1.7. For example, OFP code base uses memcmp almost as much as memcpy and memset.
-Petri From: EXT Bill Fischofer [mailto:[email protected]] Sent: Saturday, January 30, 2016 3:44 PM To: Savolainen, Petri (Nokia - FI/Espoo) Cc: LNG ODP Mailman List Subject: Re: [lng-odp] [API-NEXT PATCH 1/2] api: stdlib: added odp_memcmp For this series: Reviewed-and-tested-by: Bill Fischofer <[email protected]<mailto:[email protected]>> On Fri, Jan 29, 2016 at 7:59 AM, Petri Savolainen <[email protected]<mailto:[email protected]>> wrote: Memory compare is a commonly used C library function on data plane applications. This enables using HW offload (e.g. vector unit) for compare operations. Signed-off-by: Petri Savolainen <[email protected]<mailto:[email protected]>> --- include/odp/api/std_clib.h | 18 ++++++++++++++++++ platform/linux-generic/include/odp/std_clib.h | 5 +++++ 2 files changed, 23 insertions(+) diff --git a/include/odp/api/std_clib.h b/include/odp/api/std_clib.h index 2119ec4..791b72f 100644 --- a/include/odp/api/std_clib.h +++ b/include/odp/api/std_clib.h @@ -54,6 +54,24 @@ void *odp_memcpy(void *dst, const void *src, size_t num); void *odp_memset(void *ptr, int value, size_t num); /** + * Memcmp + * + * ODP version of C library memcmp function. It compares first 'num' bytes of + * memory blocks pointed by 'ptr1' and 'ptr2'. + * + * @param ptr1 Pointer to a memory block + * @param ptr2 Pointer to a memory block + * @param num Number of bytes to compare + * + * @retval 0 when the contents of memory blocks match + * @retval <0 when the contents of memory blocks do not match, and + * block 'ptr1' is less than block 'ptr2' + * @retval >0 when the contents of memory blocks do not match, and + * block 'ptr1' is greater than block 'ptr2' + */ +int odp_memcmp(const void *ptr1, const void *ptr2, size_t num); + +/** * @} */ diff --git a/platform/linux-generic/include/odp/std_clib.h b/platform/linux-generic/include/odp/std_clib.h index c939c48..11c59be 100644 --- a/platform/linux-generic/include/odp/std_clib.h +++ b/platform/linux-generic/include/odp/std_clib.h @@ -23,6 +23,11 @@ static inline void *odp_memset(void *ptr, int value, size_t num) return memset(ptr, value, num); } +static inline int odp_memcmp(const void *ptr1, const void *ptr2, size_t num) +{ + return memcmp(ptr1, ptr2, num); +} + #ifdef __cplusplus } #endif -- 2.6.3 _______________________________________________ lng-odp mailing list [email protected]<mailto:[email protected]> https://lists.linaro.org/mailman/listinfo/lng-odp
_______________________________________________ lng-odp mailing list [email protected] https://lists.linaro.org/mailman/listinfo/lng-odp
