[PATCH 1/7] ethdev: introduce hairpin memory capabilities

Thomas Monjalon thomas at monjalon.net
Tue Oct 4 18:50:24 CEST 2022


19/09/2022 18:37, Dariusz Sosnowski:
> This patch introduces new hairpin queue configuration options through
> rte_eth_hairpin_conf struct, allowing to tune Rx and Tx hairpin queues
> memory configuration. Hairpin configuration is extended with the
> following fields:

What is the benefit?
How the user knows what to use?
Isn't it too much low level for a user?
Why it is not automatic in the driver?

[...]
> +	/**
> +	 * Use locked device memory as a backing storage.
> +	 *
> +	 * - When set, PMD will attempt to use on-device memory as a backing storage for descriptors
> +	 *   and/or data in hairpin queue.
> +	 * - When set, PMD will use detault memory type as a backing storage. Please refer to PMD

You probably mean "clear".
Please make lines shorter.
You should split lines logically, after a dot or at the end of a part.

> +	 *   documentation for details.
> +	 *
> +	 * API user should check if PMD supports this configuration flag using
> +	 * @see rte_eth_dev_hairpin_capability_get.
> +	 */
> +	uint32_t use_locked_device_memory:1;
> +
> +	/**
> +	 * Use DPDK memory as backing storage.
> +	 *
> +	 * - When set, PMD will attempt to use memory managed by DPDK as a backing storage
> +	 *   for descriptors and/or data in hairpin queue.
> +	 * - When clear, PMD will use default memory type as a backing storage. Please refer
> +	 *   to PMD documentation for details.
> +	 *
> +	 * API user should check if PMD supports this configuration flag using
> +	 * @see rte_eth_dev_hairpin_capability_get.
> +	 */
> +	uint32_t use_rte_memory:1;
> +
> +	/**
> +	 * Force usage of hairpin memory configuration.
> +	 *
> +	 * - When set, PMD will attempt to use specified memory settings and
> +	 *   if resource allocation fails, then hairpin queue setup will result in an
> +	 *   error.
> +	 * - When clear, PMD will attempt to use specified memory settings and
> +	 *   if resource allocation fails, then PMD will retry allocation with default
> +	 *   configuration.
> +	 */
> +	uint32_t force_memory:1;
> +
> +	uint32_t reserved:11; /**< Reserved bits. */

You can insert a blank line here.

>  	struct rte_eth_hairpin_peer peers[RTE_ETH_MAX_HAIRPIN_PEERS];
>  };




More information about the dev mailing list