> -----Original Message-----
> From: Li, Miao <miao...@intel.com>
> Sent: Friday, October 15, 2021 11:12 PM
> To: dev@dpdk.org
> Cc: Xia, Chenbo <chenbo....@intel.com>; maxime.coque...@redhat.com; Li, Miao
> <miao...@intel.com>; Burakov, Anatoly <anatoly.bura...@intel.com>
> Subject: [PATCH v5 4/5] power: modify return of queue_stopped
> 
> Since some vdevs like virtio and vhost do not support rxq_info_get and
> queue state inquiry, the error return value -ENOTSUP need to be ignored
> when queue_stopped cannot get rx queue information and rx queue state.
> This patch changes the return value of queue_stopped when
> rte_eth_rx_queue_info_get return ENOTSUP to support vdevs which cannot

ENOTSUP -> -ENOTSUP

With this fixed:

Reviewed-by: Chenbo Xia <chenbo....@intel.com>

> provide rx queue information and rx queue state enable power management.
> 
> Signed-off-by: Miao Li <miao...@intel.com>
> Acked-by: Anatoly Burakov <anatoly.bura...@intel.com>
> ---
>  lib/power/rte_power_pmd_mgmt.c | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/power/rte_power_pmd_mgmt.c b/lib/power/rte_power_pmd_mgmt.c
> index 0ce40f0875..39a2b4cd23 100644
> --- a/lib/power/rte_power_pmd_mgmt.c
> +++ b/lib/power/rte_power_pmd_mgmt.c
> @@ -382,8 +382,13 @@ queue_stopped(const uint16_t port_id, const uint16_t
> queue_id)
>  {
>       struct rte_eth_rxq_info qinfo;
> 
> -     if (rte_eth_rx_queue_info_get(port_id, queue_id, &qinfo) < 0)
> -             return -1;
> +     int ret = rte_eth_rx_queue_info_get(port_id, queue_id, &qinfo);
> +     if (ret < 0) {
> +             if (ret == -ENOTSUP)
> +                     return 1;
> +             else
> +                     return -1;
> +     }
> 
>       return qinfo.queue_state == RTE_ETH_QUEUE_STATE_STOPPED;
>  }
> --
> 2.25.1

Reply via email to