![]() |
cie_thread_configurator package from callback_isolated_executor repocallback_isolated_executor cie_config_msgs cie_sample_application cie_thread_configurator |
ROS Distro
|
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
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
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
callback_isolated_executor |
Launch files
Messages
Services
Plugins
Recent questions tagged cie_thread_configurator at Robotics Stack Exchange
![]() |
cie_thread_configurator package from callback_isolated_executor repocallback_isolated_executor cie_config_msgs cie_sample_application cie_thread_configurator |
ROS Distro
|
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
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
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
callback_isolated_executor |
Launch files
Messages
Services
Plugins
Recent questions tagged cie_thread_configurator at Robotics Stack Exchange
![]() |
cie_thread_configurator package from callback_isolated_executor repocallback_isolated_executor cie_config_msgs cie_sample_application cie_thread_configurator |
ROS Distro
|
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
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
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
callback_isolated_executor |
Launch files
Messages
Services
Plugins
Recent questions tagged cie_thread_configurator at Robotics Stack Exchange
![]() |
cie_thread_configurator package from callback_isolated_executor repocallback_isolated_executor cie_config_msgs cie_sample_application cie_thread_configurator |
ROS Distro
|
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
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
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
callback_isolated_executor |
Launch files
Messages
Services
Plugins
Recent questions tagged cie_thread_configurator at Robotics Stack Exchange
![]() |
cie_thread_configurator package from callback_isolated_executor repocallback_isolated_executor cie_config_msgs cie_sample_application cie_thread_configurator |
ROS Distro
|
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
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
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
callback_isolated_executor |
Launch files
Messages
Services
Plugins
Recent questions tagged cie_thread_configurator at Robotics Stack Exchange
![]() |
cie_thread_configurator package from callback_isolated_executor repocallback_isolated_executor cie_config_msgs cie_sample_application cie_thread_configurator |
ROS Distro
|
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
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
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
callback_isolated_executor |
Launch files
Messages
Services
Plugins
Recent questions tagged cie_thread_configurator at Robotics Stack Exchange
![]() |
cie_thread_configurator package from callback_isolated_executor repocallback_isolated_executor cie_config_msgs cie_sample_application cie_thread_configurator |
ROS Distro
|
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
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
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
callback_isolated_executor |
Launch files
Messages
Services
Plugins
Recent questions tagged cie_thread_configurator at Robotics Stack Exchange
![]() |
cie_thread_configurator package from callback_isolated_executor repocallback_isolated_executor cie_config_msgs cie_sample_application cie_thread_configurator |
ROS Distro
|
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
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
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
callback_isolated_executor |
Launch files
Messages
Services
Plugins
Recent questions tagged cie_thread_configurator at Robotics Stack Exchange
![]() |
cie_thread_configurator package from callback_isolated_executor repocallback_isolated_executor cie_config_msgs cie_sample_application cie_thread_configurator |
ROS Distro
|
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
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
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
callback_isolated_executor |
Launch files
Messages
Services
Plugins
Recent questions tagged cie_thread_configurator at Robotics Stack Exchange
![]() |
cie_thread_configurator package from callback_isolated_executor repocallback_isolated_executor cie_config_msgs cie_sample_application cie_thread_configurator |
ROS Distro
|
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
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
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
callback_isolated_executor |
Launch files
Messages
Services
Plugins
Recent questions tagged cie_thread_configurator at Robotics Stack Exchange
![]() |
cie_thread_configurator package from callback_isolated_executor repocallback_isolated_executor cie_config_msgs cie_sample_application cie_thread_configurator |
ROS Distro
|
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
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
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
callback_isolated_executor |
Launch files
Messages
Services
Plugins
Recent questions tagged cie_thread_configurator at Robotics Stack Exchange
![]() |
cie_thread_configurator package from callback_isolated_executor repocallback_isolated_executor cie_config_msgs cie_sample_application cie_thread_configurator |
ROS Distro
|
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
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
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
callback_isolated_executor |
Launch files
Messages
Services
Plugins
Recent questions tagged cie_thread_configurator at Robotics Stack Exchange
![]() |
cie_thread_configurator package from callback_isolated_executor repocallback_isolated_executor cie_config_msgs cie_sample_application cie_thread_configurator |
ROS Distro
|
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
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
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
callback_isolated_executor |
Launch files
Messages
Services
Plugins
Recent questions tagged cie_thread_configurator at Robotics Stack Exchange
![]() |
cie_thread_configurator package from callback_isolated_executor repocallback_isolated_executor cie_config_msgs cie_sample_application cie_thread_configurator |
ROS Distro
|
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
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
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
callback_isolated_executor |
Launch files
Messages
Services
Plugins
Recent questions tagged cie_thread_configurator at Robotics Stack Exchange
![]() |
cie_thread_configurator package from callback_isolated_executor repocallback_isolated_executor cie_config_msgs cie_sample_application cie_thread_configurator |
ROS Distro
|
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
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
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
callback_isolated_executor |
Launch files
Messages
Services
Plugins
Recent questions tagged cie_thread_configurator at Robotics Stack Exchange
![]() |
cie_thread_configurator package from callback_isolated_executor repocallback_isolated_executor cie_config_msgs cie_sample_application cie_thread_configurator |
ROS Distro
|
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
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
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
callback_isolated_executor |
Launch files
Messages
Services
Plugins
Recent questions tagged cie_thread_configurator at Robotics Stack Exchange
![]() |
cie_thread_configurator package from callback_isolated_executor repocallback_isolated_executor cie_config_msgs cie_sample_application cie_thread_configurator |
ROS Distro
|
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
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
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
callback_isolated_executor |
Launch files
Messages
Services
Plugins
Recent questions tagged cie_thread_configurator at Robotics Stack Exchange
![]() |
cie_thread_configurator package from callback_isolated_executor repocallback_isolated_executor cie_config_msgs cie_sample_application cie_thread_configurator |
ROS Distro
|
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
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
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
callback_isolated_executor |
Launch files
Messages
Services
Plugins
Recent questions tagged cie_thread_configurator at Robotics Stack Exchange
![]() |
cie_thread_configurator package from callback_isolated_executor repocallback_isolated_executor cie_config_msgs cie_sample_application cie_thread_configurator |
ROS Distro
|
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
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
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
callback_isolated_executor |