how to do large-ish IPC transfers

Brad Bishop bradleyb at fuzziesquirrel.com
Thu Sep 12 03:49:41 AEST 2019


Hi everyone

I have an application or two that need to collect and save ~ 16KiB of  
debugging data.  The applications have various triggers but they are very  
infrequent when deployed (on the order of months/years).  In the lab it  
would happen much more frequently.  It isn’t really debugging information  
for the developer of the application but rather for customer service  
personnel debugging broken components on a deployed server, after the event  
(and state) that caused the data to be collected.

The applications generating this data will not be the same applications  
that publish it (the webserver), so there is a need to transfer it using  
IPC.

16KiB seemed a little big for a DBus interface, and we’d have to ascii  
encode all that into a string.  Some other ideas were:

1 - passing a file descriptor over dbus
2 - passing a file name over dbus
3 - shared memory

Are there reasons to steer clear of any of these?  Security concerns?   
Performance concerns?  Maintainability concerns?

Are there other choices I’m not thinking of?

thanks in advance!

-brad


More information about the openbmc mailing list