[PATCH 01/10] score: Add get/set affinity to Scheduler Framework.

Gedare Bloom gedare at rtems.org
Tue Mar 25 12:08:21 UTC 2014


On Tue, Mar 25, 2014 at 3:20 AM, Sebastian Huber
<sebastian.huber at embedded-brains.de> wrote:
> On 2014-03-24 19:39, Jennifer wrote:
>>
>> @@ -184,6 +205,43 @@ void _Scheduler_default_Start_idle(
>>     Per_CPU_Control *processor
>>   );
>>
>> +#if defined(__RTEMS_HAVE_SYS_CPUSET_H__) && defined(RTEMS_SMP)
>> +
>> +  /**
>> +   * @brief Get affinity for the default scheduler.
>> +   *
>> +   * @param[in] thread The associated thread.
>> +   * @param[in] cpusetsize The size of the cpuset.
>> +   * @param[out] cpuset Affinity set containing all CPUs.
>> +   *
>> +   * @retval 0 Successfully got cpuset
>> +   * @retval -1 The cpusetsize is invalid for the system
>> +   */
>> +  int _Scheduler_default_Get_affinity(
>> +    Thread_Control *thread,
>> +    size_t          cpusetsize,
>> +    cpu_set_t      *cpuset
>> +  );
>> +
>> +  /**
>> +   * @brief Set affinity for the default scheduler.
>> +   *
>> +   * @param[in] thread The associated thread.
>> +   * @param[in] cpusetsize The size of the cpuset.
>> +   * @param[in] cpuset Affinity new affinity set.
>> +   *
>> +   * @retval 0 Successful
>> +   *
>> +   *  This method always returns successful and does not save
>> +   *  the cpuset.
>> +   */
>> +  int _Scheduler_default_Set_affinity(
>> +    Thread_Control *thread,
>> +    size_t          cpusetsize,
>> +    cpu_set_t      *cpuset
>> +  );
>> +#endif
>
>
> I would rather use bool or an enum for the return status instead of this
> int.
>
> The default set affinity operation should accept only CPU sets that specify
> the complete set of available processors, e.g. for a three processor system
> it should be bits 0, 1, and 2 set, all other bits cleared (e.g. (1 << CPU
> count) - 1).
>
> The default get affinity operation should return the CPU sets reflecting all
> available processors.
>
I agree with the logic for the defaults Sebastian suggests.

> --
> Sebastian Huber, embedded brains GmbH
>
> Address : Dornierstr. 4, D-82178 Puchheim, Germany
> Phone   : +49 89 189 47 41-16
> Fax     : +49 89 189 47 41-09
> E-Mail  : sebastian.huber at embedded-brains.de
> PGP     : Public key available on request.
>
> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
>
> _______________________________________________
> rtems-devel mailing list
> rtems-devel at rtems.org
> http://www.rtems.org/mailman/listinfo/rtems-devel




More information about the devel mailing list