]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
crimson: introduce crimson_seastar_num_threads
authorMatan Breizman <mbreizma@redhat.com>
Tue, 21 May 2024 09:56:01 +0000 (09:56 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Thu, 13 Jun 2024 12:44:22 +0000 (15:44 +0300)
commit9e6bc63eb97e9573da260dd48cdf351a39f6379b
tree4ce7cdf28b01b1d482bac1b2d7d7d97c0f3166d8
parent8068d81b8f8cb8f0568309051bfd549537347a30
crimson: introduce crimson_seastar_num_threads

    This new option is there to allow *basic* cluster deployments.
    crimson_seastar_num_threads can be used globally for all the OSDs in the cluster:
    ```
    osd:
      crimson_seastar_num_threads: <n>
      crimson_alien_op_num_threads: <m>
    ```

    As a result, all the available CPUs will be allocated to *both* seastar reactor threads
    and to Alienstore threads - without any exclusion.

    Notes:

    * The core allocation will most likely overlap between OSDS and/or Seastar and Alienstore.
    An optiomal deployment requires `crimson_alien_thread_cpu_cores`
    and `crimson_seastar_cpu_cores` to be set for each OSD based on the host its located at.

    * Seastar reactor number (smp::count) will be deduced directly from crimson_seastar_num_threads

    ---

    Documentation followup: https://github.com/ceph/ceph/pull/57352

---
    ### Option 1 (Optimal)
    * CPUs are pinned to the provided sets (seastar and alien cpu sets)
    * thread-affinity = 1 (seastar's default).
    * smp (smp::count / reactor count): `seastar_cpu_set.size()`
    * Seastar reactor threads: `seastar_cpu_set.size()`
    * Alienstore threads num: `crimson_alien_op_num_threads`
    ---
    ### Option 2 (Basic):
    * No CPU pinning.
    * thread-affinity = 0
    * smp (smp::count / reactor count) = `crimson_seastar_num_threads`
    * Seastar reactor threads num: `crimson_seastar_num_threads`
    * Alienstore threads num: `crimson_alien_op_num_threads`
---
Fixes: https://tracker.ceph.com/issues/65752
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit e0b6fff4f3bf9495fc0fdc17e5ea1f53ffa1d423)
src/common/options/crimson.yaml.in
src/crimson/os/alienstore/alien_store.cc
src/crimson/osd/main_config_bootstrap_helpers.cc