Hi,

(Apologies for overly-eager email sent on this thread earlier. Will be more 
careful in future).

This is more of a question/clarification than a comment. (And I have taken only 
some snippets from original mail to keep it cleaner)

<snip>
> +MEMPOOL_REGISTER_OPS(ops_mp_mc);
> +MEMPOOL_REGISTER_OPS(ops_sp_sc);
> +MEMPOOL_REGISTER_OPS(ops_mp_sc);
> +MEMPOOL_REGISTER_OPS(ops_sp_mc);
<snip>

>From the above what I understand is that multiple packet pool handlers can be 
>created.

I have a use-case where application has multiple pools but only the packet pool 
is hardware backed. Using the hardware for general buffer requirements would 
prove costly.
>From what I understand from the patch, selection of the pool is based on the 
>flags below.

<snip>
> +     /*
> +      * Since we have 4 combinations of the SP/SC/MP/MC examine the flags to
> +      * set the correct index into the table of ops structs.
> +      */
> +     if (flags & (MEMPOOL_F_SP_PUT | MEMPOOL_F_SC_GET))
> +             rte_mempool_set_ops_byname(mp, "ring_sp_sc");
> +     else if (flags & MEMPOOL_F_SP_PUT)
> +             rte_mempool_set_ops_byname(mp, "ring_sp_mc");
> +     else if (flags & MEMPOOL_F_SC_GET)
> +             rte_mempool_set_ops_byname(mp, "ring_mp_sc");
> +     else
> +             rte_mempool_set_ops_byname(mp, "ring_mp_mc");
> +

Is there any way I can achieve the above use case of multiple pools which can 
be selected by an application - something like a run-time toggle/flag?

-
Shreyansh

Reply via email to