On 2012-04-20 18:22, Steven Lang wrote: > It seems like a lot of what is in the thread_data structure does not > need to be in shared memory; the configuration information is static > (And in fact some of it is just pointers into process memory) and much > of it is just used for the running job, such as anything referencing > files or io_u. If instead of the whole structure, just necessarily > shared parts were put in the shared segment, even OSs with limited > shared segment sizes could better make use of shared memory and run > more jobs. > > Not to mention that any job which runs in a thread rather than a > process doesn't need to be in shared memory at all. That is completely true, but that would require a much more invasive change. Given that fio isn't _that_ heavy on the shm side (14KB per process), my lazy side just thought that it would be easier just to have a few segments for the unlikely cases where somebody did want to run more than 2000 processes. The options are around ~13% of the thread_data, so while moving just that would be a bit easier (and mechanical), it would not be worth it alone. And yes, it's not needed for threads. The threads don't attach to it as it is, so if you only run threads, it need not even be set up. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe fio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html