From: Patrick Williams <patrick@stwcx.xyz>
To: "Bills, Jason M" <jason.m.bills@linux.intel.com>
Cc: openbmc@lists.ozlabs.org
Subject: Re: [phosphor-logging] About the "Stop emitting Entry propChanged before ifacesAdded" change reason
Date: Thu, 4 Nov 2021 16:50:47 -0500 [thread overview]
Message-ID: <YYRVtwO7ZUotzZTO@heinlein> (raw)
In-Reply-To: <a6be0a56-664a-9685-e058-67edb6a3e5b7@linux.intel.com>
[-- Attachment #1: Type: text/plain, Size: 2003 bytes --]
On Thu, Nov 04, 2021 at 03:36:51PM -0600, Bills, Jason M wrote:
> I'm not sure if it's what we're talking about here with the behavioral
> change, but in sdbusplus when a new interface is initialized, by default
> it will also send a PropertiesChanged signal for newly added properties.
>
> There is a 'skipPropertyChangedSignal' parameter that can be set to
> 'true' to skip the ProperitesChanged and only send InterfacesAdded:
> bool initialize(const bool skipPropertyChangedSignal = false)
>
> https://github.com/openbmc/sdbusplus/blob/master/include/sdbusplus/asio/object_server.hpp#L740
>
> I think there are some components that depend on the default behavior
> and only watch for PropertiesChanged rather than InterfacesAdded.
This behavior is only in the ASIO object_server implementation, which means it
only covers a subset of daemons. I really don't know why this was ever added.
There is nothing in the dbus spec to suggest that you should emit a flood of
PropertyChanged signals when starting up. Maybe this is part of the cause of
some of the boot up performance issues.
We should probably change the defaults to `true` on this and see what breaks.
The commit[1] where this 'skipPropertyChangedSignal' argument was added gave
this as the rationale:
InterfacesAdded signal itself will send out all propety
details and it's values during start-up of a D-Bus daemon service.
Sending properties changed signal confuses the signal handler
as it can't differentiate between service restart or real
property change event.
The original code that added the `initialize` method and the
send-signals-for-all-properties behavior was the very first commit[2] James made
so it doesn't give us a whole lot of history or rationale.
1. https://github.com/openbmc/sdbusplus/commit/1ecde800380fbe9c9ce7c8a908aa55aeddb92c1d
2. https://github.com/openbmc/sdbusplus/commit/fce038ad5ac9f458b03d55b441253a9c05dadc3e
--
Patrick Williams
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2021-11-04 21:51 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-20 8:39 [phosphor-logging] About the "Stop emitting Entry propChanged before ifacesAdded" change reason CS20 CHMa0
2021-10-20 15:13 ` Matt Spinler
2021-10-20 17:17 ` Patrick Williams
2021-10-21 10:24 ` CS20 CHMa0
2021-10-28 3:49 ` CS20 CHMa0
2021-11-04 19:39 ` Ed Tanous
2021-11-04 21:19 ` Patrick Williams
2021-11-04 21:36 ` Bills, Jason M
2021-11-04 21:50 ` Patrick Williams [this message]
2021-11-05 21:58 ` Ed Tanous
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=YYRVtwO7ZUotzZTO@heinlein \
--to=patrick@stwcx.xyz \
--cc=jason.m.bills@linux.intel.com \
--cc=openbmc@lists.ozlabs.org \
/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.