[dpdk-dev] [PATCH v14 06/13] eal/linux: standalone intr event fd create support

Thomas Monjalon thomas.monjalon at 6wind.com
Mon Jul 20 01:35:28 CEST 2015


2015-07-17 14:16, Cunming Liang:
> +#ifdef RTE_NEXT_ABI
> +extern int
> +rte_intr_efd_enable(struct rte_intr_handle *intr_handle, uint32_t nb_efd);
> +#else
> +static inline int
> +rte_intr_efd_enable(struct rte_intr_handle *intr_handle, uint32_t nb_efd)
> +{
> +	RTE_SET_USED(intr_handle);
> +	RTE_SET_USED(nb_efd);
> +	return 0;
> +}
> +#endif
[...]
> +#ifdef RTE_NEXT_ABI
> +extern void
> +rte_intr_efd_disable(struct rte_intr_handle *intr_handle);
> +#else
> +static inline void
> +rte_intr_efd_disable(struct rte_intr_handle *intr_handle)
> +{
> +	RTE_SET_USED(intr_handle);
> +}
> +#endif
[...]
> +#ifdef RTE_NEXT_ABI
> +static inline int
> +rte_intr_dp_is_en(struct rte_intr_handle *intr_handle)
> +{
> +	return !(!intr_handle->nb_efd);
> +}
> +#else
> +static inline int
> +rte_intr_dp_is_en(struct rte_intr_handle *intr_handle)
> +{
> +	RTE_SET_USED(intr_handle);
> +	return 0;
> +}
> +#endif
[...]
> +#ifdef RTE_NEXT_ABI
> +static inline int
> +rte_intr_allow_others(struct rte_intr_handle *intr_handle)
> +{
> +	return !!(intr_handle->max_intr - intr_handle->nb_efd);
> +}
> +#else
> +static inline int
> +rte_intr_allow_others(struct rte_intr_handle *intr_handle)
> +{
> +	RTE_SET_USED(intr_handle);
> +	return 1;
> +}
> +#endif

Why these #else cases?

> --- a/lib/librte_eal/linuxapp/eal/rte_eal_version.map
> +++ b/lib/librte_eal/linuxapp/eal/rte_eal_version.map
> @@ -117,6 +117,10 @@ DPDK_2.1 {
>  
>  	rte_epoll_ctl;
>  	rte_epoll_wait;
> +	rte_intr_allow_others;
> +	rte_intr_dp_is_en;
> +	rte_intr_efd_enable;
> +	rte_intr_efd_disable;

If RTE_NEXT_ABI is disabled, these symbols do not exist.
An alternate .map would be needed.


More information about the dev mailing list