Systemd/src/core
Zbigniew Jędrzejewski-Szmek 89de370edd core/namespace: drop bitfield annotations from boolean fields
Such microoptimization makes sense when the structure is used in many many copies,
but here's it's not, and the few bytes we save are not worth the extra code the
compiler has to generate:

    return  ns_info->mount_apivfs ||
            ns_info->protect_control_groups ||
            ns_info->protect_kernel_tunables ||
            ...
before:
  49b187:       48 8b 45 f8             mov    -0x8(%rbp),%rax
  49b18b:       0f b6 00                movzbl (%rax),%eax
  49b18e:       83 e0 80                and    $0xffffff80,%eax
  49b191:       84 c0                   test   %al,%al
  49b193:       75 32                   jne    49b1c7 <namespace_info_mount_apivfs+0x80>
  49b195:       48 8b 45 f8             mov    -0x8(%rbp),%rax
  49b199:       0f b6 00                movzbl (%rax),%eax
  49b19c:       83 e0 08                and    $0x8,%eax
  49b19f:       84 c0                   test   %al,%al
  49b1a1:       75 24                   jne    49b1c7 <namespace_info_mount_apivfs+0x80>
  49b1a3:       48 8b 45 f8             mov    -0x8(%rbp),%rax
  49b1a7:       0f b6 00                movzbl (%rax),%eax
  49b1aa:       83 e0 10                and    $0x10,%eax
  49b1ad:       84 c0                   test   %al,%al
  49b1af:       75 16                   jne    49b1c7 <namespace_info_mount_apivfs+0x80>

after:
  49b024:       48 8b 45 f8             mov    -0x8(%rbp),%rax
  49b028:       0f b6 40 07             movzbl 0x7(%rax),%eax
  49b02c:       84 c0                   test   %al,%al
  49b02e:       75 2e                   jne    49b05e <namespace_info_mount_apivfs+0x7a>
  49b030:       48 8b 45 f8             mov    -0x8(%rbp),%rax
  49b034:       0f b6 40 03             movzbl 0x3(%rax),%eax
  49b038:       84 c0                   test   %al,%al
  49b03a:       75 22                   jne    49b05e <namespace_info_mount_apivfs+0x7a>
  49b03c:       48 8b 45 f8             mov    -0x8(%rbp),%rax
  49b040:       0f b6 40 04             movzbl 0x4(%rax),%eax
  49b044:       84 c0                   test   %al,%al
  49b046:       75 16                   jne    49b05e <namespace_info_mount_apivfs+0x7a>
2020-09-22 17:58:11 +02:00
..
all-units.h core: add spdx header to all-units.h 2019-07-24 05:06:21 +09:00
apparmor-setup.c AppArmor: Support for loading a set of pre-compiled profiles at startup time 2020-06-09 20:27:47 +02:00
apparmor-setup.h AppArmor: Support for loading a set of pre-compiled profiles at startup time 2020-06-09 20:27:47 +02:00
audit-fd.c
audit-fd.h
automount.c core: propagate triggered unit in more load states 2020-09-14 13:05:09 +02:00
automount.h
bpf-devices.c tree-wide: avoid some loaded terms 2020-06-25 09:00:19 +02:00
bpf-devices.h tree-wide: avoid some loaded terms 2020-06-25 09:00:19 +02:00
bpf-firewall.c core: make log_unit_error() or friends return void 2020-09-09 02:34:38 +09:00
bpf-firewall.h bpf-firewall: custom BPF programs through IP(Ingress|Egress)FilterPath= 2019-06-25 09:56:16 +02:00
cgroup.c Merge pull request #16984 from yuwata/make-log_xxx_error-void 2020-09-09 16:28:51 +02:00
cgroup.h cgroup: Cleanup function usage 2020-08-19 11:41:53 +02:00
core-varlink.c tree-wide: define iterator inside of the macro 2020-09-08 12:14:05 +02:00
core-varlink.h core: add user/group resolution varlink interface to PID 1 2020-01-15 15:28:55 +01:00
dbus-automount.c shared: split out property get helpers 2020-06-30 15:10:17 +02:00
dbus-automount.h
dbus-cgroup.c shared: split out property get helpers 2020-06-30 15:10:17 +02:00
dbus-cgroup.h core: make TasksMax a partially dynamic property 2019-11-14 18:41:54 +01:00
dbus-device.c
dbus-device.h
dbus-execute.c Merge pull request #17076 from poettering/dissect-cleanup 2020-09-16 18:42:12 +02:00
dbus-execute.h core: add ExecStartXYZEx= with dbus support for executable prefixes 2019-05-30 20:41:42 -07:00
dbus-job.c tree-wide: define iterator inside of the macro 2020-09-08 12:14:05 +02:00
dbus-job.h shared: split out BusObjectImplementor APIs 2020-06-30 15:08:35 +02:00
dbus-kill.c shared: split out property get helpers 2020-06-30 15:10:17 +02:00
dbus-kill.h
dbus-manager.c tree-wide: define iterator inside of the macro 2020-09-08 12:14:05 +02:00
dbus-manager.h core: implement generic log control API in PID1 too 2020-04-21 17:08:23 +02:00
dbus-mount.c cgroup: Implicit unit_invalidate_cgroup_members_masks 2020-08-19 11:41:53 +02:00
dbus-mount.h
dbus-path.c shared: split out property get helpers 2020-06-30 15:10:17 +02:00
dbus-path.h
dbus-scope.c cgroup: Implicit unit_invalidate_cgroup_members_masks 2020-08-19 11:41:53 +02:00
dbus-scope.h
dbus-service.c tree-wide: define iterator inside of the macro 2020-09-08 12:14:05 +02:00
dbus-service.h
dbus-slice.c cgroup: Implicit unit_invalidate_cgroup_members_masks 2020-08-19 11:41:53 +02:00
dbus-slice.h
dbus-socket.c socket: New option 'FlushPending' (boolean) to flush socket before entering listening state 2020-09-01 17:20:23 +02:00
dbus-socket.h
dbus-swap.c cgroup: Implicit unit_invalidate_cgroup_members_masks 2020-08-19 11:41:53 +02:00
dbus-swap.h
dbus-target.c
dbus-target.h
dbus-timer.c shared: split out property get helpers 2020-06-30 15:10:17 +02:00
dbus-timer.h
dbus-unit.c tree-wide: define iterator inside of the macro 2020-09-08 12:14:05 +02:00
dbus-unit.h pid1: convert to the new scheme 2020-05-05 22:40:37 +02:00
dbus-util.c user-util: rework how we validate user names 2020-04-08 17:11:20 +02:00
dbus-util.h user-util: rework how we validate user names 2020-04-08 17:11:20 +02:00
dbus.c tree-wide: define iterator inside of the macro 2020-09-08 12:14:05 +02:00
dbus.h pid1: add --bus-introspect 2020-05-05 22:40:44 +02:00
device.c core: use strv_free_and_replace() at one more place 2020-09-15 09:36:34 +02:00
device.h
dynamic-user.c tree-wide: define iterator inside of the macro 2020-09-08 12:14:05 +02:00
dynamic-user.h tree-wide: reorder various structures to make them smaller and use fewer cache lines 2019-03-27 18:11:11 +01:00
efi-random.c random-util: add common helper random_write_entropy() for crediting entropy to the kernel's pool 2020-06-24 15:33:27 +02:00
efi-random.h core: take random seed from boot loader and credit it to kernel entropy pool 2019-07-25 18:16:46 +02:00
emergency-action.c feature to honor first shutdown request to completion 2020-06-24 09:42:01 +02:00
emergency-action.h core: change emergency_action() to return void 2019-03-18 16:06:36 +01:00
execute.c exec: SystemCallLog= directive 2020-09-15 12:54:17 +03:00
execute.h exec: SystemCallLog= directive 2020-09-15 12:54:17 +03:00
generator-setup.c Split out generator directory setup to a src/core/generator-setup.c 2020-03-27 20:12:44 +01:00
generator-setup.h Split out generator directory setup to a src/core/generator-setup.c 2020-03-27 20:12:44 +01:00
hostname-setup.c core: allow overriding the system hostname with systemd.hostname= on the kernel command line 2020-05-18 20:20:50 +02:00
hostname-setup.h
ima-setup.c headers: remove unneeded includes from util.h 2019-03-27 11:53:12 +01:00
ima-setup.h
ip-address-access.c bpf-firewall: optimization for IPAddressXYZ="any" (and unprivileged users) 2019-06-22 19:56:06 +02:00
ip-address-access.h bpf-firewall: optimization for IPAddressXYZ="any" (and unprivileged users) 2019-06-22 19:56:06 +02:00
job.c tree-wide: define iterator inside of the macro 2020-09-08 12:14:05 +02:00
job.h Revert "job: Don't mark as redundant if deps are relevant" 2020-06-23 11:42:45 +02:00
kill.c core: add support for RestartKillSignal= to override signal used for restart jobs 2019-10-02 14:01:25 +02:00
kill.h core: add support for RestartKillSignal= to override signal used for restart jobs 2019-10-02 14:01:25 +02:00
killall.c tree-wide: define iterator inside of the macro 2020-09-08 12:14:05 +02:00
killall.h core/killall: Propagate errors and return the number of process left 2019-04-08 19:41:16 +02:00
kmod-setup.c tree-wide: drop libkmod.h when module-util.h is included 2019-11-04 00:30:32 +09:00
kmod-setup.h
load-dropin.c Merge pull request #15940 from keszybz/names-set-optimization 2020-06-10 18:52:08 +02:00
load-dropin.h core: store unit aliases in a separate set 2020-06-10 09:36:58 +02:00
load-fragment-gperf-nulstr.awk
load-fragment-gperf.gperf.m4 exec: SystemCallLog= directive 2020-09-15 12:54:17 +03:00
load-fragment.c Merge pull request #17076 from poettering/dissect-cleanup 2020-09-16 18:42:12 +02:00
load-fragment.h exec: SystemCallLog= directive 2020-09-15 12:54:17 +03:00
locale-setup.c tree-wide: drop string.h when string-util.h or friends are included 2019-11-04 00:30:32 +09:00
locale-setup.h
loopback-setup.c tree-wide: drop missing.h 2019-10-31 17:57:03 +09:00
loopback-setup.h
machine-id-setup.c machine-id-setup: don't use KVM or container manager supplied uuid if in chroot env 2020-08-19 18:23:11 +02:00
machine-id-setup.h
macros.systemd.in rpm: include macro name in errors for two args macros too 2020-07-14 19:22:42 +02:00
main.c selinux: create /run/user/${USERID}/systemd with default context 2020-09-05 21:39:44 +02:00
manager.c Merge pull request #16955 from keszybz/test-execute-cleanup 2020-09-08 18:33:12 +02:00
manager.h Rework how we cache mtime to figure out if units changed 2020-08-31 20:53:38 +02:00
meson.build core: add credentials logic 2020-08-25 19:45:35 +02:00
mount-setup.c tree-wide: fix typos found by codespell 2020-09-14 15:32:37 +02:00
mount-setup.h mount-setup: change the system mount propagation to shared by default only at bootup 2020-04-09 10:14:20 +02:00
mount.c tree-wide: define iterator inside of the macro 2020-09-08 12:14:05 +02:00
mount.h mount: add ReadWriteOnly property to fail on read-only mounts 2020-05-01 13:23:30 +02:00
namespace.c dissect-image: process /usr/ GPT partition type 2020-09-19 21:19:51 +02:00
namespace.h core/namespace: drop bitfield annotations from boolean fields 2020-09-22 17:58:11 +02:00
org.freedesktop.systemd1.conf pid1: add a new SetShowStatus() bus call to override/restore show status mode 2020-06-11 12:00:32 +02:00
org.freedesktop.systemd1.policy.in
org.freedesktop.systemd1.service Revert "Drop dbus activation stub service" 2019-12-20 17:28:12 +01:00
path.c core: propagate unit start limit hit state to triggering path unit 2020-09-14 13:05:09 +02:00
path.h core: propagate unit start limit hit state to triggering path unit 2020-09-14 13:05:09 +02:00
scope.c pid1: convert to the new scheme 2020-05-05 22:40:37 +02:00
scope.h scope: Support RuntimeMaxSec= directive in scope units 2019-10-28 09:44:31 +01:00
selinux-access.c selinux: use SELinux status page 2020-08-27 10:28:53 +02:00
selinux-access.h selinux: do preprocessor check only in selinux-access.c 2020-04-29 13:56:40 +02:00
selinux-setup.c selinux: improve comment about getcon_raw semantics 2020-08-05 20:20:45 +02:00
selinux-setup.h
service.c Merge pull request #17039 from poettering/dbus-default-dep 2020-09-14 21:45:53 +02:00
service.h core: let user define start-/stop-timeout behaviour 2020-06-09 10:04:57 +02:00
show-status.c pid1: add new mode systemd.show-status=error and use it when 'quiet' is passed 2020-03-01 11:48:23 +01:00
show-status.h pid1: add new mode systemd.show-status=error and use it when 'quiet' is passed 2020-03-01 11:48:23 +01:00
slice.c core/slice: explicitly specify return value 2020-09-09 02:34:38 +09:00
slice.h
smack-setup.c tree-wide: drop dirent.h when dirent-util.h is included 2019-11-04 00:30:32 +09:00
smack-setup.h
socket.c core: propagate triggered unit in more load states 2020-09-14 13:05:09 +02:00
socket.h socket: New option 'FlushPending' (boolean) to flush socket before entering listening state 2020-09-01 17:20:23 +02:00
swap.c core: make log_unit_error() or friends return void 2020-09-09 02:34:38 +09:00
swap.h core: swap priority can be negative 2019-12-04 08:57:08 +01:00
system.conf.in log: add support for prefixing console log messages with current timestamp 2020-02-10 07:01:30 -05:00
systemd.pc.in pkg-config: prefix is not really configurable, don't pretend it was 2020-09-11 13:09:06 +02:00
target.c tree-wide: define iterator inside of the macro 2020-09-08 12:14:05 +02:00
target.h
timer.c core: propagate triggered unit in more load states 2020-09-14 13:05:09 +02:00
timer.h core: optionally, trigger .timer units on timezone and clock changes 2019-04-02 08:20:10 +02:00
transaction.c core: propagate triggered unit in more load states 2020-09-14 13:05:09 +02:00
transaction.h core: Add triggering job mode 2019-11-05 11:17:38 -08:00
triggers.systemd.in
unit-printf.c Add %l as specifier for the hostname without any domain component 2020-05-07 17:36:44 +02:00
unit-printf.h core: mark unit_*_printf() functions as taking a const Unit* 2019-10-16 16:21:56 +02:00
unit.c core: consolidate alloc & put operations into one statement 2020-09-14 16:13:44 +02:00
unit.h core: propagate triggered unit in more load states 2020-09-14 13:05:09 +02:00
user.conf.in log: add support for prefixing console log messages with current timestamp 2020-02-10 07:01:30 -05:00