[dpdk-dev] [PATCH V12 1/3] eal: add uevent monitor api and callback func
Guo, Jia
jia.guo at intel.com
Fri Jan 19 03:51:10 CET 2018
On 1/19/2018 9:13 AM, Thomas Monjalon wrote:
> 18/01/2018 05:12, Jeff Guo:
>> + * It registers the callback for the specific device.
>> + * Multiple callbacks cal be registered at the same time.
>> + *
>> + * @param device_name
>> + * The device name, that is the param name of the struct rte_device,
> Why not using rte_device pointer?
sorry, maybe i have address the reason in other patch mail loop but i
will explain again. since if use NULL for all device, a callback could
not belong to a NULL rte_device pointer.
>> + * null value means for all devices.
> I don't see any management of NULL value.
> On the contrary, I see
> + if (device_name == NULL)
> + return -EINVAL;
the device_name is from the uevent massage, it should not be null for
ever. NULL value for all devices is use the params dev_name in the
structure of rte_dev_event_callback, and control by below part of code.
if dev->name is null, don't care about the whether the device_name have
been registered or not. i think that would be fulfill all new device
monitor.
TAILQ_FOREACH(cb_lst, &(dev_event_cbs), next) {
if (cb_lst->cb_fn == NULL || (strcmp(cb_lst->dev_name,
device_name) && cb_lst->dev_name))
continue;
dev_cb = *cb_lst;
>> + * @param cb_fn
>> + * callback address.
>> + * @param cb_arg
>> + * address of parameter for callback.
>> + *
>> + * @return
>> + * - On success, zero.
>> + * - On failure, a negative value.
>> + */
>> +int rte_dev_callback_register(char *device_name, rte_dev_event_cb_fn cb_fn,
>> + void *cb_arg);
>> +
>
>
More information about the dev
mailing list