On Sat, Nov 07 2015, Jens Axboe wrote:
> On Thu, Nov 05 2015, Matthew Eaton wrote:
> > I noticed during testing recent fio releases it seemed bit laggy to
> > start, so I tried some tests and it seems fio has been increasingly
> > taking longer to start for some reason.  Don't know if this is
> > expected or if something is wrong?
> 
> Try the below.

Committed, with a fixup to still clear the actual bitmap. Should work
faster for you than even the earlier versions you tested.


commit 9c3e13e3314da394698ca32f21cc46d46b7cfe47
Author: Jens Axboe <[email protected]>
Date:   Sat Nov 7 17:33:38 2015 -0700

    smalloc: only clear the bitmap, not the whole pool
    
    This reduces startup time, and the memset() isn't useful nor
    needed on the full range.
    
    Signed-off-by: Jens Axboe <[email protected]>

diff --git a/smalloc.c b/smalloc.c
index 8412e7518464..5047cda5e343 100644
--- a/smalloc.c
+++ b/smalloc.c
@@ -213,9 +213,9 @@ static int add_pool(struct pool *pool, unsigned int 
alloc_size)
        if (ptr == MAP_FAILED)
                goto out_fail;
 
-       memset(ptr, 0, alloc_size);
        pool->map = ptr;
        pool->bitmap = (void *) ptr + (pool->nr_blocks * SMALLOC_BPL);
+       memset(pool->bitmap, 0, bitmap_blocks * sizeof(unsigned int));
 
        pool->lock = fio_mutex_init(FIO_MUTEX_UNLOCKED);
        if (!pool->lock)

-- 
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to