[dpdk-dev] [PATCH v5 1/7] service cores: header and implementation

Jerin Jacob jerin.jacob at caviumnetworks.com
Wed Jul 12 18:35:23 CEST 2017


-----Original Message-----
> Date: Tue, 11 Jul 2017 15:19:27 +0100
> From: Harry van Haaren <harry.van.haaren at intel.com>
> To: dev at dpdk.org
> CC: thomas at monjalon.net, jerin.jacob at caviumnetworks.com,
>  keith.wiles at intel.com, bruce.richardson at intel.com, Harry van Haaren
>  <harry.van.haaren at intel.com>
> Subject: [PATCH v5 1/7] service cores: header and implementation
> X-Mailer: git-send-email 2.7.4
> 
> Add header files, update .map files with new service
> functions, and add the service header to the doxygen
> for building.
> 
> This service header API allows DPDK to use services as
> a concept of something that requires CPU cycles. An example
> is a PMD that runs in software to schedule events, where a
> hardware version exists that does not require a CPU.
> 
> Signed-off-by: Harry van Haaren <harry.van.haaren at intel.com>

Looks good to me.

Acked-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>

> 
> ---
> 
> v5:
> - Improved service_set_stats_enable() to operate per service (Jerin)
> - Fixed un-documented doxygen parameter (Jerin)
> - Renamed cores_state to lcore_states (Jerin)
> - Optimized atomic operations and flags (Jerin)
> - Removed info about RFCs etc from commit message (Jerin)
> - Add lcore_count check to default setup function and return early (Jerin)
> - Add memory barriers to lcore_add() and lcore_del() (Jerin)
> - Rename start function to rte_service_start_with_defaults() (Jerin)
> - Rename header to rte_service_component.h (Jerin/Thomas)
> 
> v4:
> - Fixed (unsigned) checkpatch error
> - Fixed misleading-indentation/if { } brackets (checkpatch/Jerin)
> - Fixed set function argument to be "enable" instead of "enabled" (Jerin)
> - Improve doxygen comment for size of array in rte_service_core_list (Jerin)
> - Fixed typos (Jerin)
> - Optimized atomic clear after running service (Jerin)
> - Added smp_rmb() at end of loop to re-load runstate / mapping (Jerin)
> - Fix issue with lcore role not being adhered to (Jerin)
> - Add experimental warnings for all service core functions (Thomas)
> - Moved service core functions into EXPERIMENTAL section of .map (Thomas)
> - Improve documentation of rte_service_lcore_reset_all() (Harry)
> 
> v3:
> - None.
> 
> v2:
> Thanks Jerin for review - below a list your suggested changes;
> - Doxygen rename to "service cores" for consistency
> - use lcore instead of core for function names
> - Fix about 10 typos / seplling msitakse ;)
> - Dix doxygen /** comments for functions
> - Doxygen @param[out] improvements
> - int8_t for socket_id to ordinary int
> - Rename MACROS for readability
> - Align structs to cache lines
> - Allocate fastpath-used data from hugepages
> - Added/fixed memory barriers for multi-core scheduling
> - Add const to variables, and hoist above loop
> - Optimize cmpset atomic if MT_SAFE or only one core mapped
> - Statistics collection only when requested
> - Add error check for array pointer
> - Remove panic() calls from library
> - Fix TODO notes from previous patchset
> 
> There are also some other changes;
> - Checkpatch issues fixed
> - .map file updates
> - Add rte_service_get_by_name() function


More information about the dev mailing list