Re: [RFC 09/13] genapic: reduce stack pressuge in io_apic.c step 1 temp cpumask_ts

From: Andi Kleen
Date: Mon Sep 08 2008 - 07:01:56 EST


Mike Travis <travis@xxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/