summaryrefslogtreecommitdiff
path: root/Makefile.am
AgeCommit message (Collapse)Author
2013-03-26readahead: cleanupsAuke Kok
- check for OOM - no need to use floats and round()
2013-03-26readahead: chunk on spinning mediaAuke Kok
Readahead has all sorts of bad side effects depending on your storage media. On rotating disks, it may be degrading startup performance if enough requests are queued spanning linearly over all blocks early at boot, and mount, blkid and friends want to insert reads to the start of these block devices after. The end result is that on spinning disks with ext3/4 that udev and mounts take a very long time, and nothing really happens until readahead is completely finished. This has the net effect that the CPU is almost entirely idle for the entire period that readahead is working. We could have finished starting up quite a lot of services in this time if we were smarter at how we do readahead. This patch sorts all requests into 2 second "chunks" and sub-sorts each chunk by block. This adds a single cross-drive seek per "chunk" but has the benefit that we will have a lot of the blocks we need early on in the boot sequence loaded into memory faster. For a comparison of how before/after bootcharts look (ext4 on a mobile 5400rpm 250GB drive) please look at: http://foo-projects.org/~sofar/blocked-tests/ There are bootcharts in the "before" and "after" folders where you should be able to see that many low-level services finish 5-7 seconds earlier with the patch applied (after).
2013-03-26build-sys: bump version and .so revisionsLennart Poettering
2013-03-26build-sys: ship missing unit fileLennart Poettering
2013-03-26build-sys: create kernel/install.d directoriesKay Sievers
2013-03-25man: properly document the system targets that are also available for the ↵Lennart Poettering
user instance
2013-03-25units: introduce new timers.target and paths.target to hook timer/path units ↵Lennart Poettering
into for boot
2013-03-25build-sys: add missing sed substitution for DEBUGTTYKay Sievers
2013-03-25bus: split socket related code into bus-socket.[ch], to prepare for kdbus ↵Lennart Poettering
backend
2013-03-23hwdb: ID_PRODUCT_FROM_DATABASE --> ID_MODEL_FROM_DATABASEKay Sievers
With the conversion from pci-db + usb-db to hwdb, the property got accitentially renamed. Move the name back to the long established identifier *MODEL* instead of *PRODUCT*. $ git grep -l ID_MODEL_FROM_DATABASE hwdb/20-pci-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb hwdb/ids-update.pl man/systemd.device.xml rules/78-sound-card.rules src/core/device.c src/cryptsetup/cryptsetup.c
2013-03-22build-sys: move acl searching code into libsystemd-aclZbigniew Jędrzejewski-Szmek
This loop over acls is a bit too much to keep inside of another loop.
2013-03-21bus: implement full method call timeout logicLennart Poettering
2013-03-21MAkefile.am: whitespace cleanupKay Sievers
2013-03-21build-sys: include missing header in dist tarballMichael Biebl
2013-03-21shared: add simple priority queue implementationLennart Poettering
2013-03-20bus: hook up client with socket communicationLennart Poettering
2013-03-20bus: add basic implementation of a native bus client libraryLennart Poettering
2013-03-18udev: make firmware loading optional and disable by defaultTom Gundersen
Distros that whish to support old kernels should set --with-firmware-dirs="/usr/lib/firmware/updates:/usr/lib/firmware" to retain the old behaviour.
2013-03-15systemd-python: add systemd.daemon wrapping sd-daemonZbigniew Jędrzejewski-Szmek
Please see the documentation (e.g. pydoc3 systemd.daemon) for full description. As usual, systemd._daemon wraps the raw interface, while systemd.daemon provides the more pythonic API. sd_listen_fds, sd_booted, sd_is_fifo, sd_is_socket, sd_is_socket_unix, sd_is_socket_inet, sd_is_mq, and SD_LISTEN_FDS_START are currently wrapped.
2013-03-15sysctl: add 50-default.confKay Sievers
2013-03-15sysctl: coredump.conf -> 50-coredump.confKay Sievers
2013-03-15Make initrd.target the default target in the initrdHarald Hoyer
First, rename root-fs.target to initrd-root-fs.target to clarify its usage. Mount units with "x-initrd-rootfs.mount" are now ordered before initrd-root-fs.target. As we sometimes construct /sysroot mounts in /etc/fstab in the initrd, we want these to be mounted before the initrd-root-fs.target is active. initrd.target can be the default target in the initrd. (normal startup) : : v basic.target | ______________________/| / | | sysroot.mount | | | v | initrd-root-fs.target | | | v | initrd-parse-etc.service (custom initrd services) | | v | (sysroot-usr.mount and | various mounts marked | with fstab option | x-initrd.mount) | | | v | initrd-fs.target | | \______________________ | \| v initrd.target | v initrd-cleanup.service isolates to initrd-switch-root.target | v ______________________/| / | | initrd-udevadm-cleanup-db.service | | (custom initrd services) | | | \______________________ | \| v initrd-switch-root.target | v initrd-switch-root.service | v switch-root
2013-03-13build-sys: link libsystemd-login also against libsystemd-daemon-internalZbigniew Jędrzejewski-Szmek
https://bugs.freedesktop.org/show_bug.cgi?id=62085 /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libsystemd-login.so: undefined reference to `sd_listen_fds' In ee465038ce8 'build-sys: break dependency loop between libsystemd-id128.la and -shared.la', a partial fix was applied, and the use of functions from libsystemd-id128 was removed from libsystemd-shared. Nevertheless, fdset.c was still using sd_listen_fds, so libsystemd-login should be linked against libysystemd-daemon or libsystemd-daemon-internal. Tested-by: Elias Probst <mail@eliasprobst.eu>
2013-03-13build-sys: add two new files to EXTRA_DISTZbigniew Jędrzejewski-Szmek
Also move custom-*.xsl EXTRA_DIST additions closer to where they are used.
2013-03-13libudev: implement udev_device_set_attribute_value()Hannes Reinecke
2013-03-13add initrd-fs.target and root-fs.targetHarald Hoyer
Instead of using local-fs*.target in the initrd, use root-fs.target for sysroot.mount and initrd-fs.target for /sysroot/usr and friends. Using local-fs.target would mean to carry over the activated local-fs.target to the isolated initrd-switch-root.target and thus in the real root. Having local-fs.target already active after deserialization causes ordering problems with the real root services and targets. We better isolate to targets for initrd-switch-root.target, which are only available in the initrd.
2013-03-13build-sys: use -f with ln -sZbigniew Jędrzejewski-Szmek
Parallel builds would sometimes try to recreate the link, and fail since 'ln -s' would refuse to overwrite.
2013-03-12man,html: say 'systemd 198' in the headerZbigniew Jędrzejewski-Szmek
This should help readers of the man or HTML pages know if the documentation is out of date. An alternative to use a date generated from 'git log' was considered, but since we try to keep user visible documentation up to date, showing the project version should be enough.
2013-03-12man: strip the comments in man page headersZbigniew Jędrzejewski-Szmek
They contained the date, which creates a problem with multiarch packages, since the generated file would be different each time.
2013-03-12build-sys: break dependency loop between libsystemd-id128.la and -shared.laZbigniew Jędrzejewski-Szmek
The loop was added in d848b9cbfa0ba72 'Move generic specifier functions to shared'.
2013-03-11bootchart: various superficial cleanupsLennart Poettering
Let's update bootchar to share the coding style a bit more with the rest of the package. - Some tabs/spaces fixes - add #pragma to header - split up header so that we have a 1:1 relation between .c and .h files like everywhere else - Prefix user command line arguments/configuration settings with "arg_". - other coding style fixes
2013-03-11bootchart: rename log.c to store.c to aovid confusion with src/shared/log.cLennart Poettering
2013-03-11Move udevadm to rootbindirMichael Biebl
The udevadm utility is needed during early boot, so move it to rootbindir to support split-/usr configurations.
2013-03-09python/docs: use the same links on top as in man pagesZbigniew Jędrzejewski-Szmek
I forgot to commit the layout file, because it was gitignored. Fixed now.
2013-03-09systemd-python: provide version info to sphinxZbigniew Jędrzejewski-Szmek
2013-03-09build-sys: generate links for html alias pagesZbigniew Jędrzejewski-Szmek
2013-03-09build-sys: assemble HTML in docs/htmlZbigniew Jędrzejewski-Szmek
The goal is to be able to preview how the documenation will look when uploaded. Just point your browser at docs/html/man/index.html.
2013-03-09build-sys: clean up make cleanZbigniew Jędrzejewski-Szmek
2013-03-09build-sys: fix distcheckZbigniew Jędrzejewski-Szmek
2013-03-09build-sys: don't hard-code binary paths in initrd-*.serviceMichael Biebl
Instead use @bindir@ for udevadm and @rootbindir@ for systemctl.
2013-03-07build-sys: bump release and sonamesLennart Poettering
2013-03-07build-sys: move sphinx output to docs/python-systemdZbigniew Jędrzejewski-Szmek
And on fd.o it goes into a dir parallel to man/.
2013-03-07core: mount and initialize SmackNathaniel Chen
SMACK is the Simple Mandatory Access Control Kernel, a minimal approach to Access Control implemented as a kernel LSM. The kernel exposes the smackfs filesystem API through which access rules can be loaded. At boot time, we want to load the access rules as early as possible to ensure all early boot steps are checked by Smack. This patch mounts smackfs at the new location at /sys/fs/smackfs for kernels 3.8 and above. The /smack mountpoint is not supported. After mounting smackfs, rules are loaded from the usual location. For more information about Smack see: http://www.kernel.org/doc/Documentation/security/Smack.txt
2013-03-07build-sys: force creation of symlinkZbigniew Jędrzejewski-Szmek
For some reason make sometimes wants to rerun this, and ln would refuse to recreate the link.
2013-03-06libsystemd-journal: export new function, increase library versionZbigniew Jędrzejewski-Szmek
Since sd_journal_reliable_fd wasn't exported before, it is as if it was added now. Library "current" number must be bumped. michich> Someone links with the fixed version and produces a RPM with his program. The RPM will happily install on a system with an old systemd version (the deps will appear fine), but the program will fail to run.
2013-03-06build-sys: add missing $Zbigniew Jędrzejewski-Szmek
Fixup for 25ee45f99.
2013-03-06Revert "add initrd-fs.target and initrd-fs-pre.target"Harald Hoyer
This reverts commit 39b83cdab37623a546344622db9bbbc784c15df5.
2013-03-05journald: introduce new "systemd-journal" group and make it own the journal ↵Lennart Poettering
files Previously all journal files were owned by "adm". In order to allow specific users to read the journal files without granting it access to the full "adm" powers, introduce a new specific group for this. "systemd-journal" has to be created by the packaging scripts manually at installation time. It's a good idea to assign a static UID/GID to this group, since /var/log/journal might be shared across machines via NFS. This commit also grants read access to the journal files by default to members of the "wheel" and "adm" groups via file system ACLs, since these "almost-root" groups should be able to see what's going on on the system. These ACLs are created by "make install". Packagers probably need to duplicate this logic in their postinst scripts. This also adds documentation how to grant access to the journal to additional users or groups via fs ACLs.
2013-03-04build-sys: build and install systemd-coredumpctl conditionallyMichael Biebl
If coredump support is disabled via --disable-coredump, do not build and install the systemd-coredumpctl binary and man page.
2013-03-04add initrd-fs.target and initrd-fs-pre.targetHarald Hoyer