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