On Wed, 25 Nov 2015, Qais Yousef wrote:
cpumask is limited to NR_CPUS. Introduce ipi_mask which allows us to addressI have second thoughts on this.
cpu range that is higher than NR_CPUS which is required for drivers to send
IPIs for coprocessor that are outside Linux CPU range.
cpumask is indeed limited to NR_CPUS or in case of CPUMASK_ON_STACK
limited to nr_cpu_ids.
But, that's not an issue for that coprocessor case. Let's assume you
have 16 Linux CPUs and 4 coprocessors. So you set the number of
possible cpus (NR_CPUS) to 20. That makes the cpumask sizeof 20.
The boot-process sets the number of available cpus to 16. So the
Linux side will never try to access anything beyond cpu15.
But you can spare that extra mask magic and simply use cpumask. Sorry
that I did not think about that earlier.