Displaying 2 results from an estimated 2 matches for "cpus_or".
2012 Oct 11
14
alloc_heap_pages is low efficient with more CPUs
...signed int memflags)
{
if ( pg[i].u.free.need_tlbflush )
{
/* Add in extra CPUs that need flushing because of this page. */
cpus_andnot(extra_cpus_mask, cpu_online_map, mask);
tlbflush_filter(extra_cpus_mask, pg[i].tlbflush_timestamp);
cpus_or(mask, mask, extra_cpus_mask);
}
}
1 in the first starting, most of need_tlbflush=NULL, so cost little; in the second one, most of RAM have been used
thus makes need_tlbflush=true, so cost much.
2 but I repeated the same experiment in another blade which contains 16 physical CPUs and 6...
2009 Jul 15
0
[PATCH] rename for_each_cpu() to for_each_possible_cpu()
...2009-07-10 08:51:30.000000000 +0200
+++ 2009-07-10/xen/arch/ia64/xen/xensetup.c 2009-07-15 10:01:13.000000000 +0200
@@ -606,8 +606,7 @@ skip_move:
smp_prepare_cpus(max_cpus);
/* We aren''t hotplug-capable yet. */
- for_each_cpu ( i )
- cpu_set(i, cpu_present_map);
+ cpus_or(cpu_present_map, cpu_present_map, cpu_possible_map);
/* Enable IRQ to receive IPI (needed for ITC sync). */
local_irq_enable();
--- 2009-07-10.orig/xen/arch/x86/hpet.c 2009-05-27 13:54:05.000000000 +0200
+++ 2009-07-10/xen/arch/x86/hpet.c 2009-07-15 09:58:49.000000000 +0200
@@ -590,7...