pthreads at bmcweb
Sunitha Harish
sunithaharish04 at gmail.com
Wed Jan 6 19:02:11 AEDT 2021
Hi team,
Reference commit
https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/31735 :
In order to handle the multiple push-style event subscribers, bmc needs
to support the async resolution of the subscribers address. The
async_resolve() API crashes if there is no thread support in the binary.
I created a bmcweb binary patch by pulling this commit and including the
pthread. This works fine for the use-cases, but increased the bmcweb
binary size by 220KB.
Ed's suggestion is not to use the pthreads, instead implement
alternatives to do the same job, so that the binary size is kept
minimum. He mentioned: /"//Considering that's a ~30% increase in binary
size to support one line off code, and most systems are already at their
binary size limit, no, that's not going to be acceptable. We can either
patch boost to use this
//https://man7.org/linux/man-pages/man3/getaddrinfo_a.3.html
<https://man7.org/linux/man-pages/man3/getaddrinfo_a.3.html>//or we
could build our own resolver type that calls that underneath. This was
based on a quick lookthrough of solutions in Google. I'm open to other
ideas here". /
I am looking for the community views about the increased bmcweb binary
size v/s having a custom implementation for asyc_resolve. Please share
your views & ideas to get to the best solution.
Thanks & regards,
Sunitha
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20210106/e3784d1c/attachment.htm>
More information about the openbmc
mailing list