Files
OpenCellular/include
Vadim Bendebury 32b064108a common: introduce malloc/free implementation
The new code allows to replace the existing one buffer at a time
shared memory facility with a malloc/free implementation. A new
configuration option is being provided (CONFIG_MALLOC).

The names of functions allocating and freeing memory are not being
changed to allow to switch between the two implementations seamlessly.

A double linked list of buffers is used to keep track of free and
allocated memory. During initialization the entire free memory block
is considered a single free buffer. No allocations/frees are allowed
from within interrupts. The control structures are protected by a
semaphore, so allocate and free invocation could be blocking.

A test is added which randomly allocates and frees memory, continuing
until all branches in the allocate and free functions are taken.

BUG=chrome-os-partner:
TEST=make buildall -j succeeds, which includes testing the new
     malloc/free implementation.

Change-Id: I5e71c0190c6c247ec73bb459f66a6d7a06e3d248
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/420466
Reviewed-by: Randall Spangler <rspangler@chromium.org>
2017-01-05 21:13:09 -08:00
..
2016-05-26 16:17:26 -07:00
2013-12-17 21:27:53 +00:00
2016-11-15 17:41:53 -08:00
2017-01-05 13:43:39 -08:00
2015-06-18 19:07:00 +00:00
2015-06-18 19:07:00 +00:00
2015-07-27 22:19:16 +00:00
2014-02-08 00:14:48 +00:00
2013-10-25 20:12:49 +00:00
2015-06-10 18:24:05 +00:00
2015-05-27 03:58:16 +00:00
2016-04-27 14:04:07 -07:00
2015-05-27 03:58:16 +00:00
2016-09-07 14:01:18 -07:00
2013-06-26 09:08:23 -07:00
2011-12-07 19:10:02 +00:00
2016-11-08 17:11:28 -08:00
2012-10-25 14:12:11 -07:00
2015-10-07 17:51:36 -07:00
2016-07-29 10:51:22 -07:00
2015-06-18 19:07:00 +00:00
2016-12-05 16:43:18 -08:00
2015-06-18 19:07:00 +00:00
2015-06-18 19:07:00 +00:00
2016-11-15 17:41:53 -08:00
2015-12-21 14:58:54 -08:00
2016-11-08 17:11:28 -08:00
2016-07-11 21:27:46 -07:00
2015-09-16 14:49:46 -07:00
2015-06-18 19:07:00 +00:00
2016-11-02 17:39:56 -07:00
2015-01-20 20:56:43 +00:00