summaryrefslogtreecommitdiff
path: root/src/modules/eina (follow)
AgeCommit message (Collapse)Author
2016-01-07eina mp: also include malloc_np.h on FreeBSDDaniel Kolesa
2016-01-07eina mp: only include malloc.h on linuxDaniel Kolesa
Elsewhere, everything is in stdlib.h. @fix
2015-03-06eina: minimize fragmentation of chainned mempool.Subodh Kumar
Summary: Previously: Each allocation happened in the first chain after any free. Now: All allocation will happen in one chain until all buckets are full, this can reduce fragmentation to some extent. Reviewers: seoz, govi, shilpasingh, raster, cedric Reviewed By: cedric Subscribers: cedric, rajeshps Differential Revision: https://phab.enlightenment.org/D2071 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-01-22eina: do not access dead pointer from within valgrind macro.Cedric BAIL
2014-01-20eina/mp/one_big: fix alignment issues.Gustavo Sverzut Barbieri
When over-allocating (past "pool->max" items) a memory slice will be allocated to the new item as a linked list using Eina_Inlist. The original code was placing the Eina_Inlist structure (3 pointers) at the beginning of the allocated memory. However the item must have proper alignment based on "pool->item_size", otherwise a structure may end with unaligned members. Take for example MIPS 32 bits, it uses 4 bytes pointers with 8 bytes double. A structure containing a double could have it unaligned as 12 % 8 = 4 (12 is the size of Eina_Inlist, that contains 3 pointers), and MIPS doesn't allow unaligned access. Albin Tonnerre (Lutin) spotted this in his Debian MIPS test machine, it was breaking at eet_data_get_double() that was storing an unaligned double. This was being called from within edje test suite. The current code will place the list node after the requested "pool->item_size", of course guaranteeing the pointer inside the node is aligned (otherwise a "char" or "short" would break its alignment).
2013-11-10eina: avoid warning.Cedric BAIL
2013-11-10eina: use portable infrastructure to detect page size.Cedric BAIL
2013-10-11Revert "Revert "eina: use Eina_Spinlock for Eina_Chained_Mempool.""Stefan Schmidt
Revert now that it is fixed in eina. This reverts commit 875e7cf74de68d05f6fd28d26ad8bddab7782316.
2013-10-11Revert "Revert "Revert "eina: use Eina_Spinlock for Eina_Chained_Mempool."""Stefan Schmidt
Is there a title for the commiter with the longest revert of a revert list? I screwed this one up. Had other local changes that sneaked in. Resetting and doing it right now. This reverts commit ee155b771ddb8f063105f013c652b65f2ff663c1.
2013-10-11Revert "Revert "eina: use Eina_Spinlock for Eina_Chained_Mempool.""Stefan Schmidt
You can bet on reverting makes people speed up the process in fixing it. Revert the revert here now that Cedric fixed it in eina. This reverts commit 875e7cf74de68d05f6fd28d26ad8bddab7782316.
2013-10-11Revert "eina: use Eina_Spinlock for Eina_Chained_Mempool."Stefan Schmidt
This patch brings in constant E crash for me. It seems to be timing related which somehow leads to a mem corruption. Revert it for now to allow people using E while Cedric looks into it. This reverts commit 12d34309c7c6e3f3041ee576afe93f9ca335059e.
2013-10-11eina - and e3fl in general - stop using eina_error_get/set - useless reallyCarsten Haitzler (Rasterman)
2013-10-11eina: use Eina_Spinlock for Eina_Chained_Mempool.Cedric Bail
2013-06-14eina/mp/one_big: Add a comment to clarify why we do not memset the complete ↵Stefan Schmidt
memory. To avoid people getting confused over this code, like myself, add a comment to clarify that only the elements need to be set to zero while the payload does not matter here.
2013-06-12eina_chained_mempool: typoJérémy Zurcher
2013-06-12eina_chained_mempool: fix ERR arg formatJérémy Zurcher
2013-04-04eina: align allocated memory to 4096.Cedric Bail
2013-03-08Eina mempool: Fixed compilation warning.Tom Hacohen
2013-03-04eina: forgotten include that borked debug build.Cedric BAIL
2013-01-25eina: try to fix debug build typo.Cedric BAIL
SVN revision: 83315
2013-01-24efl/eina: it's really an error, thanks Ulisses.Cedric BAIL
SVN revision: 83198
2013-01-24efl/eina: one more typo.Cedric BAIL
SVN revision: 83197
2013-01-24eina: fix some warning.Cedric BAIL
SVN revision: 83196
2013-01-24efl/eina: detect when freeing pointer inside an allocated memory.Cedric BAIL
SVN revision: 83195
2013-01-24efl/eina: simplify mempool logic.Cedric BAIL
SVN revision: 83194
2012-12-31efl: cleanup HAVE_THREADS and pthread usage outside of eina.Gustavo Sverzut Barbieri
Eina now abstracts threads, so use that. the touched files had the EFL_HAVE_THREADS as it's mandatory now. SVN revision: 81935
2012-11-01merge: don't use recursive subdirs. Compilation should be faster.Vincent Torri
Please check. note1: Only lib and bin for now, but should be extended to other stuff note2: distcheck does not work because eo_suite is failing. SVN revision: 78758
2012-10-25merge: -Wl,--enable-auto-import is useless with recent versions of gcc on ↵Vincent Torri
Windows SVN revision: 78495
2012-10-23merge: pass directly to the preprocessor the Windows macro instead of using ↵Vincent Torri
autotools SVN revision: 78350
2012-10-10efl: remove duplicate paths due header move.Gustavo Sverzut Barbieri
eina headers used to be in their own directory, but now they live inside src/lib/eina. The mempools were still including include/lib/eina/ and with "sed" they became src/lib/eina/, which already existed. SVN revision: 77837
2012-10-10efl: unify EFL_DEBUG_THREADS and EINA_HAVE_DEBUG_THREADSGustavo Sverzut Barbieri
SVN revision: 77821
2012-10-10efl: simplify mempools, nuke some and make remaining statically built.Gustavo Sverzut Barbieri
Now we always build the following memory pools statically: - pass_through: calls malloc/free directly, useful to debug. - chained_pool: default for ages. - one_big: used by some embedded systems (should we remove?) Removed: - ememoa_fixed and ememoa_unknown: depends on a separate lib, not supported? - buddy: nobody uses it? NOTE: we do not need the src/modules/eina/mp/*/Makefile.am anymore since they are statically built. But I'll keep these and the references in src/modules/eina/mp/Makefile.am SVN revision: 77792
2012-10-05merge: __UNUSED__ --> EINA_UNUSED and some fixes in eo.Vincent Torri
SVN revision: 77542
2012-09-27and more include dir fixes.Carsten Haitzler
SVN revision: 77122
2012-09-16merge : add einaVincent Torri
currently, examples, tests and benchmark are not set. That's the next things i'll do SVN revision: 76710