Package Summary

Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/callback_isolated_executor.git
VCS Type git
VCS Version main
Last Updated 2025-09-16
Dev Status UNMAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A dedicated node that configures the scheduling attributes of each thread in callback_isolated_executor.

Maintainers

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

Authors

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

cie_thread_configurator

A library that allows you to configure thread scheduling for all callback groups of ROS 2 nodes launched by the callback_isolated_executor package using just one YAML file.

For instructions on how to use this tool, please refer to https://github.com/sykwer/callback_isolated_executor/tree/main?tab=readme-ov-file#usage.

YAML Configuration File Format

For each ROS 2 application, prepare a single YAML configuration file. The format of the YAML configuration file is as follows. There is a top-level entry called callback_groups, under which there are arrays representing each callback group. The IDs for the callback groups are automatically generated by this tool according to the rules described in the next section.

callback_groups:
  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

  - id: yyyyy
    affinity:
      - 2
      - 3
    policy: SCHED_FIFO
    priority: 50

...

In the affinity field, provide an array of core numbers that are allowed to run the OS threads corresponding to the callback group. The numbers provided here correspond to those used with sched_setaffinity(2). Leaving this array empty means allowing operation on all cores.

In the policy field, you can specify one of the following scheduling policies:

  • SCHED_OTHER
  • SCHED_BATCH
  • SCHED_FIFO
  • SCHED_RR
  • SCHED_DEADLINE

When specifying the task scheduling policy as SCHED_OTHER or SCHED_BATCH, it is executed on the CFS (Completely Fair Scheduler). When set to SCHED_FIFO or SCHED_RR, it runs on the FIFO scheduler. When specified as SCHED_DEADLINE, it is scheduled on the EDF (Earliest Deadline First) scheduler.

Depending on which scheduler the thread (CallbackGroup) operates on, the configuration items vary. Below, the configurable items for each scheduler are described.

CFS

For threads operating on the CFS, you can specify the nice value. In the YAML file, this is specified under the entry name priority. The values can range from -20 (highest priority) to 19 (lowest priority).

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

FIFO Scheduler

For threads operating on the FIFO scheduler, you can specify the priority. In the YAML file, this is specified under the entry name priority. The values can range from 99 (highest priority) to 1 (lowest priority). This range corresponds to the return values of sched_get_priority_max(2) and sched_get_priority_min(2). On Linux, these values are 99 and 1.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_FIFO
    priority: 50

EDF Scheduler

For threads operating on the FIFO scheduler, you can specify the parameters named runtime, deadline, and period.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_DEADLINE
    runtime: 10000000
    deadline: 10000000
    period: 20000000

CallbackGroup ID format

In the YAML template generated by cie_thread_configurator, CallbackGroup IDs are automatically generated. As explained in the usage instructions, the YAML template file looks like this:

```yaml callback_groups:

  • id: /sample_node@Subscription(/parameter_events)@Service(/sample_node/get_parameters)@Service(/sample_node/get_parameter_types)@Service(/sample_node/set_parameters)@Service(/sample_node/set_parameters_atomically)@Service(/sample_node/describe_parameters)@Service(/sample_node/list_parameters)@Waitable@Waitable@Waitable@Waitable

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cie_thread_configurator at Robotics Stack Exchange

No version for distro jazzy showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/callback_isolated_executor.git
VCS Type git
VCS Version main
Last Updated 2025-09-16
Dev Status UNMAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A dedicated node that configures the scheduling attributes of each thread in callback_isolated_executor.

Maintainers

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

Authors

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

cie_thread_configurator

A library that allows you to configure thread scheduling for all callback groups of ROS 2 nodes launched by the callback_isolated_executor package using just one YAML file.

For instructions on how to use this tool, please refer to https://github.com/sykwer/callback_isolated_executor/tree/main?tab=readme-ov-file#usage.

YAML Configuration File Format

For each ROS 2 application, prepare a single YAML configuration file. The format of the YAML configuration file is as follows. There is a top-level entry called callback_groups, under which there are arrays representing each callback group. The IDs for the callback groups are automatically generated by this tool according to the rules described in the next section.

callback_groups:
  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

  - id: yyyyy
    affinity:
      - 2
      - 3
    policy: SCHED_FIFO
    priority: 50

...

In the affinity field, provide an array of core numbers that are allowed to run the OS threads corresponding to the callback group. The numbers provided here correspond to those used with sched_setaffinity(2). Leaving this array empty means allowing operation on all cores.

In the policy field, you can specify one of the following scheduling policies:

  • SCHED_OTHER
  • SCHED_BATCH
  • SCHED_FIFO
  • SCHED_RR
  • SCHED_DEADLINE

When specifying the task scheduling policy as SCHED_OTHER or SCHED_BATCH, it is executed on the CFS (Completely Fair Scheduler). When set to SCHED_FIFO or SCHED_RR, it runs on the FIFO scheduler. When specified as SCHED_DEADLINE, it is scheduled on the EDF (Earliest Deadline First) scheduler.

Depending on which scheduler the thread (CallbackGroup) operates on, the configuration items vary. Below, the configurable items for each scheduler are described.

CFS

For threads operating on the CFS, you can specify the nice value. In the YAML file, this is specified under the entry name priority. The values can range from -20 (highest priority) to 19 (lowest priority).

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

FIFO Scheduler

For threads operating on the FIFO scheduler, you can specify the priority. In the YAML file, this is specified under the entry name priority. The values can range from 99 (highest priority) to 1 (lowest priority). This range corresponds to the return values of sched_get_priority_max(2) and sched_get_priority_min(2). On Linux, these values are 99 and 1.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_FIFO
    priority: 50

EDF Scheduler

For threads operating on the FIFO scheduler, you can specify the parameters named runtime, deadline, and period.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_DEADLINE
    runtime: 10000000
    deadline: 10000000
    period: 20000000

CallbackGroup ID format

In the YAML template generated by cie_thread_configurator, CallbackGroup IDs are automatically generated. As explained in the usage instructions, the YAML template file looks like this:

```yaml callback_groups:

  • id: /sample_node@Subscription(/parameter_events)@Service(/sample_node/get_parameters)@Service(/sample_node/get_parameter_types)@Service(/sample_node/set_parameters)@Service(/sample_node/set_parameters_atomically)@Service(/sample_node/describe_parameters)@Service(/sample_node/list_parameters)@Waitable@Waitable@Waitable@Waitable

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cie_thread_configurator at Robotics Stack Exchange

No version for distro kilted showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/callback_isolated_executor.git
VCS Type git
VCS Version main
Last Updated 2025-09-16
Dev Status UNMAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A dedicated node that configures the scheduling attributes of each thread in callback_isolated_executor.

Maintainers

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

Authors

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

cie_thread_configurator

A library that allows you to configure thread scheduling for all callback groups of ROS 2 nodes launched by the callback_isolated_executor package using just one YAML file.

For instructions on how to use this tool, please refer to https://github.com/sykwer/callback_isolated_executor/tree/main?tab=readme-ov-file#usage.

YAML Configuration File Format

For each ROS 2 application, prepare a single YAML configuration file. The format of the YAML configuration file is as follows. There is a top-level entry called callback_groups, under which there are arrays representing each callback group. The IDs for the callback groups are automatically generated by this tool according to the rules described in the next section.

callback_groups:
  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

  - id: yyyyy
    affinity:
      - 2
      - 3
    policy: SCHED_FIFO
    priority: 50

...

In the affinity field, provide an array of core numbers that are allowed to run the OS threads corresponding to the callback group. The numbers provided here correspond to those used with sched_setaffinity(2). Leaving this array empty means allowing operation on all cores.

In the policy field, you can specify one of the following scheduling policies:

  • SCHED_OTHER
  • SCHED_BATCH
  • SCHED_FIFO
  • SCHED_RR
  • SCHED_DEADLINE

When specifying the task scheduling policy as SCHED_OTHER or SCHED_BATCH, it is executed on the CFS (Completely Fair Scheduler). When set to SCHED_FIFO or SCHED_RR, it runs on the FIFO scheduler. When specified as SCHED_DEADLINE, it is scheduled on the EDF (Earliest Deadline First) scheduler.

Depending on which scheduler the thread (CallbackGroup) operates on, the configuration items vary. Below, the configurable items for each scheduler are described.

CFS

For threads operating on the CFS, you can specify the nice value. In the YAML file, this is specified under the entry name priority. The values can range from -20 (highest priority) to 19 (lowest priority).

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

FIFO Scheduler

For threads operating on the FIFO scheduler, you can specify the priority. In the YAML file, this is specified under the entry name priority. The values can range from 99 (highest priority) to 1 (lowest priority). This range corresponds to the return values of sched_get_priority_max(2) and sched_get_priority_min(2). On Linux, these values are 99 and 1.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_FIFO
    priority: 50

EDF Scheduler

For threads operating on the FIFO scheduler, you can specify the parameters named runtime, deadline, and period.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_DEADLINE
    runtime: 10000000
    deadline: 10000000
    period: 20000000

CallbackGroup ID format

In the YAML template generated by cie_thread_configurator, CallbackGroup IDs are automatically generated. As explained in the usage instructions, the YAML template file looks like this:

```yaml callback_groups:

  • id: /sample_node@Subscription(/parameter_events)@Service(/sample_node/get_parameters)@Service(/sample_node/get_parameter_types)@Service(/sample_node/set_parameters)@Service(/sample_node/set_parameters_atomically)@Service(/sample_node/describe_parameters)@Service(/sample_node/list_parameters)@Waitable@Waitable@Waitable@Waitable

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cie_thread_configurator at Robotics Stack Exchange

No version for distro rolling showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/callback_isolated_executor.git
VCS Type git
VCS Version main
Last Updated 2025-09-16
Dev Status UNMAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A dedicated node that configures the scheduling attributes of each thread in callback_isolated_executor.

Maintainers

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

Authors

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

cie_thread_configurator

A library that allows you to configure thread scheduling for all callback groups of ROS 2 nodes launched by the callback_isolated_executor package using just one YAML file.

For instructions on how to use this tool, please refer to https://github.com/sykwer/callback_isolated_executor/tree/main?tab=readme-ov-file#usage.

YAML Configuration File Format

For each ROS 2 application, prepare a single YAML configuration file. The format of the YAML configuration file is as follows. There is a top-level entry called callback_groups, under which there are arrays representing each callback group. The IDs for the callback groups are automatically generated by this tool according to the rules described in the next section.

callback_groups:
  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

  - id: yyyyy
    affinity:
      - 2
      - 3
    policy: SCHED_FIFO
    priority: 50

...

In the affinity field, provide an array of core numbers that are allowed to run the OS threads corresponding to the callback group. The numbers provided here correspond to those used with sched_setaffinity(2). Leaving this array empty means allowing operation on all cores.

In the policy field, you can specify one of the following scheduling policies:

  • SCHED_OTHER
  • SCHED_BATCH
  • SCHED_FIFO
  • SCHED_RR
  • SCHED_DEADLINE

When specifying the task scheduling policy as SCHED_OTHER or SCHED_BATCH, it is executed on the CFS (Completely Fair Scheduler). When set to SCHED_FIFO or SCHED_RR, it runs on the FIFO scheduler. When specified as SCHED_DEADLINE, it is scheduled on the EDF (Earliest Deadline First) scheduler.

Depending on which scheduler the thread (CallbackGroup) operates on, the configuration items vary. Below, the configurable items for each scheduler are described.

CFS

For threads operating on the CFS, you can specify the nice value. In the YAML file, this is specified under the entry name priority. The values can range from -20 (highest priority) to 19 (lowest priority).

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

FIFO Scheduler

For threads operating on the FIFO scheduler, you can specify the priority. In the YAML file, this is specified under the entry name priority. The values can range from 99 (highest priority) to 1 (lowest priority). This range corresponds to the return values of sched_get_priority_max(2) and sched_get_priority_min(2). On Linux, these values are 99 and 1.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_FIFO
    priority: 50

EDF Scheduler

For threads operating on the FIFO scheduler, you can specify the parameters named runtime, deadline, and period.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_DEADLINE
    runtime: 10000000
    deadline: 10000000
    period: 20000000

CallbackGroup ID format

In the YAML template generated by cie_thread_configurator, CallbackGroup IDs are automatically generated. As explained in the usage instructions, the YAML template file looks like this:

```yaml callback_groups:

  • id: /sample_node@Subscription(/parameter_events)@Service(/sample_node/get_parameters)@Service(/sample_node/get_parameter_types)@Service(/sample_node/set_parameters)@Service(/sample_node/set_parameters_atomically)@Service(/sample_node/describe_parameters)@Service(/sample_node/list_parameters)@Waitable@Waitable@Waitable@Waitable

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cie_thread_configurator at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/callback_isolated_executor.git
VCS Type git
VCS Version main
Last Updated 2025-09-16
Dev Status UNMAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A dedicated node that configures the scheduling attributes of each thread in callback_isolated_executor.

Maintainers

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

Authors

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

cie_thread_configurator

A library that allows you to configure thread scheduling for all callback groups of ROS 2 nodes launched by the callback_isolated_executor package using just one YAML file.

For instructions on how to use this tool, please refer to https://github.com/sykwer/callback_isolated_executor/tree/main?tab=readme-ov-file#usage.

YAML Configuration File Format

For each ROS 2 application, prepare a single YAML configuration file. The format of the YAML configuration file is as follows. There is a top-level entry called callback_groups, under which there are arrays representing each callback group. The IDs for the callback groups are automatically generated by this tool according to the rules described in the next section.

callback_groups:
  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

  - id: yyyyy
    affinity:
      - 2
      - 3
    policy: SCHED_FIFO
    priority: 50

...

In the affinity field, provide an array of core numbers that are allowed to run the OS threads corresponding to the callback group. The numbers provided here correspond to those used with sched_setaffinity(2). Leaving this array empty means allowing operation on all cores.

In the policy field, you can specify one of the following scheduling policies:

  • SCHED_OTHER
  • SCHED_BATCH
  • SCHED_FIFO
  • SCHED_RR
  • SCHED_DEADLINE

When specifying the task scheduling policy as SCHED_OTHER or SCHED_BATCH, it is executed on the CFS (Completely Fair Scheduler). When set to SCHED_FIFO or SCHED_RR, it runs on the FIFO scheduler. When specified as SCHED_DEADLINE, it is scheduled on the EDF (Earliest Deadline First) scheduler.

Depending on which scheduler the thread (CallbackGroup) operates on, the configuration items vary. Below, the configurable items for each scheduler are described.

CFS

For threads operating on the CFS, you can specify the nice value. In the YAML file, this is specified under the entry name priority. The values can range from -20 (highest priority) to 19 (lowest priority).

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

FIFO Scheduler

For threads operating on the FIFO scheduler, you can specify the priority. In the YAML file, this is specified under the entry name priority. The values can range from 99 (highest priority) to 1 (lowest priority). This range corresponds to the return values of sched_get_priority_max(2) and sched_get_priority_min(2). On Linux, these values are 99 and 1.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_FIFO
    priority: 50

EDF Scheduler

For threads operating on the FIFO scheduler, you can specify the parameters named runtime, deadline, and period.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_DEADLINE
    runtime: 10000000
    deadline: 10000000
    period: 20000000

CallbackGroup ID format

In the YAML template generated by cie_thread_configurator, CallbackGroup IDs are automatically generated. As explained in the usage instructions, the YAML template file looks like this:

```yaml callback_groups:

  • id: /sample_node@Subscription(/parameter_events)@Service(/sample_node/get_parameters)@Service(/sample_node/get_parameter_types)@Service(/sample_node/set_parameters)@Service(/sample_node/set_parameters_atomically)@Service(/sample_node/describe_parameters)@Service(/sample_node/list_parameters)@Waitable@Waitable@Waitable@Waitable

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cie_thread_configurator at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/callback_isolated_executor.git
VCS Type git
VCS Version main
Last Updated 2025-09-16
Dev Status UNMAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A dedicated node that configures the scheduling attributes of each thread in callback_isolated_executor.

Maintainers

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

Authors

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

cie_thread_configurator

A library that allows you to configure thread scheduling for all callback groups of ROS 2 nodes launched by the callback_isolated_executor package using just one YAML file.

For instructions on how to use this tool, please refer to https://github.com/sykwer/callback_isolated_executor/tree/main?tab=readme-ov-file#usage.

YAML Configuration File Format

For each ROS 2 application, prepare a single YAML configuration file. The format of the YAML configuration file is as follows. There is a top-level entry called callback_groups, under which there are arrays representing each callback group. The IDs for the callback groups are automatically generated by this tool according to the rules described in the next section.

callback_groups:
  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

  - id: yyyyy
    affinity:
      - 2
      - 3
    policy: SCHED_FIFO
    priority: 50

...

In the affinity field, provide an array of core numbers that are allowed to run the OS threads corresponding to the callback group. The numbers provided here correspond to those used with sched_setaffinity(2). Leaving this array empty means allowing operation on all cores.

In the policy field, you can specify one of the following scheduling policies:

  • SCHED_OTHER
  • SCHED_BATCH
  • SCHED_FIFO
  • SCHED_RR
  • SCHED_DEADLINE

When specifying the task scheduling policy as SCHED_OTHER or SCHED_BATCH, it is executed on the CFS (Completely Fair Scheduler). When set to SCHED_FIFO or SCHED_RR, it runs on the FIFO scheduler. When specified as SCHED_DEADLINE, it is scheduled on the EDF (Earliest Deadline First) scheduler.

Depending on which scheduler the thread (CallbackGroup) operates on, the configuration items vary. Below, the configurable items for each scheduler are described.

CFS

For threads operating on the CFS, you can specify the nice value. In the YAML file, this is specified under the entry name priority. The values can range from -20 (highest priority) to 19 (lowest priority).

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

FIFO Scheduler

For threads operating on the FIFO scheduler, you can specify the priority. In the YAML file, this is specified under the entry name priority. The values can range from 99 (highest priority) to 1 (lowest priority). This range corresponds to the return values of sched_get_priority_max(2) and sched_get_priority_min(2). On Linux, these values are 99 and 1.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_FIFO
    priority: 50

EDF Scheduler

For threads operating on the FIFO scheduler, you can specify the parameters named runtime, deadline, and period.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_DEADLINE
    runtime: 10000000
    deadline: 10000000
    period: 20000000

CallbackGroup ID format

In the YAML template generated by cie_thread_configurator, CallbackGroup IDs are automatically generated. As explained in the usage instructions, the YAML template file looks like this:

```yaml callback_groups:

  • id: /sample_node@Subscription(/parameter_events)@Service(/sample_node/get_parameters)@Service(/sample_node/get_parameter_types)@Service(/sample_node/set_parameters)@Service(/sample_node/set_parameters_atomically)@Service(/sample_node/describe_parameters)@Service(/sample_node/list_parameters)@Waitable@Waitable@Waitable@Waitable

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cie_thread_configurator at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/callback_isolated_executor.git
VCS Type git
VCS Version main
Last Updated 2025-09-16
Dev Status UNMAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A dedicated node that configures the scheduling attributes of each thread in callback_isolated_executor.

Maintainers

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

Authors

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

cie_thread_configurator

A library that allows you to configure thread scheduling for all callback groups of ROS 2 nodes launched by the callback_isolated_executor package using just one YAML file.

For instructions on how to use this tool, please refer to https://github.com/sykwer/callback_isolated_executor/tree/main?tab=readme-ov-file#usage.

YAML Configuration File Format

For each ROS 2 application, prepare a single YAML configuration file. The format of the YAML configuration file is as follows. There is a top-level entry called callback_groups, under which there are arrays representing each callback group. The IDs for the callback groups are automatically generated by this tool according to the rules described in the next section.

callback_groups:
  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

  - id: yyyyy
    affinity:
      - 2
      - 3
    policy: SCHED_FIFO
    priority: 50

...

In the affinity field, provide an array of core numbers that are allowed to run the OS threads corresponding to the callback group. The numbers provided here correspond to those used with sched_setaffinity(2). Leaving this array empty means allowing operation on all cores.

In the policy field, you can specify one of the following scheduling policies:

  • SCHED_OTHER
  • SCHED_BATCH
  • SCHED_FIFO
  • SCHED_RR
  • SCHED_DEADLINE

When specifying the task scheduling policy as SCHED_OTHER or SCHED_BATCH, it is executed on the CFS (Completely Fair Scheduler). When set to SCHED_FIFO or SCHED_RR, it runs on the FIFO scheduler. When specified as SCHED_DEADLINE, it is scheduled on the EDF (Earliest Deadline First) scheduler.

Depending on which scheduler the thread (CallbackGroup) operates on, the configuration items vary. Below, the configurable items for each scheduler are described.

CFS

For threads operating on the CFS, you can specify the nice value. In the YAML file, this is specified under the entry name priority. The values can range from -20 (highest priority) to 19 (lowest priority).

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

FIFO Scheduler

For threads operating on the FIFO scheduler, you can specify the priority. In the YAML file, this is specified under the entry name priority. The values can range from 99 (highest priority) to 1 (lowest priority). This range corresponds to the return values of sched_get_priority_max(2) and sched_get_priority_min(2). On Linux, these values are 99 and 1.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_FIFO
    priority: 50

EDF Scheduler

For threads operating on the FIFO scheduler, you can specify the parameters named runtime, deadline, and period.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_DEADLINE
    runtime: 10000000
    deadline: 10000000
    period: 20000000

CallbackGroup ID format

In the YAML template generated by cie_thread_configurator, CallbackGroup IDs are automatically generated. As explained in the usage instructions, the YAML template file looks like this:

```yaml callback_groups:

  • id: /sample_node@Subscription(/parameter_events)@Service(/sample_node/get_parameters)@Service(/sample_node/get_parameter_types)@Service(/sample_node/set_parameters)@Service(/sample_node/set_parameters_atomically)@Service(/sample_node/describe_parameters)@Service(/sample_node/list_parameters)@Waitable@Waitable@Waitable@Waitable

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cie_thread_configurator at Robotics Stack Exchange

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/callback_isolated_executor.git
VCS Type git
VCS Version main
Last Updated 2025-09-16
Dev Status UNMAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A dedicated node that configures the scheduling attributes of each thread in callback_isolated_executor.

Maintainers

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

Authors

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

cie_thread_configurator

A library that allows you to configure thread scheduling for all callback groups of ROS 2 nodes launched by the callback_isolated_executor package using just one YAML file.

For instructions on how to use this tool, please refer to https://github.com/sykwer/callback_isolated_executor/tree/main?tab=readme-ov-file#usage.

YAML Configuration File Format

For each ROS 2 application, prepare a single YAML configuration file. The format of the YAML configuration file is as follows. There is a top-level entry called callback_groups, under which there are arrays representing each callback group. The IDs for the callback groups are automatically generated by this tool according to the rules described in the next section.

callback_groups:
  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

  - id: yyyyy
    affinity:
      - 2
      - 3
    policy: SCHED_FIFO
    priority: 50

...

In the affinity field, provide an array of core numbers that are allowed to run the OS threads corresponding to the callback group. The numbers provided here correspond to those used with sched_setaffinity(2). Leaving this array empty means allowing operation on all cores.

In the policy field, you can specify one of the following scheduling policies:

  • SCHED_OTHER
  • SCHED_BATCH
  • SCHED_FIFO
  • SCHED_RR
  • SCHED_DEADLINE

When specifying the task scheduling policy as SCHED_OTHER or SCHED_BATCH, it is executed on the CFS (Completely Fair Scheduler). When set to SCHED_FIFO or SCHED_RR, it runs on the FIFO scheduler. When specified as SCHED_DEADLINE, it is scheduled on the EDF (Earliest Deadline First) scheduler.

Depending on which scheduler the thread (CallbackGroup) operates on, the configuration items vary. Below, the configurable items for each scheduler are described.

CFS

For threads operating on the CFS, you can specify the nice value. In the YAML file, this is specified under the entry name priority. The values can range from -20 (highest priority) to 19 (lowest priority).

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

FIFO Scheduler

For threads operating on the FIFO scheduler, you can specify the priority. In the YAML file, this is specified under the entry name priority. The values can range from 99 (highest priority) to 1 (lowest priority). This range corresponds to the return values of sched_get_priority_max(2) and sched_get_priority_min(2). On Linux, these values are 99 and 1.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_FIFO
    priority: 50

EDF Scheduler

For threads operating on the FIFO scheduler, you can specify the parameters named runtime, deadline, and period.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_DEADLINE
    runtime: 10000000
    deadline: 10000000
    period: 20000000

CallbackGroup ID format

In the YAML template generated by cie_thread_configurator, CallbackGroup IDs are automatically generated. As explained in the usage instructions, the YAML template file looks like this:

```yaml callback_groups:

  • id: /sample_node@Subscription(/parameter_events)@Service(/sample_node/get_parameters)@Service(/sample_node/get_parameter_types)@Service(/sample_node/set_parameters)@Service(/sample_node/set_parameters_atomically)@Service(/sample_node/describe_parameters)@Service(/sample_node/list_parameters)@Waitable@Waitable@Waitable@Waitable

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cie_thread_configurator at Robotics Stack Exchange

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/callback_isolated_executor.git
VCS Type git
VCS Version main
Last Updated 2025-09-16
Dev Status UNMAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A dedicated node that configures the scheduling attributes of each thread in callback_isolated_executor.

Maintainers

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

Authors

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

cie_thread_configurator

A library that allows you to configure thread scheduling for all callback groups of ROS 2 nodes launched by the callback_isolated_executor package using just one YAML file.

For instructions on how to use this tool, please refer to https://github.com/sykwer/callback_isolated_executor/tree/main?tab=readme-ov-file#usage.

YAML Configuration File Format

For each ROS 2 application, prepare a single YAML configuration file. The format of the YAML configuration file is as follows. There is a top-level entry called callback_groups, under which there are arrays representing each callback group. The IDs for the callback groups are automatically generated by this tool according to the rules described in the next section.

callback_groups:
  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

  - id: yyyyy
    affinity:
      - 2
      - 3
    policy: SCHED_FIFO
    priority: 50

...

In the affinity field, provide an array of core numbers that are allowed to run the OS threads corresponding to the callback group. The numbers provided here correspond to those used with sched_setaffinity(2). Leaving this array empty means allowing operation on all cores.

In the policy field, you can specify one of the following scheduling policies:

  • SCHED_OTHER
  • SCHED_BATCH
  • SCHED_FIFO
  • SCHED_RR
  • SCHED_DEADLINE

When specifying the task scheduling policy as SCHED_OTHER or SCHED_BATCH, it is executed on the CFS (Completely Fair Scheduler). When set to SCHED_FIFO or SCHED_RR, it runs on the FIFO scheduler. When specified as SCHED_DEADLINE, it is scheduled on the EDF (Earliest Deadline First) scheduler.

Depending on which scheduler the thread (CallbackGroup) operates on, the configuration items vary. Below, the configurable items for each scheduler are described.

CFS

For threads operating on the CFS, you can specify the nice value. In the YAML file, this is specified under the entry name priority. The values can range from -20 (highest priority) to 19 (lowest priority).

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

FIFO Scheduler

For threads operating on the FIFO scheduler, you can specify the priority. In the YAML file, this is specified under the entry name priority. The values can range from 99 (highest priority) to 1 (lowest priority). This range corresponds to the return values of sched_get_priority_max(2) and sched_get_priority_min(2). On Linux, these values are 99 and 1.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_FIFO
    priority: 50

EDF Scheduler

For threads operating on the FIFO scheduler, you can specify the parameters named runtime, deadline, and period.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_DEADLINE
    runtime: 10000000
    deadline: 10000000
    period: 20000000

CallbackGroup ID format

In the YAML template generated by cie_thread_configurator, CallbackGroup IDs are automatically generated. As explained in the usage instructions, the YAML template file looks like this:

```yaml callback_groups:

  • id: /sample_node@Subscription(/parameter_events)@Service(/sample_node/get_parameters)@Service(/sample_node/get_parameter_types)@Service(/sample_node/set_parameters)@Service(/sample_node/set_parameters_atomically)@Service(/sample_node/describe_parameters)@Service(/sample_node/list_parameters)@Waitable@Waitable@Waitable@Waitable

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cie_thread_configurator at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/callback_isolated_executor.git
VCS Type git
VCS Version main
Last Updated 2025-09-16
Dev Status UNMAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A dedicated node that configures the scheduling attributes of each thread in callback_isolated_executor.

Maintainers

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

Authors

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

cie_thread_configurator

A library that allows you to configure thread scheduling for all callback groups of ROS 2 nodes launched by the callback_isolated_executor package using just one YAML file.

For instructions on how to use this tool, please refer to https://github.com/sykwer/callback_isolated_executor/tree/main?tab=readme-ov-file#usage.

YAML Configuration File Format

For each ROS 2 application, prepare a single YAML configuration file. The format of the YAML configuration file is as follows. There is a top-level entry called callback_groups, under which there are arrays representing each callback group. The IDs for the callback groups are automatically generated by this tool according to the rules described in the next section.

callback_groups:
  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

  - id: yyyyy
    affinity:
      - 2
      - 3
    policy: SCHED_FIFO
    priority: 50

...

In the affinity field, provide an array of core numbers that are allowed to run the OS threads corresponding to the callback group. The numbers provided here correspond to those used with sched_setaffinity(2). Leaving this array empty means allowing operation on all cores.

In the policy field, you can specify one of the following scheduling policies:

  • SCHED_OTHER
  • SCHED_BATCH
  • SCHED_FIFO
  • SCHED_RR
  • SCHED_DEADLINE

When specifying the task scheduling policy as SCHED_OTHER or SCHED_BATCH, it is executed on the CFS (Completely Fair Scheduler). When set to SCHED_FIFO or SCHED_RR, it runs on the FIFO scheduler. When specified as SCHED_DEADLINE, it is scheduled on the EDF (Earliest Deadline First) scheduler.

Depending on which scheduler the thread (CallbackGroup) operates on, the configuration items vary. Below, the configurable items for each scheduler are described.

CFS

For threads operating on the CFS, you can specify the nice value. In the YAML file, this is specified under the entry name priority. The values can range from -20 (highest priority) to 19 (lowest priority).

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

FIFO Scheduler

For threads operating on the FIFO scheduler, you can specify the priority. In the YAML file, this is specified under the entry name priority. The values can range from 99 (highest priority) to 1 (lowest priority). This range corresponds to the return values of sched_get_priority_max(2) and sched_get_priority_min(2). On Linux, these values are 99 and 1.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_FIFO
    priority: 50

EDF Scheduler

For threads operating on the FIFO scheduler, you can specify the parameters named runtime, deadline, and period.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_DEADLINE
    runtime: 10000000
    deadline: 10000000
    period: 20000000

CallbackGroup ID format

In the YAML template generated by cie_thread_configurator, CallbackGroup IDs are automatically generated. As explained in the usage instructions, the YAML template file looks like this:

```yaml callback_groups:

  • id: /sample_node@Subscription(/parameter_events)@Service(/sample_node/get_parameters)@Service(/sample_node/get_parameter_types)@Service(/sample_node/set_parameters)@Service(/sample_node/set_parameters_atomically)@Service(/sample_node/describe_parameters)@Service(/sample_node/list_parameters)@Waitable@Waitable@Waitable@Waitable

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cie_thread_configurator at Robotics Stack Exchange

No version for distro foxy showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/callback_isolated_executor.git
VCS Type git
VCS Version main
Last Updated 2025-09-16
Dev Status UNMAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A dedicated node that configures the scheduling attributes of each thread in callback_isolated_executor.

Maintainers

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

Authors

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

cie_thread_configurator

A library that allows you to configure thread scheduling for all callback groups of ROS 2 nodes launched by the callback_isolated_executor package using just one YAML file.

For instructions on how to use this tool, please refer to https://github.com/sykwer/callback_isolated_executor/tree/main?tab=readme-ov-file#usage.

YAML Configuration File Format

For each ROS 2 application, prepare a single YAML configuration file. The format of the YAML configuration file is as follows. There is a top-level entry called callback_groups, under which there are arrays representing each callback group. The IDs for the callback groups are automatically generated by this tool according to the rules described in the next section.

callback_groups:
  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

  - id: yyyyy
    affinity:
      - 2
      - 3
    policy: SCHED_FIFO
    priority: 50

...

In the affinity field, provide an array of core numbers that are allowed to run the OS threads corresponding to the callback group. The numbers provided here correspond to those used with sched_setaffinity(2). Leaving this array empty means allowing operation on all cores.

In the policy field, you can specify one of the following scheduling policies:

  • SCHED_OTHER
  • SCHED_BATCH
  • SCHED_FIFO
  • SCHED_RR
  • SCHED_DEADLINE

When specifying the task scheduling policy as SCHED_OTHER or SCHED_BATCH, it is executed on the CFS (Completely Fair Scheduler). When set to SCHED_FIFO or SCHED_RR, it runs on the FIFO scheduler. When specified as SCHED_DEADLINE, it is scheduled on the EDF (Earliest Deadline First) scheduler.

Depending on which scheduler the thread (CallbackGroup) operates on, the configuration items vary. Below, the configurable items for each scheduler are described.

CFS

For threads operating on the CFS, you can specify the nice value. In the YAML file, this is specified under the entry name priority. The values can range from -20 (highest priority) to 19 (lowest priority).

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

FIFO Scheduler

For threads operating on the FIFO scheduler, you can specify the priority. In the YAML file, this is specified under the entry name priority. The values can range from 99 (highest priority) to 1 (lowest priority). This range corresponds to the return values of sched_get_priority_max(2) and sched_get_priority_min(2). On Linux, these values are 99 and 1.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_FIFO
    priority: 50

EDF Scheduler

For threads operating on the FIFO scheduler, you can specify the parameters named runtime, deadline, and period.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_DEADLINE
    runtime: 10000000
    deadline: 10000000
    period: 20000000

CallbackGroup ID format

In the YAML template generated by cie_thread_configurator, CallbackGroup IDs are automatically generated. As explained in the usage instructions, the YAML template file looks like this:

```yaml callback_groups:

  • id: /sample_node@Subscription(/parameter_events)@Service(/sample_node/get_parameters)@Service(/sample_node/get_parameter_types)@Service(/sample_node/set_parameters)@Service(/sample_node/set_parameters_atomically)@Service(/sample_node/describe_parameters)@Service(/sample_node/list_parameters)@Waitable@Waitable@Waitable@Waitable

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cie_thread_configurator at Robotics Stack Exchange

No version for distro iron showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/callback_isolated_executor.git
VCS Type git
VCS Version main
Last Updated 2025-09-16
Dev Status UNMAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A dedicated node that configures the scheduling attributes of each thread in callback_isolated_executor.

Maintainers

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

Authors

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

cie_thread_configurator

A library that allows you to configure thread scheduling for all callback groups of ROS 2 nodes launched by the callback_isolated_executor package using just one YAML file.

For instructions on how to use this tool, please refer to https://github.com/sykwer/callback_isolated_executor/tree/main?tab=readme-ov-file#usage.

YAML Configuration File Format

For each ROS 2 application, prepare a single YAML configuration file. The format of the YAML configuration file is as follows. There is a top-level entry called callback_groups, under which there are arrays representing each callback group. The IDs for the callback groups are automatically generated by this tool according to the rules described in the next section.

callback_groups:
  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

  - id: yyyyy
    affinity:
      - 2
      - 3
    policy: SCHED_FIFO
    priority: 50

...

In the affinity field, provide an array of core numbers that are allowed to run the OS threads corresponding to the callback group. The numbers provided here correspond to those used with sched_setaffinity(2). Leaving this array empty means allowing operation on all cores.

In the policy field, you can specify one of the following scheduling policies:

  • SCHED_OTHER
  • SCHED_BATCH
  • SCHED_FIFO
  • SCHED_RR
  • SCHED_DEADLINE

When specifying the task scheduling policy as SCHED_OTHER or SCHED_BATCH, it is executed on the CFS (Completely Fair Scheduler). When set to SCHED_FIFO or SCHED_RR, it runs on the FIFO scheduler. When specified as SCHED_DEADLINE, it is scheduled on the EDF (Earliest Deadline First) scheduler.

Depending on which scheduler the thread (CallbackGroup) operates on, the configuration items vary. Below, the configurable items for each scheduler are described.

CFS

For threads operating on the CFS, you can specify the nice value. In the YAML file, this is specified under the entry name priority. The values can range from -20 (highest priority) to 19 (lowest priority).

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

FIFO Scheduler

For threads operating on the FIFO scheduler, you can specify the priority. In the YAML file, this is specified under the entry name priority. The values can range from 99 (highest priority) to 1 (lowest priority). This range corresponds to the return values of sched_get_priority_max(2) and sched_get_priority_min(2). On Linux, these values are 99 and 1.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_FIFO
    priority: 50

EDF Scheduler

For threads operating on the FIFO scheduler, you can specify the parameters named runtime, deadline, and period.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_DEADLINE
    runtime: 10000000
    deadline: 10000000
    period: 20000000

CallbackGroup ID format

In the YAML template generated by cie_thread_configurator, CallbackGroup IDs are automatically generated. As explained in the usage instructions, the YAML template file looks like this:

```yaml callback_groups:

  • id: /sample_node@Subscription(/parameter_events)@Service(/sample_node/get_parameters)@Service(/sample_node/get_parameter_types)@Service(/sample_node/set_parameters)@Service(/sample_node/set_parameters_atomically)@Service(/sample_node/describe_parameters)@Service(/sample_node/list_parameters)@Waitable@Waitable@Waitable@Waitable

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cie_thread_configurator at Robotics Stack Exchange

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/callback_isolated_executor.git
VCS Type git
VCS Version main
Last Updated 2025-09-16
Dev Status UNMAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A dedicated node that configures the scheduling attributes of each thread in callback_isolated_executor.

Maintainers

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

Authors

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

cie_thread_configurator

A library that allows you to configure thread scheduling for all callback groups of ROS 2 nodes launched by the callback_isolated_executor package using just one YAML file.

For instructions on how to use this tool, please refer to https://github.com/sykwer/callback_isolated_executor/tree/main?tab=readme-ov-file#usage.

YAML Configuration File Format

For each ROS 2 application, prepare a single YAML configuration file. The format of the YAML configuration file is as follows. There is a top-level entry called callback_groups, under which there are arrays representing each callback group. The IDs for the callback groups are automatically generated by this tool according to the rules described in the next section.

callback_groups:
  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

  - id: yyyyy
    affinity:
      - 2
      - 3
    policy: SCHED_FIFO
    priority: 50

...

In the affinity field, provide an array of core numbers that are allowed to run the OS threads corresponding to the callback group. The numbers provided here correspond to those used with sched_setaffinity(2). Leaving this array empty means allowing operation on all cores.

In the policy field, you can specify one of the following scheduling policies:

  • SCHED_OTHER
  • SCHED_BATCH
  • SCHED_FIFO
  • SCHED_RR
  • SCHED_DEADLINE

When specifying the task scheduling policy as SCHED_OTHER or SCHED_BATCH, it is executed on the CFS (Completely Fair Scheduler). When set to SCHED_FIFO or SCHED_RR, it runs on the FIFO scheduler. When specified as SCHED_DEADLINE, it is scheduled on the EDF (Earliest Deadline First) scheduler.

Depending on which scheduler the thread (CallbackGroup) operates on, the configuration items vary. Below, the configurable items for each scheduler are described.

CFS

For threads operating on the CFS, you can specify the nice value. In the YAML file, this is specified under the entry name priority. The values can range from -20 (highest priority) to 19 (lowest priority).

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

FIFO Scheduler

For threads operating on the FIFO scheduler, you can specify the priority. In the YAML file, this is specified under the entry name priority. The values can range from 99 (highest priority) to 1 (lowest priority). This range corresponds to the return values of sched_get_priority_max(2) and sched_get_priority_min(2). On Linux, these values are 99 and 1.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_FIFO
    priority: 50

EDF Scheduler

For threads operating on the FIFO scheduler, you can specify the parameters named runtime, deadline, and period.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_DEADLINE
    runtime: 10000000
    deadline: 10000000
    period: 20000000

CallbackGroup ID format

In the YAML template generated by cie_thread_configurator, CallbackGroup IDs are automatically generated. As explained in the usage instructions, the YAML template file looks like this:

```yaml callback_groups:

  • id: /sample_node@Subscription(/parameter_events)@Service(/sample_node/get_parameters)@Service(/sample_node/get_parameter_types)@Service(/sample_node/set_parameters)@Service(/sample_node/set_parameters_atomically)@Service(/sample_node/describe_parameters)@Service(/sample_node/list_parameters)@Waitable@Waitable@Waitable@Waitable

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cie_thread_configurator at Robotics Stack Exchange

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/callback_isolated_executor.git
VCS Type git
VCS Version main
Last Updated 2025-09-16
Dev Status UNMAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A dedicated node that configures the scheduling attributes of each thread in callback_isolated_executor.

Maintainers

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

Authors

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

cie_thread_configurator

A library that allows you to configure thread scheduling for all callback groups of ROS 2 nodes launched by the callback_isolated_executor package using just one YAML file.

For instructions on how to use this tool, please refer to https://github.com/sykwer/callback_isolated_executor/tree/main?tab=readme-ov-file#usage.

YAML Configuration File Format

For each ROS 2 application, prepare a single YAML configuration file. The format of the YAML configuration file is as follows. There is a top-level entry called callback_groups, under which there are arrays representing each callback group. The IDs for the callback groups are automatically generated by this tool according to the rules described in the next section.

callback_groups:
  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

  - id: yyyyy
    affinity:
      - 2
      - 3
    policy: SCHED_FIFO
    priority: 50

...

In the affinity field, provide an array of core numbers that are allowed to run the OS threads corresponding to the callback group. The numbers provided here correspond to those used with sched_setaffinity(2). Leaving this array empty means allowing operation on all cores.

In the policy field, you can specify one of the following scheduling policies:

  • SCHED_OTHER
  • SCHED_BATCH
  • SCHED_FIFO
  • SCHED_RR
  • SCHED_DEADLINE

When specifying the task scheduling policy as SCHED_OTHER or SCHED_BATCH, it is executed on the CFS (Completely Fair Scheduler). When set to SCHED_FIFO or SCHED_RR, it runs on the FIFO scheduler. When specified as SCHED_DEADLINE, it is scheduled on the EDF (Earliest Deadline First) scheduler.

Depending on which scheduler the thread (CallbackGroup) operates on, the configuration items vary. Below, the configurable items for each scheduler are described.

CFS

For threads operating on the CFS, you can specify the nice value. In the YAML file, this is specified under the entry name priority. The values can range from -20 (highest priority) to 19 (lowest priority).

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

FIFO Scheduler

For threads operating on the FIFO scheduler, you can specify the priority. In the YAML file, this is specified under the entry name priority. The values can range from 99 (highest priority) to 1 (lowest priority). This range corresponds to the return values of sched_get_priority_max(2) and sched_get_priority_min(2). On Linux, these values are 99 and 1.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_FIFO
    priority: 50

EDF Scheduler

For threads operating on the FIFO scheduler, you can specify the parameters named runtime, deadline, and period.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_DEADLINE
    runtime: 10000000
    deadline: 10000000
    period: 20000000

CallbackGroup ID format

In the YAML template generated by cie_thread_configurator, CallbackGroup IDs are automatically generated. As explained in the usage instructions, the YAML template file looks like this:

```yaml callback_groups:

  • id: /sample_node@Subscription(/parameter_events)@Service(/sample_node/get_parameters)@Service(/sample_node/get_parameter_types)@Service(/sample_node/set_parameters)@Service(/sample_node/set_parameters_atomically)@Service(/sample_node/describe_parameters)@Service(/sample_node/list_parameters)@Waitable@Waitable@Waitable@Waitable

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cie_thread_configurator at Robotics Stack Exchange

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/callback_isolated_executor.git
VCS Type git
VCS Version main
Last Updated 2025-09-16
Dev Status UNMAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A dedicated node that configures the scheduling attributes of each thread in callback_isolated_executor.

Maintainers

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

Authors

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

cie_thread_configurator

A library that allows you to configure thread scheduling for all callback groups of ROS 2 nodes launched by the callback_isolated_executor package using just one YAML file.

For instructions on how to use this tool, please refer to https://github.com/sykwer/callback_isolated_executor/tree/main?tab=readme-ov-file#usage.

YAML Configuration File Format

For each ROS 2 application, prepare a single YAML configuration file. The format of the YAML configuration file is as follows. There is a top-level entry called callback_groups, under which there are arrays representing each callback group. The IDs for the callback groups are automatically generated by this tool according to the rules described in the next section.

callback_groups:
  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

  - id: yyyyy
    affinity:
      - 2
      - 3
    policy: SCHED_FIFO
    priority: 50

...

In the affinity field, provide an array of core numbers that are allowed to run the OS threads corresponding to the callback group. The numbers provided here correspond to those used with sched_setaffinity(2). Leaving this array empty means allowing operation on all cores.

In the policy field, you can specify one of the following scheduling policies:

  • SCHED_OTHER
  • SCHED_BATCH
  • SCHED_FIFO
  • SCHED_RR
  • SCHED_DEADLINE

When specifying the task scheduling policy as SCHED_OTHER or SCHED_BATCH, it is executed on the CFS (Completely Fair Scheduler). When set to SCHED_FIFO or SCHED_RR, it runs on the FIFO scheduler. When specified as SCHED_DEADLINE, it is scheduled on the EDF (Earliest Deadline First) scheduler.

Depending on which scheduler the thread (CallbackGroup) operates on, the configuration items vary. Below, the configurable items for each scheduler are described.

CFS

For threads operating on the CFS, you can specify the nice value. In the YAML file, this is specified under the entry name priority. The values can range from -20 (highest priority) to 19 (lowest priority).

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

FIFO Scheduler

For threads operating on the FIFO scheduler, you can specify the priority. In the YAML file, this is specified under the entry name priority. The values can range from 99 (highest priority) to 1 (lowest priority). This range corresponds to the return values of sched_get_priority_max(2) and sched_get_priority_min(2). On Linux, these values are 99 and 1.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_FIFO
    priority: 50

EDF Scheduler

For threads operating on the FIFO scheduler, you can specify the parameters named runtime, deadline, and period.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_DEADLINE
    runtime: 10000000
    deadline: 10000000
    period: 20000000

CallbackGroup ID format

In the YAML template generated by cie_thread_configurator, CallbackGroup IDs are automatically generated. As explained in the usage instructions, the YAML template file looks like this:

```yaml callback_groups:

  • id: /sample_node@Subscription(/parameter_events)@Service(/sample_node/get_parameters)@Service(/sample_node/get_parameter_types)@Service(/sample_node/set_parameters)@Service(/sample_node/set_parameters_atomically)@Service(/sample_node/describe_parameters)@Service(/sample_node/list_parameters)@Waitable@Waitable@Waitable@Waitable

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cie_thread_configurator at Robotics Stack Exchange

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/callback_isolated_executor.git
VCS Type git
VCS Version main
Last Updated 2025-09-16
Dev Status UNMAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A dedicated node that configures the scheduling attributes of each thread in callback_isolated_executor.

Maintainers

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

Authors

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

cie_thread_configurator

A library that allows you to configure thread scheduling for all callback groups of ROS 2 nodes launched by the callback_isolated_executor package using just one YAML file.

For instructions on how to use this tool, please refer to https://github.com/sykwer/callback_isolated_executor/tree/main?tab=readme-ov-file#usage.

YAML Configuration File Format

For each ROS 2 application, prepare a single YAML configuration file. The format of the YAML configuration file is as follows. There is a top-level entry called callback_groups, under which there are arrays representing each callback group. The IDs for the callback groups are automatically generated by this tool according to the rules described in the next section.

callback_groups:
  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

  - id: yyyyy
    affinity:
      - 2
      - 3
    policy: SCHED_FIFO
    priority: 50

...

In the affinity field, provide an array of core numbers that are allowed to run the OS threads corresponding to the callback group. The numbers provided here correspond to those used with sched_setaffinity(2). Leaving this array empty means allowing operation on all cores.

In the policy field, you can specify one of the following scheduling policies:

  • SCHED_OTHER
  • SCHED_BATCH
  • SCHED_FIFO
  • SCHED_RR
  • SCHED_DEADLINE

When specifying the task scheduling policy as SCHED_OTHER or SCHED_BATCH, it is executed on the CFS (Completely Fair Scheduler). When set to SCHED_FIFO or SCHED_RR, it runs on the FIFO scheduler. When specified as SCHED_DEADLINE, it is scheduled on the EDF (Earliest Deadline First) scheduler.

Depending on which scheduler the thread (CallbackGroup) operates on, the configuration items vary. Below, the configurable items for each scheduler are described.

CFS

For threads operating on the CFS, you can specify the nice value. In the YAML file, this is specified under the entry name priority. The values can range from -20 (highest priority) to 19 (lowest priority).

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

FIFO Scheduler

For threads operating on the FIFO scheduler, you can specify the priority. In the YAML file, this is specified under the entry name priority. The values can range from 99 (highest priority) to 1 (lowest priority). This range corresponds to the return values of sched_get_priority_max(2) and sched_get_priority_min(2). On Linux, these values are 99 and 1.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_FIFO
    priority: 50

EDF Scheduler

For threads operating on the FIFO scheduler, you can specify the parameters named runtime, deadline, and period.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_DEADLINE
    runtime: 10000000
    deadline: 10000000
    period: 20000000

CallbackGroup ID format

In the YAML template generated by cie_thread_configurator, CallbackGroup IDs are automatically generated. As explained in the usage instructions, the YAML template file looks like this:

```yaml callback_groups:

  • id: /sample_node@Subscription(/parameter_events)@Service(/sample_node/get_parameters)@Service(/sample_node/get_parameter_types)@Service(/sample_node/set_parameters)@Service(/sample_node/set_parameters_atomically)@Service(/sample_node/describe_parameters)@Service(/sample_node/list_parameters)@Waitable@Waitable@Waitable@Waitable

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cie_thread_configurator at Robotics Stack Exchange

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/callback_isolated_executor.git
VCS Type git
VCS Version main
Last Updated 2025-09-16
Dev Status UNMAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A dedicated node that configures the scheduling attributes of each thread in callback_isolated_executor.

Maintainers

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

Authors

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

cie_thread_configurator

A library that allows you to configure thread scheduling for all callback groups of ROS 2 nodes launched by the callback_isolated_executor package using just one YAML file.

For instructions on how to use this tool, please refer to https://github.com/sykwer/callback_isolated_executor/tree/main?tab=readme-ov-file#usage.

YAML Configuration File Format

For each ROS 2 application, prepare a single YAML configuration file. The format of the YAML configuration file is as follows. There is a top-level entry called callback_groups, under which there are arrays representing each callback group. The IDs for the callback groups are automatically generated by this tool according to the rules described in the next section.

callback_groups:
  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

  - id: yyyyy
    affinity:
      - 2
      - 3
    policy: SCHED_FIFO
    priority: 50

...

In the affinity field, provide an array of core numbers that are allowed to run the OS threads corresponding to the callback group. The numbers provided here correspond to those used with sched_setaffinity(2). Leaving this array empty means allowing operation on all cores.

In the policy field, you can specify one of the following scheduling policies:

  • SCHED_OTHER
  • SCHED_BATCH
  • SCHED_FIFO
  • SCHED_RR
  • SCHED_DEADLINE

When specifying the task scheduling policy as SCHED_OTHER or SCHED_BATCH, it is executed on the CFS (Completely Fair Scheduler). When set to SCHED_FIFO or SCHED_RR, it runs on the FIFO scheduler. When specified as SCHED_DEADLINE, it is scheduled on the EDF (Earliest Deadline First) scheduler.

Depending on which scheduler the thread (CallbackGroup) operates on, the configuration items vary. Below, the configurable items for each scheduler are described.

CFS

For threads operating on the CFS, you can specify the nice value. In the YAML file, this is specified under the entry name priority. The values can range from -20 (highest priority) to 19 (lowest priority).

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

FIFO Scheduler

For threads operating on the FIFO scheduler, you can specify the priority. In the YAML file, this is specified under the entry name priority. The values can range from 99 (highest priority) to 1 (lowest priority). This range corresponds to the return values of sched_get_priority_max(2) and sched_get_priority_min(2). On Linux, these values are 99 and 1.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_FIFO
    priority: 50

EDF Scheduler

For threads operating on the FIFO scheduler, you can specify the parameters named runtime, deadline, and period.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_DEADLINE
    runtime: 10000000
    deadline: 10000000
    period: 20000000

CallbackGroup ID format

In the YAML template generated by cie_thread_configurator, CallbackGroup IDs are automatically generated. As explained in the usage instructions, the YAML template file looks like this:

```yaml callback_groups:

  • id: /sample_node@Subscription(/parameter_events)@Service(/sample_node/get_parameters)@Service(/sample_node/get_parameter_types)@Service(/sample_node/set_parameters)@Service(/sample_node/set_parameters_atomically)@Service(/sample_node/describe_parameters)@Service(/sample_node/list_parameters)@Waitable@Waitable@Waitable@Waitable

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cie_thread_configurator at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/callback_isolated_executor.git
VCS Type git
VCS Version main
Last Updated 2025-09-16
Dev Status UNMAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A dedicated node that configures the scheduling attributes of each thread in callback_isolated_executor.

Maintainers

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

Authors

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

cie_thread_configurator

A library that allows you to configure thread scheduling for all callback groups of ROS 2 nodes launched by the callback_isolated_executor package using just one YAML file.

For instructions on how to use this tool, please refer to https://github.com/sykwer/callback_isolated_executor/tree/main?tab=readme-ov-file#usage.

YAML Configuration File Format

For each ROS 2 application, prepare a single YAML configuration file. The format of the YAML configuration file is as follows. There is a top-level entry called callback_groups, under which there are arrays representing each callback group. The IDs for the callback groups are automatically generated by this tool according to the rules described in the next section.

callback_groups:
  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

  - id: yyyyy
    affinity:
      - 2
      - 3
    policy: SCHED_FIFO
    priority: 50

...

In the affinity field, provide an array of core numbers that are allowed to run the OS threads corresponding to the callback group. The numbers provided here correspond to those used with sched_setaffinity(2). Leaving this array empty means allowing operation on all cores.

In the policy field, you can specify one of the following scheduling policies:

  • SCHED_OTHER
  • SCHED_BATCH
  • SCHED_FIFO
  • SCHED_RR
  • SCHED_DEADLINE

When specifying the task scheduling policy as SCHED_OTHER or SCHED_BATCH, it is executed on the CFS (Completely Fair Scheduler). When set to SCHED_FIFO or SCHED_RR, it runs on the FIFO scheduler. When specified as SCHED_DEADLINE, it is scheduled on the EDF (Earliest Deadline First) scheduler.

Depending on which scheduler the thread (CallbackGroup) operates on, the configuration items vary. Below, the configurable items for each scheduler are described.

CFS

For threads operating on the CFS, you can specify the nice value. In the YAML file, this is specified under the entry name priority. The values can range from -20 (highest priority) to 19 (lowest priority).

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

FIFO Scheduler

For threads operating on the FIFO scheduler, you can specify the priority. In the YAML file, this is specified under the entry name priority. The values can range from 99 (highest priority) to 1 (lowest priority). This range corresponds to the return values of sched_get_priority_max(2) and sched_get_priority_min(2). On Linux, these values are 99 and 1.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_FIFO
    priority: 50

EDF Scheduler

For threads operating on the FIFO scheduler, you can specify the parameters named runtime, deadline, and period.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_DEADLINE
    runtime: 10000000
    deadline: 10000000
    period: 20000000

CallbackGroup ID format

In the YAML template generated by cie_thread_configurator, CallbackGroup IDs are automatically generated. As explained in the usage instructions, the YAML template file looks like this:

```yaml callback_groups:

  • id: /sample_node@Subscription(/parameter_events)@Service(/sample_node/get_parameters)@Service(/sample_node/get_parameter_types)@Service(/sample_node/set_parameters)@Service(/sample_node/set_parameters_atomically)@Service(/sample_node/describe_parameters)@Service(/sample_node/list_parameters)@Waitable@Waitable@Waitable@Waitable

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cie_thread_configurator at Robotics Stack Exchange

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/callback_isolated_executor.git
VCS Type git
VCS Version main
Last Updated 2025-09-16
Dev Status UNMAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A dedicated node that configures the scheduling attributes of each thread in callback_isolated_executor.

Maintainers

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

Authors

  • Takahiro Ishikawa-Aso
  • Atsushi Yano

cie_thread_configurator

A library that allows you to configure thread scheduling for all callback groups of ROS 2 nodes launched by the callback_isolated_executor package using just one YAML file.

For instructions on how to use this tool, please refer to https://github.com/sykwer/callback_isolated_executor/tree/main?tab=readme-ov-file#usage.

YAML Configuration File Format

For each ROS 2 application, prepare a single YAML configuration file. The format of the YAML configuration file is as follows. There is a top-level entry called callback_groups, under which there are arrays representing each callback group. The IDs for the callback groups are automatically generated by this tool according to the rules described in the next section.

callback_groups:
  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

  - id: yyyyy
    affinity:
      - 2
      - 3
    policy: SCHED_FIFO
    priority: 50

...

In the affinity field, provide an array of core numbers that are allowed to run the OS threads corresponding to the callback group. The numbers provided here correspond to those used with sched_setaffinity(2). Leaving this array empty means allowing operation on all cores.

In the policy field, you can specify one of the following scheduling policies:

  • SCHED_OTHER
  • SCHED_BATCH
  • SCHED_FIFO
  • SCHED_RR
  • SCHED_DEADLINE

When specifying the task scheduling policy as SCHED_OTHER or SCHED_BATCH, it is executed on the CFS (Completely Fair Scheduler). When set to SCHED_FIFO or SCHED_RR, it runs on the FIFO scheduler. When specified as SCHED_DEADLINE, it is scheduled on the EDF (Earliest Deadline First) scheduler.

Depending on which scheduler the thread (CallbackGroup) operates on, the configuration items vary. Below, the configurable items for each scheduler are described.

CFS

For threads operating on the CFS, you can specify the nice value. In the YAML file, this is specified under the entry name priority. The values can range from -20 (highest priority) to 19 (lowest priority).

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_OTHER
    priority: -10

FIFO Scheduler

For threads operating on the FIFO scheduler, you can specify the priority. In the YAML file, this is specified under the entry name priority. The values can range from 99 (highest priority) to 1 (lowest priority). This range corresponds to the return values of sched_get_priority_max(2) and sched_get_priority_min(2). On Linux, these values are 99 and 1.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_FIFO
    priority: 50

EDF Scheduler

For threads operating on the FIFO scheduler, you can specify the parameters named runtime, deadline, and period.

  - id: xxxxx
    affinity:
      - 0
      - 1
    policy: SCHED_DEADLINE
    runtime: 10000000
    deadline: 10000000
    period: 20000000

CallbackGroup ID format

In the YAML template generated by cie_thread_configurator, CallbackGroup IDs are automatically generated. As explained in the usage instructions, the YAML template file looks like this:

```yaml callback_groups:

  • id: /sample_node@Subscription(/parameter_events)@Service(/sample_node/get_parameters)@Service(/sample_node/get_parameter_types)@Service(/sample_node/set_parameters)@Service(/sample_node/set_parameters_atomically)@Service(/sample_node/describe_parameters)@Service(/sample_node/list_parameters)@Waitable@Waitable@Waitable@Waitable

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged cie_thread_configurator at Robotics Stack Exchange