[PATCH] initialise cpu_vm_mask in init_mm

From: Anton Blanchard
Date: Tue Jan 20 2004 - 23:30:53 EST



Hi,

Some architectures use cpu_vm_mask to optimise TLB flushes. On ppc64 we
are now using a common flush infrastructure that handles both userspace
and kernelspace (vmalloc) pages. In order to avoid triggering this
optimisation we need to mark the init mm as having scheduled on all
cpus.

Things currently work by luck (we check for the cpu only having run on
the local cpu, and the field is initialised to 0), but it would be safer
to initialise it CPU_MASK_ALL.

Anton

===== include/linux/init_task.h 1.27 vs edited =====
--- 1.27/include/linux/init_task.h Tue Aug 19 12:46:23 2003
+++ edited/include/linux/init_task.h Wed Jan 21 15:04:09 2004
@@ -40,6 +40,7 @@
.mmap_sem = __RWSEM_INITIALIZER(name.mmap_sem), \
.page_table_lock = SPIN_LOCK_UNLOCKED, \
.mmlist = LIST_HEAD_INIT(name.mmlist), \
+ .cpu_vm_mask = CPU_MASK_ALL, \
.default_kioctx = INIT_KIOCTX(name.default_kioctx, name), \
}

-
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/