Commit 5ccb5c2f authored by Yusuke Sato's avatar Yusuke Sato Committed by Commit Bot

arcvm: Stop calling into session_manager for CPU cgroup adjustment

Now ARCVM's throttling is handled solely by Concierge. This CL depends
on chromium:1748118.

BUG=b:139095697
TEST=Start ARCVM, verify /sys/fs/cgroup/cpu/vms/arc/tasks is not empty,
 launch Play Store, verify /sys/fs/cgroup/cpu/vms/arc/cpu.shares is 1024,
 switch to Chrome, verify cpu.shares is 64.

Change-Id: Ic9746bb29363ed71ef5b43ef3659f78c23b07be5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1758588
Commit-Queue: Yusuke Sato <yusukes@chromium.org>
Reviewed-by: default avatarHidehiko Abe <hidehiko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#690142}
parent f73039a8
...@@ -57,9 +57,8 @@ void OnSetArcVmCpuRestriction( ...@@ -57,9 +57,8 @@ void OnSetArcVmCpuRestriction(
LOG(ERROR) << "Failed to call SetVmCpuRestriction"; LOG(ERROR) << "Failed to call SetVmCpuRestriction";
return; return;
} }
if (response->success()) if (!response->success())
return; LOG(ERROR) << "SetVmCpuRestriction for ARCVM failed";
// TODO(yusukes): Add logging here once Concierge side is ready.
} }
void SetArcVmCpuRestriction(bool do_restrict) { void SetArcVmCpuRestriction(bool do_restrict) {
...@@ -79,6 +78,19 @@ void SetArcVmCpuRestriction(bool do_restrict) { ...@@ -79,6 +78,19 @@ void SetArcVmCpuRestriction(bool do_restrict) {
base::BindOnce(&OnSetArcVmCpuRestriction)); base::BindOnce(&OnSetArcVmCpuRestriction));
} }
void SetArcContainerCpuRestriction(bool do_restrict) {
if (!chromeos::SessionManagerClient::Get()) {
LOG(WARNING) << "SessionManagerClient is not available";
return;
}
const login_manager::ContainerCpuRestrictionState state =
do_restrict ? login_manager::CONTAINER_CPU_RESTRICTION_BACKGROUND
: login_manager::CONTAINER_CPU_RESTRICTION_FOREGROUND;
chromeos::SessionManagerClient::Get()->SetArcCpuRestriction(
state, base::BindOnce(SetArcCpuRestrictionCallback, state));
}
} // namespace } // namespace
bool IsArcAvailable() { bool IsArcAvailable() {
...@@ -243,19 +255,9 @@ void SetArcCpuRestriction(bool do_restrict) { ...@@ -243,19 +255,9 @@ void SetArcCpuRestriction(bool do_restrict) {
if (IsArcVmEnabled()) { if (IsArcVmEnabled()) {
SetArcVmCpuRestriction(do_restrict); SetArcVmCpuRestriction(do_restrict);
// TODO(yusukes): Add return; here once Concierge side is ready. } else {
} SetArcContainerCpuRestriction(do_restrict);
if (!chromeos::SessionManagerClient::Get()) {
LOG(WARNING) << "SessionManagerClient is not available";
return;
} }
const login_manager::ContainerCpuRestrictionState state =
do_restrict ? login_manager::CONTAINER_CPU_RESTRICTION_BACKGROUND
: login_manager::CONTAINER_CPU_RESTRICTION_FOREGROUND;
chromeos::SessionManagerClient::Get()->SetArcCpuRestriction(
state, base::BindOnce(SetArcCpuRestrictionCallback, state));
} }
bool IsArcForceCacheAppIcon() { bool IsArcForceCacheAppIcon() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment