On 23 May 2017 at 09:49, Peltonen, Janne (Nokia - FI/Espoo)
<[email protected]> wrote:
>
>> +static int ord_enq_multi(uint32_t queue_index, void *p_buf_hdr[],
>> + int num, int *ret)
>> +{
>> + (void)queue_index;
>> + (void)p_buf_hdr;
>> + (void)num;
>> + (void)ret;
>> + return 0;
>> +}
>
> How is packet order maintained when enqueuing packets read from an ordered
> queue to a pktout queue? Matias' recent fix uses the ord_enq_multi scheduler
> function for that, but this version does not do any ordering. Or is the
> ordering guaranteed by some other means?
>
We have been running TM related test cases and they are working fine.
So, I would assume we do not need to do anything.
What is the use case from TM? Does TM use ODP queues?
>> +static void order_lock(void)
>> +{
>> +}
>> +
>> +static void order_unlock(void)
>> +{
>> +}
>
> Is it ok that these are no-ops? tm_enqueue() seems to use these.
>
>> +
>> +const schedule_fn_t schedule_scalable_fn = {
>> + .pktio_start = pktio_start,
>> + .thr_add = thr_add,
>> + .thr_rem = thr_rem,
>> + .num_grps = num_grps,
>> + .init_queue = init_queue,
>> + .destroy_queue = destroy_queue,
>> + .sched_queue = sched_queue,
>> + .ord_enq_multi = ord_enq_multi,
>> + .init_global = schedule_init_global,
>> + .term_global = schedule_term_global,
>> + .init_local = schedule_init_local,
>> + .term_local = schedule_term_local,
>> + .order_lock = order_lock,
>> + .order_unlock = order_unlock,
>> +};
>
> Janne
>
>