All of lore.kernel.org
 help / color / mirror / Atom feed
From: Holger Hans Peter Freyther <holger@moiji-mobile.com>
To: "Burton, Ross" <ross.burton@intel.com>
Cc: Holger Hans Peter Freyther <holger@moiji-mobile.com>,
	openembedded-core@lists.openembedded.org
Subject: Re: State of systemd from an integrator point of view
Date: Mon, 18 Feb 2013 16:27:33 +0100	[thread overview]
Message-ID: <20130218152733.GD12835@xiaoyu.lan> (raw)
In-Reply-To: <CAJTo0LbOcDd5N6Be=sYrEEJdPoPtX5Cw+tnze=0DAhjp53M7hg@mail.gmail.com>

On Mon, Feb 18, 2013 at 01:10:27PM +0000, Burton, Ross wrote:

> The INITMAN variable is injected into DISTRO_FEATURES, so I do find
> the more idiomatic base_contains more readable:
> 
> ${@base_contains("DISTRO_FEATURES", "systemd", "", "watchdog", d)}

thanks. I will update my BSP.

> 
> systemd could RPROVIDE="watchdog" but as the means to configure it are
> different that might not be ideal, and if you ever switched entirely
> to systemd with these conditionals it's obvious where your redundant
> dependencies are.
> 
> Personally, I'd stick with conditional dependencies.

true, the watchdog package can potentially do a lot more as well. I also
have one watchdog related issue in my kernel/systemd. The TI Davinci wdt
doesn't allow to set the interval via IOCTL.


> Oh, interesting.  Without any thinking I can't think of reasons why
> that would fail.    Filed #3900.

I will try to find some time toward the end to re-produce and provide
feedback. I think it is a genuine bug in systemd. I am going to update
the ticket then.


> Agreed, although it would be good if the journal could be tuned.  IMHO
> it's technically great, just young.

journald is doing a 'lot' of work for each syslog message. E.g. if one
takes a look at journald-server.c:dispatch_message_real. I don't know how
the messages are flowing but from what I see the only way it could be
made usable is:

a.) API changes to there helpers to avoid dynamic allocations in many
of the cases. E.g. re-use one dynamically allocated string.

   r = get_process_cmdline(ucred->pid, 0, false, &t);
   if (r >= 0) {
        cmdline = strappend("_CMDLINE=", t);
        free(t);

                        if (cmdline)
        IOVEC_SET_STRING(iovec[n++], cmdline);
   }

in here there are at least:
   1.) a malloc for /proc/%lu/cmdline
   2.) a malloc for the FILE* pointer by glibc
   (3.) a mmap for ANOM memory in the fgets callby glibc)
     this example uses fgetc so it might not apply
   3.) re-allocs for every character read from the file
   4.) the strappend does another allocation and memcpy.


b.) Reducing the work by having the systemd send all this info with
each message (probably it doesn't work because of the interface that
is attempted to be used between systemd and the 'syslog'?

c.) Disabling/caching most of this information. E.g. the audit handling
should probably be behind a #ifdef if AUDIT is disabled. I will probably
experiment with putting a #ifdef to most of the additional information
it wants to query.

Upstream will probably end up doing nothing about it.

regards

holger



      parent reply	other threads:[~2013-02-18 15:44 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-18 10:24 State of systemd from an integrator point of view Holger Hans Peter Freyther
2013-02-18 13:10 ` Burton, Ross
2013-02-18 13:14   ` Burton, Ross
2013-02-18 15:08     ` Holger Hans Peter Freyther
2013-02-18 15:27   ` Holger Hans Peter Freyther [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130218152733.GD12835@xiaoyu.lan \
    --to=holger@moiji-mobile.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=ross.burton@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.