On 06/07 17:39:16, Bogdan Pricope wrote: > In OFP we have this use case: N-1 cores are doing packet processing in > direct pktin mode; core 0 is doing odp_schedule() to process timers > (ARP entries expiration) and maybe other events. > > To take from this: > - If scheduler + timers are used, may not be use on all cores > - If scheduler + timers are used, odp_schedule() may not be > called at the rate of the packets > > > So, is not a good idea to condition timer processing to the number of > odp_schedule() calls.
Can you please elaborate on how you reached this conclusion? I did not understand. > On 7 June 2017 at 10:30, Savolainen, Petri (Nokia - FI/Espoo) > <[email protected]> wrote: > > > >> > >> diff --git a/include/odp/api/spec/init.h b/include/odp/api/spec/init.h > >> index 154cdf8f..44950893 100644 > >> --- a/include/odp/api/spec/init.h > >> +++ b/include/odp/api/spec/init.h > >> @@ -153,6 +153,11 @@ typedef struct odp_init_t { > >> odp_log_func_t log_fn; > >> /** Replacement for the default abort fn */ > >> odp_abort_func_t abort_fn; > >> + /** Whether the application will ever call odp_schedule() or > >> not. > >> + > >> + Default: true > >> + */ > >> + odp_bool_t use_scheduler; > >> } odp_init_t; > > > > > > This is an API change. It should be in a separate patch and subject should > > be "api: init: ...". > > > > Anyway, Bill sent already a proposal that is closer what I described > > earlier. Init struct should have odp_feature_t bit field for feature / > > unused_feature selection. > > > > -Petri
