As the thread pool is initialized for `m_threads - 1` workers, when
`m_threads` equals `the number of processors`, the `num_threads` will be
equal to `the number of processors - 1`, which is not needed to set
affinity.
This also improves backward compatibility. As mentioned in issue #6826,
when the new context API is not used, the default thread pool is created
with the number of workers equal to `the number of processors - 1`. In
this case, when using `--threads n` with `n` less than the number of
processors, the thread pool is still created with the `number of
processors - 1` workers, so we will even set wrong affinity, and let
some SMTs on the same core be used for emulator model threads, which
degrades performance. With this fix, the affinity will not be set in
this case.
Signed-off-by: Yangyu Chen <cyy@cyyself.name>