On 03/03/2015 04:44 AM, Christian Ehrhardt wrote:
From: Christian Ehrhardt <[email protected]>
For our tests with about 250k files we found the smalloc pool being depleated.
Now for us values of 3-4 would be enough, but since it is a compile time switch
I'd like to make it safe for everybody and set 8.
Since it is a dynamic sizing anyway that should hopefully be ok for everybody.
The reason it was scaled down to 1 pool is because we could run into
situations where one of the forked processes (or threads) would cause
the expansion of pools, and smalloc() could then return memory that
wasn't properly shared (or valid) between all jobs. This was recently
found and fixed, and the smalloc code should probably just be updated to
reflect that. We can't runtime add pools safely.
Right now it's 1 pool at 16MB - how about we just bump it to 64MB for
that one pool? Or, alternatively, pre-add 4 pools initially when smalloc
is setup?
--
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