I'd think that would be better left as an application option.  Excluding a
core on a 4 core system is a 25% reduction in potential processing
capability--not something ODP should be doing unilaterally.

On Sat, Oct 31, 2015 at 4:47 PM, Ivan Khoronzhuk <[email protected]
> wrote:

>
>
> On 31.10.15 22:48, Bill Fischofer wrote:
>
>> There should be some better way to control this, as arbitrarily excluding
>> a core from consideration for worker threads is a significant penalty for
>> small core count environments.   I suggest bringing this up during one of
>> the ARCH calls.
>>
>
> Yep. There is suggestion to make it dependent on core count.
> Like if CPU count is more then 2, then exclude core 0.
>
>
>> On Fri, Oct 30, 2015 at 9:05 AM, Ivan Khoronzhuk <
>> [email protected] <mailto:[email protected]>> wrote:
>>
>>     ping
>>
>>     On 27.10.15 17:53, Ivan Khoronzhuk wrote:
>>
>>         The worker cpu in most cases supposed to be used for one thread.
>>         By default all control threads on CPU0, and
>> odp_cpumask_default_control
>>         returns it. It shouldn't overlap with worker cpumask.
>>
>>         Signed-off-by: Ivan Khoronzhuk <[email protected]
>> <mailto:[email protected]>>
>>         ---
>>            platform/linux-generic/odp_cpumask_task.c | 2 +-
>>            1 file changed, 1 insertion(+), 1 deletion(-)
>>
>>         diff --git a/platform/linux-generic/odp_cpumask_task.c
>> b/platform/linux-generic/odp_cpumask_task.c
>>         index 535891c..227650a 100644
>>         --- a/platform/linux-generic/odp_cpumask_task.c
>>         +++ b/platform/linux-generic/odp_cpumask_task.c
>>         @@ -33,7 +33,7 @@ int odp_cpumask_default_worker(odp_cpumask_t
>> *mask, int num)
>>                          num = CPU_COUNT(&cpuset);
>>
>>                  /* build the mask, allocating down from highest numbered
>> CPU */
>>         -       for (cpu = 0, i = CPU_SETSIZE - 1; i >= 0 && cpu < num;
>> --i) {
>>         +       for (cpu = 0, i = CPU_SETSIZE - 1; i > 0 && cpu < num;
>> --i) {
>>                          if (CPU_ISSET(i, &cpuset)) {
>>                                  odp_cpumask_set(mask, i);
>>                                  cpu++;
>>
>>
>>     --
>>     Regards,
>>     Ivan Khoronzhuk
>>
>>     _______________________________________________
>>     lng-odp mailing list
>>     [email protected] <mailto:[email protected]>
>>     https://lists.linaro.org/mailman/listinfo/lng-odp
>>
>>
>>
> --
> Regards,
> Ivan Khoronzhuk
>
_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to