[Cerowrt-devel] SQM in mainline openwrt, fq_codel considered for fedora default

Michal Schmidt mschmidt at redhat.com
Tue Oct 21 07:50:59 PDT 2014


On 10/20/2014 07:41 PM, Valdis.Kletnieks at vt.edu wrote:
> On Mon, 20 Oct 2014 10:03:55 -0700, Dave Taht said:
>> See:
>>
>> http://cgit.freedesktop.org/systemd/systemd/commit/?id=e6c253e363dee77ef7e5c5f44c4ca55cded3fd47
> 
> Those guys must be stopped.  Yet another time they tweak a kernel parameter
> without bothering to check the return code.

Well, the return code is checked, but in case of -ENOENT the error
message is intentionally downgraded to debug level:
http://cgit.freedesktop.org/systemd/systemd/tree/src/sysctl/sysctl.c?id=14f27b4e3b009d10bb9a3b43b74585c73a7c7626#n105

I guess the intention is to not bother warning about sysctls that get
removed from new kernels. Unfortunately, writing an invalid
default_qdisc returns -ENOENT, causing write_string_file() to return the
same, confusing apply_sysctl() into thinking the sysctl does not exist
at all. We can certainly improve that.

> (Yes, I'm still pissed at them for suddenly deciding to require cgroup
> support in the kernel, and not even adding a check at startup and a
> printf "Sorry, no cgroup support found".  It just kept going, trying
> to use cgroups support taht wasn't there, and hilarity and hijinks
> ensued...

Suddenly? CONFIG_CGROUPS was systemd's requirement from its very
beginning. It used to print:

   Failed to mount /sys/fs/cgroup: No such file or directory.

and stop booting at this point.
This was changed in 2011 in response to Ingo Molnar's request to be
able to test !CGROUPS kernels. So systemd try to boot after printing
this warning:

   CONFIG_CGROUPS was not set when your kernel was compiled.
   Systems without control groups are not supported.
   We will now sleep for 10s, and then continue boot-up.
   Expect breakage and please do not file bugs.
   Instead fix your kernel and enable CONFIG_CGROUPS.

Since running on !CGROUPS kernels was not in anybody's test plans,
the ability to boot without cgroups later bitrotted. When it was noticed
in May 2014, the code was reverted to again consider the failure to
mount cgroups as fatal and print the original error message.

I don't know what hilarity you observed, but at no point should the
failure to mount cgroups have been silent.

Regards,
Michal


More information about the Cerowrt-devel mailing list