Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Thread configuration prototype #1075

Open
wants to merge 7 commits into
base: rolling
Choose a base branch
from

Commits on Jun 6, 2023

  1. feat: Thread configuration prototype

    This is a prototype implementation of RCL for discussion about the thread configuration feature to receive and apply a set of scheduling parameters for the threads controlled by the ROS 2 executor.
    
    Our basic idea is as below.
     1. Implement a new class rclcpp::thread and modify rclcpp to use it.
       This class has the same function set as the std::thread but also additional features to control its thread attributions.
     2. Modify the rcl layer to receive a set of scheduling parameters.
       The parameters are described in YAML format and passed via command line parameters, environment variables, or files.
     3. the rclcpp reads the parameters from rcl and applies them to each thread in the thread pool.
    
    There have been some discussions about this pull request, as below.
    [ROS Discourse]
    https://discourse.ros.org/t/adding-thread-attributes-configuration-in-ros-2-framework/30701
    [ROS 2 Real-Time Working Group]
    ros-realtime/ros-realtime.github.io#18
    
    Signed-off-by: Shoji Morita <s-morita@esol.co.jp>
    smorita-esol committed Jun 6, 2023
    Copy the full SHA
    73718ca View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2023

  1. Decoupled the additional feature from rcl to rcutils, reflecting on t…

    …he pointing out below.
    
    ros2/rclcpp#2205 (comment)
    
    Signed-off-by: Shoji Morita <s-morita@esol.co.jp>
    smorita-esol committed Jun 20, 2023
    Copy the full SHA
    e25cf2b View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2023

  1. Added tests and fixed problems found in the test.

    Signed-off-by: Shoji Morita <s-morita@esol.co.jp>
    smorita-esol committed Jul 12, 2023
    Copy the full SHA
    d868104 View commit details
    Browse the repository at this point in the history

Commits on Aug 3, 2023

  1. Added tests and modified the interface to the upper language binding.

    The modification of the interface is to go along with the
    specification described in the draft REP shared in the thread below.
    
    https://discourse.ros.org/t/adding-thread-attributes-configuration-in-ros-2-framework/30701/5
    
    Signed-off-by: Shoji Morita <s-morita@esol.co.jp>
    smorita-esol committed Aug 3, 2023
    Copy the full SHA
    043b11b View commit details
    Browse the repository at this point in the history

Commits on Oct 26, 2023

  1. Modified to receive multiple core affinity parameters according to th…

    …e update of REP-2017 below.
    
    ros-infrastructure/rep#385
    
    Signed-off-by: Shoji Morita <s-morita@esol.co.jp>
    smorita-esol committed Oct 26, 2023
    Copy the full SHA
    78ee281 View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2023

  1. Fixed a trivial bug related to core affinity configuration.

    Signed-off-by: Shoji Morita <s-morita@esol.co.jp>
    smorita-esol committed Dec 14, 2023
    Copy the full SHA
    d94fa54 View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2024

  1. Modified the structure of member names to reflect the point made on t…

    …he thread below.
    
    ros-infrastructure/rep#385 (comment)
    
    Signed-off-by: Shoji Morita <s-morita@esol.co.jp>
    smorita-esol committed Jan 26, 2024
    Copy the full SHA
    97ebc75 View commit details
    Browse the repository at this point in the history