@@ -240,7 +240,7 @@ test_thread_control_create_join(void)
thread_id_ready = 0;
RTE_TEST_ASSERT(rte_thread_create_control(&thread_id, "dpdk-test-thcc",
- NULL, thread_main, &thread_main_id) == 0,
+ thread_main, &thread_main_id) == 0,
"Failed to create thread.");
while (__atomic_load_n(&thread_id_ready, __ATOMIC_ACQUIRE) == 0)
@@ -113,6 +113,9 @@ API Changes
Also, make sure to start the actual text at the margin.
=======================================================
+* eal: The thread API has changed.
+ The function ``rte_thread_create_control()`` does not take attributes anymore.
+
ABI Changes
-----------
@@ -128,8 +128,7 @@ skeldma_start(struct rte_dma_dev *dev)
rte_mb();
snprintf(name, sizeof(name), "dpdk-dma-skel%d", dev->data->dev_id);
- ret = rte_thread_create_control(&hw->thread, name, NULL,
- cpucopy_thread, dev);
+ ret = rte_thread_create_control(&hw->thread, name, cpucopy_thread, dev);
if (ret) {
SKELDMA_LOG(ERR, "Start cpucopy thread fail!");
return -EINVAL;
@@ -136,7 +136,7 @@ iavf_dev_event_handler_init(void)
pthread_mutex_init(&handler->lock, NULL);
if (rte_thread_create_control(&handler->tid, "dpdk-iavf-event",
- NULL, iavf_dev_event_handle, NULL)) {
+ iavf_dev_event_handle, NULL)) {
__atomic_fetch_sub(&handler->ndev, 1, __ATOMIC_RELAXED);
return -1;
}
@@ -182,7 +182,7 @@ start_vsi_reset_thread(struct ice_dcf_hw *dcf_hw, bool vfr, uint16_t vf_id)
param->vf_id = vf_id;
snprintf(name, sizeof(name), "dpdk-ice-rst%u", vf_id);
- ret = rte_thread_create_control(&thread, name, NULL,
+ ret = rte_thread_create_control(&thread, name,
ice_dcf_vsi_update_service_handler, param);
if (ret != 0) {
PMD_DRV_LOG(ERR, "Failed to start the thread for reset handling");
@@ -4330,7 +4330,6 @@ ixgbe_dev_link_update_share(struct rte_eth_dev *dev,
intr->flags |= IXGBE_FLAG_NEED_LINK_CONFIG;
if (rte_thread_create_control(&ad->link_thread_tid,
"dpdk-ixgbe-link",
- NULL,
ixgbe_dev_setup_link_thread_handler,
dev) < 0) {
PMD_DRV_LOG(ERR,
@@ -2897,7 +2897,7 @@ txgbe_dev_link_update_share(struct rte_eth_dev *dev,
*/
intr->flags |= TXGBE_FLAG_NEED_LINK_CONFIG;
if (rte_thread_create_control(&ad->link_thread_tid,
- "dpdk-txgbe-link", NULL,
+ "dpdk-txgbe-link",
txgbe_dev_setup_link_thread_handler, dev) < 0) {
PMD_DRV_LOG(ERR, "Create link thread failed!");
__atomic_clear(&ad->link_thread_running, __ATOMIC_SEQ_CST);
@@ -349,8 +349,7 @@ rte_ctrl_thread_create(pthread_t *thread, const char *name,
int
rte_thread_create_control(rte_thread_t *thread, const char *name,
- const rte_thread_attr_t *attr, rte_thread_func start_routine,
- void *arg)
+ rte_thread_func start_routine, void *arg)
{
struct rte_thread_ctrl_params *params;
enum __rte_ctrl_thread_status ctrl_thread_status;
@@ -365,7 +364,7 @@ rte_thread_create_control(rte_thread_t *thread, const char *name,
params->ret = 0;
params->ctrl_thread_status = CTRL_THREAD_LAUNCHING;
- ret = rte_thread_create(thread, attr, control_thread_start, params);
+ ret = rte_thread_create(thread, NULL, control_thread_start, params);
if (ret != 0) {
free(params);
return -ret;
@@ -116,8 +116,6 @@ int rte_thread_create(rte_thread_t *thread_id,
* @param name
* The name of the control thread
* (max RTE_THREAD_NAME_SIZE characters including '\0').
- * @param thread_attr
- * Attributes for the new thread.
* @param thread_func
* Function to be executed by the new thread.
* @param arg
@@ -129,8 +127,7 @@ int rte_thread_create(rte_thread_t *thread_id,
__rte_experimental
int
rte_thread_create_control(rte_thread_t *thread, const char *name,
- const rte_thread_attr_t *thread_attr, rte_thread_func thread_func,
- void *arg);
+ rte_thread_func thread_func, void *arg);
/**
* @warning
@@ -98,7 +98,7 @@ rte_eal_intr_init(void)
return -1;
}
- ret = rte_thread_create_control(&intr_thread, "dpdk-intr", NULL,
+ ret = rte_thread_create_control(&intr_thread, "dpdk-intr",
eal_intr_thread_main, NULL);
if (ret != 0) {
rte_errno = -ret;