On Fri, 10 Mar 2023 18:18:36 +0000 Bruce Richardson <bruce.richard...@intel.com> wrote:
> On Alpine linux, the telemetry_data_autotest was failing for the > test where we had dictionaries embedded in other dictionaries up > to three levels deep. Indications are that this issue is due to > excess data being stored on the stack, so replace stack-allocated > buffer data with dynamically allocated data in the case where we > are doing recursive processing of telemetry data structures into > json. > > Bugzilla ID: 1177 > Fixes: c933bb5177ca ("telemetry: support array values in data object") > Fixes: d2671e642a8e ("telemetry: support dict of dicts") > Cc: sta...@dpdk.org Looking at the telemetry code: - why so many temporary buffers, could this be streamed or redesigned so that an allocated buffer is returned. - why is rte_tel_json_XXX all inline? These should just be internal functions and not in a .h file. FYI - if this library reused existing json writer it would have been much simpler. https://github.com/shemminger/iproute2/blob/main/lib/json_writer.c