I've looked at stack frames quite extensively and usually they are
not generated unless you explicitly use a named cpumask variable,
pass a cpumask by value, expect a cpumask function return, create
an initializer that contains a cpumask field, and (probably a couple
more I missed).
Almost all others are done efficiently via pointers or simple
struct copies:
cpus_xxx(*cpumask_of_cpu(), ...
struct->cpumask_var = *cpumask_of_cpu()
global_cpumask_var = *cpumask_of_cpu()
etc.
Thanks,
Mike
--