Can we improve the experience of working on OpenBMC?
Andrew Jeffery
andrew at aj.id.au
Tue Aug 9 10:44:21 AEST 2022
On Tue, 2 Aug 2022, at 06:57, Alexander Amelkin wrote:
> Hi Andrew!
>
> 27.07.2022 04:22, Andrew Jeffery пишет:
>> # Problems
>>
>> 1. Yocto is hard
>> 1. Managing patch stacks is hard
>> 2. Yocto-specific tooling is hard
>> 3. Finding the right recipe file to inspect/modify is hard
>> 4. Yocto has too much documentation
>> 2. OpenBMC has too much documentation
>> 3. Querying design/implementation/bug properties across the project is hard
>> 4. Coordinating breaking changes is hard
>> 5. Coordinating tree-wide changes is hard
>> 6. Identifying the right repo to file a bug against is hard
>> 7. Transferring bugs between repos is hard
>> 8. Bug reports are duplicated across repos
>> 9. Bug reports are ignored
>> 10. Working out where to submit a patch is hard
>> 11. Getting patches reviewed is hard
>> 12. New repo requests are bottle-necked
>
> To the list of the problems I would add:
>
> 13. D-Bus is hard for newcomers not familiar with it, best practices are
> not described,
> inter-process synchronization when accessing large d-bus objects (like
> network interfaces)
> is not inherent to d-bus, and auxiliary synchronization using standard
> POSIX means is neither
> explicitly requested/advised, nor controlled/enforced. All that may lead
> (and have previously led) to
> races and various other problems.
> Add to that the long and inconvenient
> prefixing that we've
> discussed earlier in another thread where Brad has supported my point of
> those being useless
> to the project.
>
> 14. D-Bus may become a bottleneck or a slowing factor (due to the
> context switching overhead) for
> the situations when two processes are communicating actively. A standard
> POSIX IPC like pipes,
> mq or shm could become a solution (with d-bus or any other method used
> as an aid to negotiate
> names, keys, or whatever other credentials needed to access a common IPC).
So to confirm I've understood your concerns and to distill it down to
specific things people can agree or disagree with, I have:
* DBus concepts are hard
* Designing for DBus is hard
* DBus use is awkward
* DBus is slow
* Unconventional, OpenBMC-specific DBus patterns are mostly tribal knowledge
Is that fair?
Andrew
More information about the openbmc
mailing list