Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-96227

stalld: queue_track backend incorrectly boost non-starving task

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Normal Normal
    • rhel-9.7
    • rhel-9.7
    • stalld
    • None
    • stalld-1.20.2-2.el9
    • No
    • Moderate
    • 1
    • rhel-kernel-rts-time
    • ssg_core_kernel
    • 21
    • 23
    • 13
    • False
    • False
    • Hide

      None

      Show
      None
    • No
    • CK Parent Issues In Progress
    • Unspecified Release Note Type - Unknown
    • Unspecified
    • Unspecified
    • Unspecified
    • All
    • None

      There is a bug where two CPU-bound normal tasks sharing a CPU are mistakenly boosted by stalld queue_track backend, even though they already receive an equal 50% of CPU time.

      Reproducer:

      1. Start stalld with the queue_track backend on CPU 0:
        • taskset -c 0 stalld -v -b queue_track
      2. Start two normal CPU bound tasks on CPU 1:
        • taskset -c 1 bash -c 'while :; do :; done' &
        • taskset -c 1 bash -c 'while :; do :; done' &
      3. Using watch -n 0.1 ps -a -o pid,%cpu,cls,rtprio,cmd, observe that the two processes receive 50% of the CPU, but they are constantly boosted by stalld.
      4. Restart stalld and the issue is gone.

              wandercosta Wander Costa
              wandercosta Wander Costa
              Clark Williams Clark Williams
              Chang Yin Chang Yin
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated: