]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] initialise cpu_vm_mask in init_mm
authorAndrew Morton <akpm@osdl.org>
Wed, 4 Feb 2004 02:43:35 +0000 (18:43 -0800)
committerLinus Torvalds <torvalds@home.osdl.org>
Wed, 4 Feb 2004 02:43:35 +0000 (18:43 -0800)
From: Anton Blanchard <anton@samba.org>

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.

include/linux/init_task.h

index 59d4d291d45549ecfe8938361c5837be7bb45d38..f9708adb1d474a0f6d00264aea62313b1bbc7481 100644 (file)
@@ -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),       \
 }