Messages in this thread | | | Date | Thu, 18 Mar 2004 17:56:54 -0800 | From | Paul Jackson <> | Subject | Re: [PATCH] Introduce nodemask_t ADT [0/7] |
| |
> These (cpumask_t/nodemask_t) are nice because they are > optimized for edge cases (UP for cpumask_t and Non-NUMA for nodemask_t) > as well as for long mask cases (passing by structs reference).
When I looked at the assembly code generated on my one lung i386 box for native gcc 3.3.2, it looked pretty good (to my untrained eye) using a struct of an array of unsigned longs, both for the single unsigned long (<= 32 bits) and multiple unsigned long cases.
Except for the sparc64 guys and their friends who disparage passing structs on the stack, I conjecture that the single implementation of a struct of an array of unsigned longs is nearly ideal for all architectures.
... go ahead ... prove me wrong. It probably won't be hard ;).
-- I won't rest till it's the best ... Programmer, Linux Scalability Paul Jackson <pj@sgi.com> 1.650.933.1373 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |