On 2014-02-26 15:54, Elliott, Robert (Server Storage) wrote:
fio seems to assign the same cpus_allowed/cpumask value to all threads.
> I think this allows the OS to move the threads around those CPUs.

Correct. As long as the number of cpus in the mask is equal to (or larger than) the number of jobs within that group, the OS is free to place them wherever it wants. In practice, unless the CPU scheduling is horribly broken, they tend to "stick" for most intents and purposes.

In comparison, iometer assigns its worker threads to specific CPUs
> within the cpumask in round-robin manner.  Would that be worth adding
> to fio, perhaps with an option like cpus_allowed_policy=roundrobin?

Sure, we could add that feature. You can get the same setup now, if you "unroll" the job section, but that might not always be practical. How about cpus_allowed_policy, with 'shared' being the existing (and default) behavior and 'split' being each thread grabbing one of the CPUs?

--
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