Best Regards, Stanislaw Kardach
On 06/05/2017 02:27 PM, Balasubramanian Manoharan wrote: > Adds threshold limit of the pool to the pool parameters. > This threshold limit is a percentage of total size of the pool. > > Signed-off-by: Balasubramanian Manoharan <bala.manoha...@linaro.org> > --- > include/odp/api/spec/pool.h | 32 ++++++++++++++++++++++++++++++++ > 1 file changed, 32 insertions(+) > > diff --git a/include/odp/api/spec/pool.h b/include/odp/api/spec/pool.h > index 6fc5b6b..1c1ebe4 100644 > --- a/include/odp/api/spec/pool.h > +++ b/include/odp/api/spec/pool.h > @@ -20,6 +20,7 @@ extern "C" { > #endif > > #include <odp/api/std_types.h> > +#include <odp/api/support.h> > > /** @defgroup odp_pool ODP POOL > * Operations on a pool. > @@ -127,6 +128,9 @@ typedef struct odp_pool_capability_t { > * The value of zero means that limited only by the available > * memory size for the pool. */ > uint32_t max_uarea_size; > + > + /** Pool Threshold limit support */ > + odp_support_t pool_threshold_limit; > } pkt; > > /** Timeout pool capabilities */ > @@ -214,6 +218,17 @@ typedef struct odp_pool_param_t { > defined by pool capability pkt.max_uarea_size. > Specify as 0 if no user area is needed. */ > uint32_t uarea_size; > + > + /** Pool threshold limit in percentage > + * > + * This value denotes the threshold limit of the pool in > + * percentage of the total size of the pool and is used > + * to configure the Random Early Discard (RED). > + * When the number of packets in the pool is greater > + * than this value RED is initiated in the pool and > + * further incoming packets to the pool are dropped in > + * a random sequence. */ > + uint8_t threshold_limit; Is threshold limit "a percentage of total size of the pool" (hence I guess 0-100) or rather an absolute value that triggers RED? > } pkt; > > /** Parameters for timeout pools */ > @@ -329,6 +344,23 @@ uint64_t odp_pool_to_u64(odp_pool_t hdl); > void odp_pool_param_init(odp_pool_param_t *param); > > /** > + * Set threshold limit of the pool > + * > + * Set the threshold limit of the pool as a percentage of the total > + * size of the pool. This value is used to configure Random Early > Discard(RED) > + * parameters of the pool and any incoming packets to the pool after reaching > + * this threshold is dropped in a random sequence. > + * > + * @param pool Pool handle > + * @param threshold_limit Threshold limit of the pool. > + * > + * @retval 0 on success > + * @retval -1 on failure > + */ > + > +int odp_pool_threshold_limit(odp_pool_t pool, uint8_t threshold_limit); > + > +/** > * @} > */ > >