PR #17628: sys_heap benchmarks?


Christopher Friedt
 

Recently a sys_heap change went into zephyr

https://github.com/zephyrproject-rtos/zephyr/pull/17628

The PR says that it's faster, but I'm seeing some behaviour that would
suggest that's not the case.

The reason I bring it up, is that I had ported a certain protocol
subsystem over from an external repository (in my fork, atm). That
subsystem made heavy use of malloc. I rebased just a couple of days
ago (no other changes), and now I'm experiencing a fair amount of
timeouts when using the protocol that I did not experience before.
I've had to increase buffer sizes, etc.

Personally, I'm not a huge fan of malloc usage in communication code,
but I'm just kind of dealing with the code that I inherited.

Does anyone have some benchmarks on the new allocator? I'd really like
to have a look if that information is available.

Thanks,

C


Andy Ross
 

This hasn't merged yet and was never the backend for malloc() or k_mem_pool, are you pulling it locally and writing code to its internal API?

Have you tried a simple git bisect over your tree to look for other culprits?

Andy

On 10/5/19 6:58 AM, Christopher Friedt wrote:
Recently a sys_heap change went into zephyr

https://github.com/zephyrproject-rtos/zephyr/pull/17628

The PR says that it's faster, but I'm seeing some behaviour that would
suggest that's not the case.

The reason I bring it up, is that I had ported a certain protocol
subsystem over from an external repository (in my fork, atm). That
subsystem made heavy use of malloc. I rebased just a couple of days
ago (no other changes), and now I'm experiencing a fair amount of
timeouts when using the protocol that I did not experience before.
I've had to increase buffer sizes, etc.

Personally, I'm not a huge fan of malloc usage in communication code,
but I'm just kind of dealing with the code that I inherited.

Does anyone have some benchmarks on the new allocator? I'd really like
to have a look if that information is available.

Thanks,

C


Christopher Friedt
 



On Sat., Oct. 5, 2019, 10:24 a.m. Andy Ross, <andrew.j.ross@...> wrote:
This hasn't merged yet and was never the backend for malloc() or
k_mem_pool, are you pulling it locally and writing code to its internal API?

Oh weird - I was on the developer call last week and everyone agreed it would be merged. Is there a merge window then?


Have you tried a simple git bisect over your tree to look for other
culprits?

I have but no luck so far.

In any case, are there some benchmarks available for it?

Thanks,

C