Messages in this thread | | | Subject | Re: Optimisation for smp_num_cpus loop in hotplug | Date | Fri, 21 Jun 2002 09:10:21 -0400 | From | James Bottomley <> |
| |
zaitcev@redhat.com said: > This is neat, but I'd like to see it work with O(1) as well. Mingo's > code uses some long bitmaps.
Well, it's strictly only for the cpu bitmap (and it's designed to be different depending on the arch so you can use arch specific CPU enumeration knowlege). The O(1) optimisation for this is easy:
#ifdef CONFIG_SMP #define for_each_cpu(cpu, mask) \ for(mask = cpu_online_map; \ cpu = __ffs(mask), mask != 0; \ mask &= ~(1<<cpu)) #else #define for_each_cpu(cpu, mask) cpu = 1; #endif
because you don't really want to run an SMP kernel on a machine which has only one cpu. Or did you mean you'd like to see it work with the O(1) scheduler, some kind of generic for_each_set_bit?
James
- 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/
| |