Messages in this thread | | | Subject | Re: [RFC 09/13] genapic: reduce stack pressuge in io_apic.c step 1 temp cpumask_ts | From | Andi Kleen <> | Date | Mon, 08 Sep 2008 13:01:44 +0200 |
| |
Mike Travis <travis@sgi.com> writes:
> * Step 1 of cleaning up io_apic.c removes local cpumask_t variables > from the stack.
Sorry that patch seems incredibly messy. Global variables and a tricky ordering and while it's at least commented it's still a mess and maintenance unfriendly.
Also I think set_affinity is the only case where a truly arbitary cpu mask can be passed in anyways. And it's passed in from elsewhere.
The other cases generally just want to handle a subset of CPUs which are nearby. How about you define a new cpumask like type that consists of a start/stop CPU and a mask for that range only and is not larger than a few words?
I think with that the nearby assignments could be handled reasonably cleanly with arguments and local variables.
And I suspect with some restructuring set_affinity could be also made to support such a model.
-Andi
| |