kernel_optimize_test/arch/s390/mm
Martin Schwidefsky 050eef364a [S390] fix tlb flushing vs. concurrent /proc accesses
The tlb flushing code uses the mm_users field of the mm_struct to
decide if each page table entry needs to be flushed individually with
IPTE or if a global flush for the mm_struct is sufficient after all page
table updates have been done. The comment for mm_users says "How many
users with user space?" but the /proc code increases mm_users after it
found the process structure by pid without creating a new user process.
Which makes mm_users useless for the decision between the two tlb
flusing methods. The current code can be confused to not flush tlb
entries by a concurrent access to /proc files if e.g. a fork is in
progres. The solution for this problem is to make the tlb flushing
logic independent from the mm_users field.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2010-08-24 09:26:34 +02:00
..
cmm.c [S390] cmm, smsgiucv_app: convert sender to uppercase 2010-08-09 18:12:54 +02:00
extmem.c [S390] appldata/extmem/kvm: add missing GFP_KERNEL flag 2010-06-08 18:58:23 +02:00
fault.c [S390] debug: enable exception-trace debug facility 2010-05-17 10:00:17 +02:00
hugetlbpage.c
init.c [S390] fix tlb flushing vs. concurrent /proc accesses 2010-08-24 09:26:34 +02:00
maccess.c [S390] zcore: CPU registers are not saved under LPAR 2010-03-24 11:49:53 +01:00
Makefile [S390] Enable guest page hinting by default. 2009-09-11 10:29:54 +02:00
mmap.c [S390] use helpers for rlimits 2010-01-13 20:44:45 +01:00
page-states.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pgtable.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
vmem.c mm: provide init_mm mm_context initializer 2010-08-09 20:44:54 -07:00