Fix chained mempool allocator.
authorcedric <cedric>
Tue, 30 Sep 2008 12:55:33 +0000 (12:55 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 30 Sep 2008 12:55:33 +0000 (12:55 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/PROTO/eina@36355 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/modules/mp/chained_pool/eina_chained_mempool.c
src/tests/eina_bench_mempool.c

index d7eb691..3ff2ba5 100644 (file)
@@ -92,6 +92,7 @@ eina_chained_mempool_malloc(void *data, __UNUSED__ unsigned int size)
        if (p->base)
          {
             pool->first = eina_inlist_remove(pool->first, EINA_INLIST_GET(p));
+            pool->first = eina_inlist_append(pool->first, EINA_INLIST_GET(p));
             break;
          }
      }
@@ -128,6 +129,7 @@ eina_chained_mempool_free(void *data, void *ptr)
    item_alloc = ((pool->item_size + sizeof(void *) - 1) / sizeof(void *)) * sizeof(void *);
    psize = item_alloc * pool->pool_size;
    // look 4 pool
+
    EINA_INLIST_ITER_NEXT(pool->first, p)
      {
        // pool mem base
index eb290f8..82f3423 100644 (file)
@@ -106,11 +106,11 @@ eina_mempool_ememoa_unknown(int request)
 void
 eina_bench_mempool(Eina_Benchmark *bench)
 {
-/*    eina_benchmark_register(bench, "chained mempool", EINA_BENCHMARK(eina_mempool_chained_mempool), 10, 100, 10); */
-   eina_benchmark_register(bench, "pass through", EINA_BENCHMARK(eina_mempool_pass_through), 10, 10000, 100);
-   eina_benchmark_register(bench, "fixed bitmap", EINA_BENCHMARK(eina_mempool_fixed_bitmap), 10, 10000, 100);
+   eina_benchmark_register(bench, "chained mempool", EINA_BENCHMARK(eina_mempool_chained_mempool), 10, 1000, 10);
+   eina_benchmark_register(bench, "pass through", EINA_BENCHMARK(eina_mempool_pass_through), 10, 1000, 10);
+   eina_benchmark_register(bench, "fixed bitmap", EINA_BENCHMARK(eina_mempool_fixed_bitmap), 10, 1000, 10);
 #ifdef EINA_EMEMOA_SUPPORT
-   eina_benchmark_register(bench, "ememoa fixed", EINA_BENCHMARK(eina_mempool_ememoa_fixed), 10, 10000, 100);
-   eina_benchmark_register(bench, "ememoa unknown", EINA_BENCHMARK(eina_mempool_ememoa_unknown), 10, 10000, 100);
+   eina_benchmark_register(bench, "ememoa fixed", EINA_BENCHMARK(eina_mempool_ememoa_fixed), 10, 1000, 10);
+   eina_benchmark_register(bench, "ememoa unknown", EINA_BENCHMARK(eina_mempool_ememoa_unknown), 10, 1000, 10);
 #endif
 }