Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add warning about cgroup v1 force flag #2749

Merged
merged 1 commit into from
Oct 24, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion doc/manual/install-judgehost.rst
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,8 @@ any other tasks on the same CPU core the judgedaemon is using:

On modern distros (e.g. Debian bullseye and Ubuntu Jammy Jellyfish) which have
cgroup v2 enabled by default, you need to add ``systemd.unified_cgroup_hierarchy=0``
as well. Then run ``update-grub`` and reboot.
as well. If you are running systemd v257, you also need to add `SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1`.
Copy link
Member

Choose a reason for hiding this comment

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

v257 or higher I assume?

Copy link
Member Author

Choose a reason for hiding this comment

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

They say they will drop it fully in 248, so no

Copy link
Contributor

@mpsijm mpsijm Oct 24, 2024

Choose a reason for hiding this comment

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

I'm currently running v256 and I can't run with cgroup v1 at all.

If I remember correctly, only v255 requires this extra command-line parameter, and in v256, support was dropped entirely, so the flag is no longer needed there.

It may also be nice to warn users about this, something like: "Support for cgroup v1 is dropped entirely in systemd v256 or higher. DOMjudge will support cgroup v2 starting from version 8.4."

Copy link
Member Author

Choose a reason for hiding this comment

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

https://github.com/systemd/systemd/blob/main/NEWS seems to suggest that for 257:

    * Support for cgroup v1 ('legacy' and 'hybrid' hierarchies) is now
      considered obsolete and systemd by default will refuse to boot under
      it. To forcibly reenable cgroup v1 support,
      SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 must be set on kernel command
      line. The complete removal of cgroup v1 is scheduled for v258.

You are saying this is wrong?

Copy link
Contributor

@mpsijm mpsijm Oct 24, 2024

Choose a reason for hiding this comment

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

Oh, never mind, I misremembered 🙂 Looking back at #1072 (comment), enabling cgroup v1 in v256 makes it harder to boot the host machine (i.e. they've added a 30 second timeout) 😅

On the other hand, @RagnarGrootKoerkamp couldn't boot his Arch at all anymore (#1072 (comment)). I assume he also ran v256 back then, though (because v257 is not released yet) 🤔

In any case, the kernel parameter appears to have been necessary since v256, which is confirmed by #1072 (comment). The command-line parameter is indeed not mentioned in the v255 changelog.

Then run ``update-grub`` and reboot.
After rebooting check that ``/proc/cmdline`` actually contains the
added kernel options. On VM hosting providers such as Google Cloud or
DigitalOcean, ``GRUB_CMDLINE_LINUX_DEFAULT`` may be overwritten
Expand Down
Loading