| /dpdk/app/test/ |
| H A D | test_service_cores.c | 150 service.callback = dummy_cb; in dummy_register() 155 snprintf(service.name, sizeof(service.name), DUMMY_SERVICE_NAME); in dummy_register() 186 service.callback = dummy_cb; in service_get_by_name() 190 snprintf(service.name, sizeof(service.name), DUMMY_SERVICE_NAME); in service_get_by_name() 219 service.callback = dummy_cb; in service_probe_capability() 220 snprintf(service.name, sizeof(service.name), DUMMY_SERVICE_NAME); in service_probe_capability() 235 snprintf(service.name, sizeof(service.name), DUMMY_SERVICE_NAME); in service_probe_capability() 267 snprintf(service.name, sizeof(service.name), DUMMY_SERVICE_NAME); in service_attr_get() 362 snprintf(service.name, sizeof(service.name), DUMMY_SERVICE_NAME); in service_lcore_attr_get() 646 snprintf(service.name, sizeof(service.name), MT_SAFE_SERVICE_NAME); in service_threaded_test() [all …]
|
| /dpdk/doc/guides/prog_guide/ |
| H A D | service_cores.rst | 7 DPDK has a concept known as service cores, which enables a dynamic way of 13 require CPU cycles to operate) and service cores (DPDK lcores, tasked with 15 between service cores and services can be configured to abstract away the 32 in the service coremask the cores become service-cores instead of DPDK 38 Each registered service can be individually mapped to a service core, or set of 39 service cores. Enabling a service on a particular core means that the lcore in 40 question will run the service. Disabling that core on the service stops the 41 lcore in question from running the service. 44 service core, and map N workloads to M number of service cores. Each service 46 function to run the service. [all …]
|
| H A D | event_ethernet_rx_adapter.rst | 33 the service function. 41 a service function. 61 service function and needs to create an event port for it. The callback is 72 if the adapter needs to use a service function. 84 adapter uses a service core function. The applications can configure queue 129 a service core to the service function as show below. 144 service function if one exists. 196 service function dequeues the port id and queue id from the ring buffer, 200 CPUs as the lcores of the Rx adapter service function, if the Rx adapter 201 service function has not been mapped to any lcores, the interrupt thread [all …]
|
| H A D | event_ethernet_tx_adapter.rst | 18 which runs as a rte_service function. The service function dequeues events 37 a service function. 42 The callback function is invoked if the adapter needs to use a service function 79 query this flag to determine if a service function is associated with the 80 adapter and retrieve its service identifier using the 94 If the adapter uses a service function as described in the previous section, the 103 If the adapter uses a service function, the application can assign 104 a service core to the service function as shown below. 116 and the ``rte_service_run_state_set()`` to enable the service function if one exists. 130 If the adapter uses a service function for the ethernet device then the application [all …]
|
| H A D | event_crypto_adapter.rst | 17 The adapter uses an EAL service core function for SW based packet transfer 95 a service function). 120 service function and needs to create an event port for it. The callback is 211 Configure the service function 214 If the adapter uses a service function, the application is required to assign 215 a service core to the service function as show below. 300 service function if one exists. 317 if the callback is supported, and the counts maintained by the service function,
|
| /dpdk/doc/guides/sample_app_ug/ |
| H A D | service_cores.rst | 7 The service cores sample application demonstrates the service cores capabilities 9 any DPDK component to register a service. A service is a work item or task, that 17 is application specific, and not a part of the service cores API. 32 pass a service core-mask as an EAL argument at startup time. 44 service core counts and mappings at runtime. 54 the runtime functions to add, remove and remap service cores. 58 :start-after: Register a service as an application. 8< 71 These are the functions to start a service core, and have it run a service: 75 :start-after: Register a service as an application. 8< 83 Note that it is not allowed to remove a service core if the service is running, [all …]
|
| H A D | l2_forward_event.rst | 110 * Rx adapter service function 111 * Tx adapter service function 113 Application needs service cores to run above mentioned services. Service cores 268 In case of S/W scheduler, application runs eventdev scheduler service on service 269 core. Application retrieves service id and finds the best possible service core to 274 :start-after: Running eventdev scheduler service on service core. 8< 275 :end-before: >8 End of running eventdev scheduler service on service core. 291 Tx adapter service function for enqueue operation. 333 on dedicated service cores. 337 :start-after: Gets service ID for RX/TX adapters. 8< [all …]
|
| /dpdk/drivers/common/qat/ |
| H A D | qat_common.c | 89 enum qat_service_type service) in qat_stats_get() argument 94 if (stats == NULL || dev == NULL || service >= QAT_SERVICE_INVALID) { in qat_stats_get() 96 stats, dev, service); in qat_stats_get() 100 qp = dev->qps_in_use[service]; in qat_stats_get() 104 service, i); in qat_stats_get() 119 enum qat_service_type service) in qat_stats_reset() argument 124 if (dev == NULL || service >= QAT_SERVICE_INVALID) { in qat_stats_reset() 126 dev, service); in qat_stats_reset() 130 qp = dev->qps_in_use[service]; in qat_stats_reset() 134 service, i); in qat_stats_reset() [all …]
|
| H A D | qat_common.h | 89 enum qat_service_type service); 92 enum qat_service_type service);
|
| H A D | qat_qp.h | 147 enum qat_service_type service); 151 enum qat_service_type service, uint16_t qp_id);
|
| /dpdk/drivers/net/sfc/ |
| H A D | sfc_mae_counter.c | 500 rte_service_map_lcore_set(registry->polling.service.id, in sfc_mae_counter_service_unregister() 501 registry->polling.service.core_id, 0); in sfc_mae_counter_service_unregister() 528 struct rte_service_spec service; in sfc_mae_counter_service_register() local 539 memset(&service, 0, sizeof(service)); in sfc_mae_counter_service_register() 540 rte_strscpy(service.name, counter_service_name, sizeof(service.name)); in sfc_mae_counter_service_register() 541 service.socket_id = sa->socket_id; in sfc_mae_counter_service_register() 542 service.callback = sfc_mae_counter_service_routine; in sfc_mae_counter_service_register() 543 service.callback_userdata = sa; in sfc_mae_counter_service_register() 572 rc = rte_service_component_register(&service, &sid); in sfc_mae_counter_service_register() 604 counter_registry->polling.service.core_id = cid; in sfc_mae_counter_service_register() [all …]
|
| H A D | sfc_repr_proxy.c | 909 struct rte_service_spec service; in sfc_repr_proxy_attach() local 948 memset(&service, 0, sizeof(service)); in sfc_repr_proxy_attach() 949 snprintf(service.name, sizeof(service.name), in sfc_repr_proxy_attach() 951 service.socket_id = rte_lcore_to_socket_id(cid); in sfc_repr_proxy_attach() 952 service.callback = sfc_repr_proxy_routine; in sfc_repr_proxy_attach() 953 service.callback_userdata = rp; in sfc_repr_proxy_attach() 955 rc = rte_service_component_register(&service, &sid); in sfc_repr_proxy_attach()
|
| /dpdk/drivers/net/failsafe/ |
| H A D | failsafe_intr.c | 122 struct rte_service_spec service; in fs_rx_event_proxy_service_install() local 133 memset(&service, 0, sizeof(struct rte_service_spec)); in fs_rx_event_proxy_service_install() 134 snprintf(service.name, sizeof(service.name), "%s_Rx_service", in fs_rx_event_proxy_service_install() 136 service.socket_id = priv->data->numa_node; in fs_rx_event_proxy_service_install() 137 service.callback = fs_rx_event_proxy_routine; in fs_rx_event_proxy_service_install() 138 service.callback_userdata = priv; in fs_rx_event_proxy_service_install() 165 int32_t ret = rte_service_component_register(&service, in fs_rx_event_proxy_service_install()
|
| /dpdk/drivers/net/nfp/ |
| H A D | nfp_cpp_bridge.c | 35 struct rte_service_spec service; in nfp_register_cpp_service() local 37 memset(&service, 0, sizeof(struct rte_service_spec)); in nfp_register_cpp_service() 38 snprintf(service.name, sizeof(service.name), "nfp_cpp_service"); in nfp_register_cpp_service() 39 service.callback = nfp_cpp_bridge_service_func; in nfp_register_cpp_service() 40 service.callback_userdata = (void *)cpp; in nfp_register_cpp_service() 42 if (rte_service_component_register(&service, in nfp_register_cpp_service()
|
| /dpdk/drivers/common/qat/dev/ |
| H A D | qat_dev_gen1.c | 88 enum qat_service_type service) in qat_qp_rings_per_service_gen1() argument 94 qat_qp_get_hw_data(qat_dev, service, i); in qat_qp_rings_per_service_gen1() 98 if (hw_qps->service_type == service && hw_qps->tx_msg_size) in qat_qp_rings_per_service_gen1()
|
| H A D | qat_dev_gens.h | 25 enum qat_service_type service);
|
| /dpdk/lib/eventdev/ |
| H A D | rte_event_timer_adapter.c | 827 struct rte_service_spec service; in swtim_init() local 895 memset(&service, 0, sizeof(service)); in swtim_init() 896 snprintf(service.name, RTE_SERVICE_NAME_MAX, in swtim_init() 898 service.socket_id = adapter->data->socket_id; in swtim_init() 899 service.callback = swtim_service_func; in swtim_init() 900 service.callback_userdata = adapter; in swtim_init() 901 service.capabilities &= ~(RTE_SERVICE_CAP_MT_SAFE); in swtim_init() 902 ret = rte_service_component_register(&service, &sw->service_id); in swtim_init() 905 ": err = %d", service.name, sw->service_id, in swtim_init() 912 EVTIM_LOG_DBG("registered service %s with id %"PRIu32, service.name, in swtim_init()
|
| H A D | rte_event_eth_tx_adapter.c | 404 struct rte_service_spec service; in txa_service_register() local 410 memset(&service, 0, sizeof(service)); in txa_service_register() 411 snprintf(service.name, TXA_SERVICE_NAME_LEN, "txa_%d", txa->id); in txa_service_register() 412 service.socket_id = txa->socket_id; in txa_service_register() 413 service.callback = txa_service_func; in txa_service_register() 414 service.callback_userdata = txa; in txa_service_register() 415 service.capabilities = RTE_SERVICE_CAP_MT_SAFE; in txa_service_register() 416 ret = rte_service_component_register(&service, in txa_service_register() 420 PRId32, service.name, ret); in txa_service_register()
|
| H A D | rte_event_crypto_adapter.c | 847 struct rte_service_spec service; in eca_init_service() local 853 memset(&service, 0, sizeof(service)); in eca_init_service() 854 snprintf(service.name, CRYPTO_ADAPTER_NAME_LEN, in eca_init_service() 856 service.socket_id = adapter->socket_id; in eca_init_service() 857 service.callback = eca_service_func; in eca_init_service() 858 service.callback_userdata = adapter; in eca_init_service() 860 service.capabilities = RTE_SERVICE_CAP_MT_SAFE; in eca_init_service() 861 ret = rte_service_component_register(&service, &adapter->service_id); in eca_init_service() 864 service.name, ret); in eca_init_service()
|
| /dpdk/doc/guides/howto/ |
| H A D | debug_troubleshoot.rst | 35 application may also make uses of Poll Mode Driver, and libraries like service 321 Is the execution cycles for dynamic service functions are not frequent? 324 service functions on service cores :numref:`dtg_service`. 330 functions running on service cores 338 * A service to run parallel on all cores should return 342 * If service function execution cycles for dynamic service functions are 349 * Check if service is running with ``rte_service_runstate_get``. 456 service core and signal handler.
|
| /dpdk/doc/guides/eventdevs/ |
| H A D | sw.rst | 9 perform event scheduling. This PMD can use the service core library to run the 10 scheduling function, allowing an application to utilize the power of service 55 schedule in a single schedule call performed by the service core. Note that 139 The software eventdev is a centralized scheduler, requiring a service core to
|
| /dpdk/drivers/event/sw/ |
| H A D | sw_evdev.c | 1106 struct rte_service_spec service; in sw_probe() local 1107 memset(&service, 0, sizeof(struct rte_service_spec)); in sw_probe() 1108 snprintf(service.name, sizeof(service.name), "%s_service", name); in sw_probe() 1111 service.socket_id = socket_id; in sw_probe() 1112 service.callback = sw_sched_service_func; in sw_probe() 1113 service.callback_userdata = (void *)dev; in sw_probe() 1115 int32_t ret = rte_service_component_register(&service, &sw->service_id); in sw_probe()
|
| /dpdk/examples/eventdev_pipeline/ |
| H A D | pipeline_worker_tx.c | 863 struct rte_service_spec service; in init_adapters() local 865 memset(&service, 0, sizeof(struct rte_service_spec)); in init_adapters() 866 snprintf(service.name, sizeof(service.name), "rx_service"); in init_adapters() 867 service.callback = service_rx_adapter; in init_adapters() 868 service.callback_userdata = (void *)adptr_services; in init_adapters() 870 int32_t ret = rte_service_component_register(&service, in init_adapters()
|
| /dpdk/lib/vhost/ |
| H A D | virtio_crypto.h | 13 #define VIRTIO_CRYPTO_OPCODE(service, op) (((service) << 8) | (op)) argument
|
| /dpdk/doc/guides/rel_notes/ |
| H A D | release_17_11.rst | 259 * **Service core fails to call service callback due to atomic lock** 261 In a specific configuration of multi-thread unsafe services and service 262 cores, a service core previously did not correctly release the atomic lock 263 on the service. This would result in the cores polling the service, but it 264 looked like another thread was executing the service callback. The logic for 285 The service cores API has been changed, removing pointers from the API where 286 possible, and instead using integer IDs to identify each service. This 292 * Reworked ``rte_service_register`` to provide the service ID to registrar 294 * Added API to set runstate of service implementation to indicate readiness
|