Skip to content

Dynamic tuning of IRQs and kthreads #631

Description

@adriaan42

For a flexible deployment of realtime applications we need tuning of IRQs and kernel threads that go beyond what TuneD currently offers:

  • Tuning of individual interrupts: If the realtime application uses a device (e.g., NIC), we want to control the affinity of the corresponding interrupt. Currently, we can only control the affinities of all interrupts with one setting.
  • Tuning of individual kernel threads: Example is again a NIC that can have associated NAPI threads, which we want to tune. Some of this is already possible with the scheduler plugin, but it's lacking flexibility.
  • Adapt tuning dynamically: resources (isolated CPUs, NICs, ...) are allocated to apps dynamically, so we only know which IRQs and Kthreads we need to move to which CPUs at the time an app is started. Currently this can only be done statically in the profile.

The code is already there:

Opening this issue to summarize and put the 3 PRs into context.

@yarda could you please comment? Is this a relevant story for TuneD in principle? Do you think it's realistic to get this integrated for the 2.23 release?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions