Sdbusplus-based Shared Library

Lei YU mine260309 at gmail.com
Tue Mar 20 13:32:02 AEDT 2018


On Tue, Mar 20, 2018 at 3:33 AM, Patrick Venture <venture at google.com> wrote:
> On Mon, Mar 19, 2018 at 11:24 AM, Tanous, Ed <ed.tanous at intel.com> wrote:
>> Have you tried prototyping to see how much space you'll save?  I suspect it won't be a lot for a few reasons.
>>
>> 1. A lot of sdbusplus is template instantiations, and unless we forward declare a number of base template instantiations for use in the shared library, most of the application code will end up in the binary anyway.
>> 2. Sdbus calls into libsystemd, which is already a shared library.
>> 3. The filesystem is already compressed, so I suspect that any duplicated methods that aren't inlined will have the same binary code pattern and get duplicated by the squashfs filesystem.
>>
>> Those are all the reasons why I haven't really looked into it for the dbus stuff;  I can't speak to the timer stuff, but I suspect the wins in size there are going to be small.
>>
>> Normal disclaimer, on this specific library, I haven't prototyped anything, just done back of the napkin guesses, so I could very easily be missing something here.
>>
>
> So my thinking wasn't about reducing size of the binary but rather
> reducing the toil of maintaining multiple implementations of the same
> code.
>

I am glad this is proposed again :)
I definitely support a shared library for common sdbusplus code.
I know there are comments that phosphos-xxx repos are expected to be
independent (and thus only links to sdbusplus and phosphor-dbus-interfaces)
But it does make each repo to have its own utils with common code like
"getService()", "getProperty()", and timers as well if it uses timers.

>> -Ed
>>
>>> -----Original Message-----
>>> From: openbmc [mailto:openbmc-
>>> bounces+ed.tanous=intel.com at lists.ozlabs.org] On Behalf Of Patrick
>>> Venture
>>> Sent: Monday, March 19, 2018 10:12 AM
>>> To: Ratan K Gupta <ratagupt at in.ibm.com>; Brad Bishop
>>> <bradleyb at fuzziesquirrel.com>; OpenBMC Maillist
>>> <openbmc at lists.ozlabs.org>
>>> Subject: Sdbusplus-based Shared Library
>>>
>>> We have a lot of duplication across daemons using sdbusplus, and no new
>>> utility library.  To avoid every daemon having their own timer object, and
>>> their own this or that, I suggest we create this shared library.
>>>
>>> Thoughts?  We can start simple, just have a timer object in there, and then
>>> the new timers being introduced to phosphor-hwmon and phosphor-host-
>>> ipmid can be the first customers.
>>>
>>> Patrick


More information about the openbmc mailing list