Can we improve the experience of working on OpenBMC?
Alexander Amelkin
a.amelkin at yadro.com
Tue Aug 2 07:27:40 AEST 2022
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).
WBR, Alexander
P.S. All in all, I think d-bus wasn't a good choice of IPC for a system
running on a low-performance single-core ARM chip.
More information about the openbmc
mailing list