Attention is currently required from: daniel, fixeria, laforge, osmith, pespin.
Hello Jenkins Builder, daniel, fixeria, laforge, osmith,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/41865?usp=email
to look at the new patch set (#3).
The following approvals got outdated and were removed: Verified-1 by Jenkins Builder
Change subject: gmstap_log: optimization: Add talloc_pool for transmitted messages ......................................................................
gmstap_log: optimization: Add talloc_pool for transmitted messages
In synchronous modes (blocking and non-blocking), set a pool size of 1 msgb. This way we avoid re-allocating the msgb with malloc/free everytime a gsmtap_log msg is transmitted over the target, and instead we allocate the msgb during creation of the target.
In asynchronous mode (workqueue), create a pool of 100 msgbs, which should in general be enough to speedup more usual needs. If more than 100 msgbs are to be enqueued into the gsmtap_inst, then they will be allocated as normal talloc contexts.
Since the struct log_target is public, it is currently not possible to add new fields to it under "tgt_gsmtap" without breaking the ABI. Hence, the ->output field, which is unused in this target, is reused to store the pool object internally.
Change-Id: I19cdf09f21d856e8e3646de495ce7ae040195268 --- M src/core/logging_gsmtap.c 1 file changed, 32 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/65/41865/3