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
..
2008-08-01 20:42:05 +02:00
2008-08-01 20:42:05 +02:00
2009-12-12 13:08:14 +01:00
2010-05-26 23:26:29 +02:00
2008-12-25 13:38:55 +01:00
2010-02-26 22:37:30 +01:00
2009-06-11 21:02:14 +02:00
2010-05-19 08:36:48 +01:00
2008-08-01 20:42:05 +02:00
2009-01-14 19:56:50 -08:00
2010-03-03 11:26:00 +01:00
2009-11-26 09:16:19 +01:00
2010-08-09 18:12:53 +02:00
2009-06-16 10:31:08 +02:00
2009-09-11 10:29:43 +02:00
2009-01-09 12:15:06 +01:00
2009-09-11 10:29:36 +02:00
2010-02-09 11:13:56 +01:00
2009-01-09 12:15:06 +01:00
2010-03-12 15:52:32 -08:00
2008-08-01 20:42:05 +02:00
2009-09-11 10:29:56 +02:00
2010-05-17 10:00:15 +02:00
2010-02-26 22:37:29 +01:00
2008-08-01 20:42:05 +02:00
2009-03-26 15:24:05 +01:00
2009-09-11 10:29:53 +02:00
2009-10-06 10:35:08 +02:00
2008-08-01 20:42:05 +02:00
2008-08-01 20:42:05 +02:00
2008-08-01 20:42:05 +02:00
2008-08-01 20:42:05 +02:00
2008-08-01 20:42:05 +02:00
2009-12-16 07:20:12 -08:00
2008-08-01 20:42:05 +02:00
2008-08-01 20:42:05 +02:00
2010-02-26 22:37:30 +01:00
2008-08-01 20:42:05 +02:00
2008-08-01 20:42:05 +02:00
2008-08-01 20:42:05 +02:00
2008-12-25 13:39:06 +01:00
2009-06-12 10:27:39 +02:00
2008-08-01 20:42:05 +02:00
2009-09-11 10:29:48 +02:00
2010-08-24 09:26:34 +02:00
2009-03-26 15:24:05 +01:00
2008-08-01 20:42:05 +02:00
2008-08-01 20:42:05 +02:00
2010-08-10 13:47:39 -07:00
2008-08-01 20:42:05 +02:00
2009-09-11 10:29:46 +02:00
2008-08-01 20:42:05 +02:00
2008-08-01 20:42:05 +02:00
2010-02-26 22:37:30 +01:00
2008-12-25 13:38:57 +01:00
2008-08-01 20:42:05 +02:00
2010-08-14 22:26:51 +02:00
2008-08-01 20:42:05 +02:00
2008-08-15 08:35:42 -07:00
2009-06-16 19:47:51 -07:00
2008-08-01 20:42:05 +02:00
2010-08-01 10:47:30 +03:00
2009-09-10 10:46:48 +03:00
2009-09-11 10:29:52 +02:00
2009-12-03 09:32:25 +02:00
2008-08-01 20:42:05 +02:00
2010-06-09 11:12:36 +02:00
2008-08-01 20:42:05 +02:00
2010-05-17 10:00:15 +02:00
2008-08-01 20:42:05 +02:00
2009-09-22 07:17:42 -07:00
2010-08-24 09:26:34 +02:00
2010-08-24 09:26:34 +02:00
2008-08-01 20:42:05 +02:00
2008-08-01 20:42:05 +02:00
2008-08-01 20:42:05 +02:00
2008-08-01 20:42:05 +02:00
2009-03-26 15:24:10 +01:00
2010-02-26 22:37:30 +01:00
2010-01-04 09:05:58 +01:00
2008-08-01 20:42:05 +02:00
2009-06-24 15:13:53 +09:00
2009-09-21 14:28:04 +02:00
2009-12-07 12:51:33 +01:00
2010-08-24 09:26:34 +02:00
2008-08-01 20:42:05 +02:00
2009-01-09 12:15:04 +01:00
2010-02-26 22:37:30 +01:00
2010-05-17 10:00:15 +02:00
2010-07-28 09:48:55 -05:00
2009-01-09 12:15:06 +01:00
2008-08-01 20:42:05 +02:00
2008-08-01 20:42:05 +02:00
2010-02-26 22:37:30 +01:00
2008-08-01 20:42:05 +02:00
2010-08-07 18:15:50 +02:00
2009-01-09 12:15:06 +01:00
2008-08-01 20:42:05 +02:00
2009-09-11 10:29:36 +02:00
2009-06-12 10:27:31 +02:00
2008-08-01 20:42:05 +02:00
2008-08-01 20:42:05 +02:00
2008-08-01 20:42:05 +02:00
2010-05-17 10:00:15 +02:00
2008-08-01 20:42:05 +02:00
2010-05-26 08:30:15 -07:00
2008-08-01 20:42:05 +02:00
2008-08-01 20:42:05 +02:00
2008-08-01 20:42:05 +02:00
2008-08-01 20:42:05 +02:00
2009-06-11 21:01:52 +02:00
2010-02-26 22:37:31 +01:00
2010-02-26 22:37:31 +01:00
2009-10-12 13:26:31 -07:00
2009-12-07 12:51:37 +01:00
2008-08-01 20:42:05 +02:00
2009-12-14 23:55:32 +01:00
2010-02-26 22:37:30 +01:00
2008-08-01 20:42:05 +02:00
2010-08-09 16:48:44 -04:00
2009-03-26 15:24:24 +01:00
2009-06-16 10:31:22 +02:00
2010-02-26 22:37:30 +01:00
2010-02-17 13:07:21 +01:00
2010-02-26 22:37:31 +01:00
2010-05-17 10:00:15 +02:00
2008-08-01 20:42:05 +02:00
2009-12-07 12:51:37 +01:00
2009-06-11 21:01:52 +02:00
2010-05-20 09:20:59 -07:00
2009-04-14 15:37:23 +02:00
2010-05-17 10:00:17 +02:00
2010-08-24 09:26:34 +02:00
2010-08-24 09:26:34 +02:00
2010-08-09 18:12:54 +02:00
2009-06-11 21:02:14 +02:00
2010-02-26 22:37:29 +01:00
2009-10-06 10:35:10 +02:00
2008-08-01 20:42:05 +02:00
2010-08-13 10:06:54 +02:00
2008-08-01 20:42:05 +02:00
2010-04-22 17:17:19 +02:00
2009-03-26 15:24:05 +01:00
2008-08-01 20:42:05 +02:00
2008-08-01 20:42:05 +02:00