Skip to content

client: avoid erroneous 'suspended - non-BOINC CPU' when running Docker apps#6403

Merged
AenBleidd merged 4 commits intomasterfrom
dpa_docker_cpu
Jun 25, 2025
Merged

client: avoid erroneous 'suspended - non-BOINC CPU' when running Docker apps#6403
AenBleidd merged 4 commits intomasterfrom
dpa_docker_cpu

Conversation

@davidpanderson
Copy link
Copy Markdown
Contributor

Win: count 'vmmem' (WSL process) as BOINC
Others: get Docker app CPU time from the apps themselves

Fixes #6398 (not tested on linux/mac)

Copilot AI review requested due to automatic review settings June 25, 2025 07:52
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR refines CPU time accounting for BOINC by excluding Docker apps and including WSL (“vmmem”) processes on Windows, thereby preventing incorrect "suspended" states. Key changes include:

  • Adding detailed comments and logic to distinguish Docker/VM processes.
  • Introducing new flags (is_vbox_app and is_docker_app) for more precise process categorization.
  • Adjusting CPU time calculation to include both user and kernel times for BOINC-related processes.

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
lib/procinfo_unix.cpp Added comments to clarify the parsing of /proc//stat files.
lib/procinfo.cpp Updated CPU time calculation and refined comments regarding BOINC and other processes.
client/client_types.h Renamed flags and added a new flag for Docker app identification.
client/client_types.cpp Adjusted the initialization and parsing logic to set the new flags.
client/app.cpp Updated logic to account for Docker apps’ CPU time and use the new flag.
Comments suppressed due to low confidence (2)

client/client_types.cpp:915

  • The removal of the 'vboxwrapper' check may affect the identification of VBox applications. Verify if this change is intentional and, if needed, add analogous logic to set the is_vbox_app flag.
            int retval = file_ref.parse(xp);

lib/procinfo.cpp:201

  • Consider clarifying in the comment why kernel_time is now added along with user_time for BOINC-related CPU calculation on Windows.
            sum += (p.user_time + p.kernel_time);

Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
@AenBleidd AenBleidd merged commit 36076fc into master Jun 25, 2025
175 checks passed
@AenBleidd AenBleidd deleted the dpa_docker_cpu branch June 25, 2025 21:57
@github-project-automation github-project-automation bot moved this to In progress in Client/Manager Jun 25, 2025
@AenBleidd AenBleidd added this to the Client/Manager 8.2.5 milestone Jun 25, 2025
@AenBleidd AenBleidd moved this from In progress to Merged in Client/Manager Jun 25, 2025
AenBleidd added a commit that referenced this pull request Jul 15, 2025
client: avoid erroneous 'suspended - non-BOINC CPU' when running Docker apps
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

count docker/podman CPU time as BOINC

3 participants