[systemd-devel] watchdog feature highly ineffecient / using too much CPU

David Herrmann dh.herrmann at gmail.com
Sat Sep 13 12:19:29 PDT 2014


Hi

On Sat, Sep 13, 2014 at 8:45 PM, Michael Biebl <mbiebl at gmail.com> wrote:
> 2014-09-13 20:34 GMT+02:00 Reindl Harald <h.reindl at thelounge.net>:
>>
>> Am 13.09.2014 um 20:20 schrieb Michael Biebl:
>>> 2014-09-13 18:57 GMT+02:00 Marcel Holtmann <marcel at holtmann.org>:
>>>>> break bluetooth completely by setting e.g. WatchdogSec=0..
>>>>
>>>> setting WatchdogSec=0 should disable that feature (as described in the manpage). Which means that systemd should
>>>
>>> Na, this was just a typo.
>>> I intended to write WatchdogSec=0.5
>>>
>>> Doing that, bluetooth.service ends up in failed state here
>>
>> AFAIK such options accept only integer values and no floats
>
> No, that works just fine.
>
> Setting WatchdogSec=0.5 will result in
> WatchdogUSec=500ms

There is no "WatchdogUSec". The "Sec" suffix just describes the
default value. All time-related configurations allow *any* time suffix
from year to microsecond. As long as you specify a unit, it doesn't
matter what was specified as suffix in the name.

The only exception is the "NSec" suffix, which implies the base unit
is "ns", unlike others which use "us", thus less precision.

But back to topic: I think we cannot rely on a "sane" value as
Watchdog. So applications should accept any value and work properly.
If it's too low for applications to properly react to it, we will stop
spawning it after a given number of failures anyway.

Thanks
David


More information about the systemd-devel mailing list