ignore unique-name dbus connections

Processes which only expose unique-name connections are dbus-clients
and do not need to have their dbus tree interrogated.  It is also
common practice for a daemon to create a bus connection, create their
objects, and then claim a well-known name.  By having objmgr look at
the unique-name connections from those daemons, objmgr is getting
too early a look into the daemon.

Filter out the unique-name connections from the dbus signal match.

I ran this on Bletchley hardware and observed a small boot time
performance gain (<1s) which was difficult to distinguish from
noise.  On some machines with heavy script-driven `busctl` operations,
this was reported to have some noticeable performance benefit.

Tested: Ran on Bletchley and observed no change in behavior for
mapper-wait, entity-manager, etc.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I93bde89409f049682fb7c67ab1fe45b7b9cf795a
1 file changed
tree: 8b0899bcae04a9ddb0bd28c76acba7dcf4e8ac78
  1. fail-monitor/
  2. libmapper/
  3. src/
  4. subprojects/
  5. .clang-format
  6. .gitignore
  7. LICENSE
  8. meson.build
  9. meson_options.txt
  10. OWNERS
  11. README.md
README.md

The Mapper

This repository contains the mapper, which assists in finding things on D-Bus. There is documentation about it here.

Prerequisites

Non-OpenBMC build dependencies are:

  • meson/ninja
  • boost
  • libsystemd
  • systemd
  • tinyxml2

Build

meson build && ninja -C build

Run Unit Tests

meson build && ninja -C build test

Clean the repository

rm -rf build