[systemd-devel] [PATCH] [RFC] systemd-bootchart: merge bootchart.

Kok, Auke-jan H auke-jan.h.kok at intel.com
Mon Oct 22 10:48:48 PDT 2012


On Sat, Oct 20, 2012 at 8:01 AM, Colin Walters <walters at verbum.org> wrote:
> On Wed, 2012-10-17 at 16:01 -0700, Auke Kok wrote:
>
>> The goal of this patch is to get comments on the overall integration
>> style. Man pages were added to cover the various ways of starting
>> bootchart:
>>
>> - as replacement init process
>> - as standalone program
>> - not implemented yet: as early process by systemd
>> - not implemented yet: as regular systemd service unit
>
> Does it make sense to support all 4 modes?  What's the tradeoffs
> of running it as init versus an early process?

The replacement init method allows you to capture more of what happens
really early on. If we'd wait until systemd is loaded and linked and
the basics done, we've essentially loaded quite a bit of extra
libraries into memory, called many syscalls etc.

The best comparison with other boot sequences would be to always run
bootchart as init, since it would be the fairest comparison. It would
be even fairer if you'd compile bootchart as a static binary. At that
point you're not influencing the OS boot at all, since you're not
linking anything.

The tradeoff is 10 lines of C code, it's almost negligent.

> Does all of the bootchart code need to be merged in here versus say
> systemd exporting whatever information is needed, and tightly
> integrating with it if it exists?  The plymouth integration may be a
> good precedent here.

systemd-bootchart will be a standalone component in any case, and use
external interfaces to grab service data - preferably. I'd rather
implement it as a "good example" of how to use the DBus methods than
link it internally. There's just no reason to do that, and it will
just make it more complex.


Auke


More information about the systemd-devel mailing list