Vlastimil Babka
45816682b2
mm, mempolicy: stop adjusting current->il_next in mpol_rebind_nodemask()
...
The task->il_next variable stores the next allocation node id for task's
MPOL_INTERLEAVE policy. mpol_rebind_nodemask() updates interleave and
bind mempolicies due to changing cpuset mems. Currently it also tries
to make sure that current->il_next is valid within the updated nodemask.
This is bogus, because 1) we are updating potentially any task's
mempolicy, not just current, and 2) we might be updating a per-vma
mempolicy, not task one.
The interleave_nodes() function that uses il_next can cope fine with the
value not being within the currently allowed nodes, so this hasn't
manifested as an actual issue.
We can remove the need for updating il_next completely by changing it to
il_prev and store the node id of the previous interleave allocation
instead of the next id. Then interleave_nodes() can calculate the next
id using the current nodemask and also store it as il_prev, except when
querying the next node via do_get_mempolicy().
Link: http://lkml.kernel.org/r/20170517081140.30654-3-vbabka@suse.cz
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Reviewed-by: Christoph Lameter <cl@linux.com>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Anshuman Khandual <khandual@linux.vnet.ibm.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Dimitri Sivanich <sivanich@sgi.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Li Zefan <lizefan@huawei.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Michal Hocko <mhocko@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-07-06 16:24:34 -07:00
..
2017-05-04 16:08:52 +05:30
2017-06-01 14:26:23 -07:00
2017-05-08 17:15:13 -07:00
2017-04-25 09:04:29 +02:00
2017-05-23 20:32:10 +02:00
2017-04-12 18:51:01 +02:00
2017-02-20 12:16:11 +01:00
2017-01-25 11:51:39 +05:30
2017-01-09 10:04:09 +09:00
2017-03-23 12:22:32 -07:00
2017-04-08 17:45:28 +02:00
2017-05-22 10:39:11 +02:00
2017-07-04 11:48:27 -07:00
2017-07-03 20:55:59 -07:00
2017-04-05 08:52:33 -07:00
2017-05-24 09:44:07 +02:00
2017-04-21 10:45:01 -04:00
2017-03-28 23:33:30 +05:30
2017-07-04 11:55:21 -07:00
2017-06-04 23:10:05 -04:00
2017-07-03 03:42:10 -07:00
2017-06-20 10:30:49 +02:00
2017-05-18 11:03:08 -06:00
2017-06-03 19:29:26 +09:00
2017-06-19 19:38:24 +02:00
2017-06-19 19:09:19 +02:00
2017-04-11 16:29:54 +01:00
2017-06-01 15:28:27 +05:30
2017-05-22 10:39:10 +02:00
2017-07-05 12:31:59 -07:00
2017-06-08 17:57:38 +02:00
2017-07-03 01:43:45 -07:00
2017-05-17 10:49:25 +01:00
2017-03-28 17:58:07 -07:00
2017-07-05 14:10:19 -07:00
2017-06-29 17:34:57 +02:00
2017-07-03 16:21:10 +01:00
2017-07-05 12:31:59 -07:00
2017-07-05 12:31:59 -07:00
2017-06-15 11:41:37 +01:00
2017-06-08 09:03:33 +02:00
2016-12-22 22:58:37 -05:00
2017-06-03 19:10:09 +09:00
2017-02-08 14:54:12 +00:00
2017-02-16 10:08:41 +05:30
2017-06-05 15:29:22 -04:00
2017-07-04 22:35:16 +01:00
2016-12-15 12:13:31 +00:00
2017-03-30 09:35:54 +02:00
2017-05-02 10:16:05 -04:00
2017-03-02 08:32:46 +01:00
2017-04-20 12:09:55 -06:00
2017-06-20 15:42:32 -04:00
2017-06-08 18:52:36 -07:00
2017-03-03 01:45:23 +01:00
2017-07-03 10:34:51 -07:00
2017-02-10 15:52:24 -05:00
2017-06-27 12:05:27 -06:00
2017-06-20 15:42:32 -04:00
2017-02-27 20:54:05 +02:00
2017-07-03 13:08:04 -07:00
2017-06-27 12:13:45 -06:00
2017-02-02 10:20:16 -07:00
2017-07-06 16:24:33 -07:00
2017-01-25 13:17:47 -05:00
2017-07-01 16:15:13 -07:00
2017-06-23 14:04:11 -04:00
2017-07-01 16:15:13 -07:00
2017-07-03 02:22:52 -07:00
2017-03-13 21:51:49 -07:00
2017-01-27 15:08:35 -07:00
2017-04-26 23:54:06 -04:00
2017-03-30 09:37:20 +02:00
2016-12-22 09:25:45 -08:00
2017-04-05 21:57:07 +08:00
2017-03-21 06:44:32 +01:00
2017-02-14 08:29:56 -07:00
2017-01-10 11:14:27 -05:00
2017-01-10 11:14:27 -05:00
2017-06-28 14:45:21 -04:00
2017-05-24 12:43:30 -04:00
2017-06-05 16:59:12 +02:00
2017-04-02 14:31:49 -06:00
2017-06-12 10:54:47 +02:00
2017-07-03 16:14:51 -07:00
2017-04-18 20:41:12 +02:00
2017-04-20 12:09:55 -06:00
2017-06-25 21:58:46 -04:00
2017-07-06 16:24:29 -07:00
2017-07-06 16:24:29 -07:00
2017-07-05 11:46:59 -07:00
2017-06-12 13:20:20 +02:00
2017-04-18 18:01:52 +02:00
2017-01-14 19:32:40 -05:00
2017-06-09 11:45:25 +02:00
2017-06-22 15:43:47 +01:00
2017-05-26 10:10:46 +02:00
2017-06-27 01:47:32 +02:00
2017-07-03 18:08:06 -07:00
2017-01-31 08:32:13 +11:00
2017-05-23 10:01:32 +02:00
2017-04-11 08:57:54 +09:00
2017-05-08 17:15:11 -07:00
2017-06-09 11:52:07 +02:00
2017-05-18 10:30:19 -06:00
2017-04-10 19:17:27 +08:00
2017-03-24 22:02:56 +08:00
2017-05-13 17:52:16 -07:00
2017-03-02 08:42:24 +01:00
2017-03-07 14:15:27 -08:00
2017-05-16 08:44:22 -03:00
2017-01-20 14:32:39 -08:00
2017-03-03 01:45:28 +01:00
2017-03-06 22:06:59 +01:00
2017-05-05 15:54:45 +08:00
2017-04-12 12:42:14 +09:00
2017-06-09 09:27:32 -06:00
2017-07-03 20:27:48 -07:00
2017-04-26 23:57:53 +02:00
2017-04-20 13:47:46 +05:30
2017-02-24 17:46:55 -08:00
2017-03-17 23:51:36 +05:30
2017-04-18 11:42:36 -07:00
2017-05-30 11:25:45 +02:00
2017-04-20 16:31:06 +02:00
2017-01-31 09:03:20 +05:30
2017-03-02 08:42:38 +01:00
2017-06-15 13:46:00 +02:00
2016-12-25 11:04:12 +01:00
2017-04-10 17:15:02 +02:00
2017-04-05 12:27:25 +02:00
2017-06-05 17:50:41 +02:00
2017-06-18 10:08:55 -06:00
2017-05-08 17:15:11 -07:00
2017-03-02 08:42:36 +01:00
2017-03-21 18:44:17 -07:00
2017-03-12 23:54:07 -07:00
2017-03-09 16:39:58 -08:00
2017-06-20 12:18:27 +02:00
2017-02-03 08:28:25 -08:00
2017-04-04 11:22:42 +09:00
2017-05-03 10:04:56 -07:00
2017-03-03 01:45:28 +01:00
2017-04-27 05:13:04 -04:00
2017-07-06 16:24:30 -07:00
2017-03-29 14:50:21 -06:00
2017-03-01 20:32:25 +01:00
2017-07-05 14:35:57 -07:00
2017-01-31 13:23:09 -05:00
2017-04-30 01:26:34 -04:00
2017-05-04 11:44:37 -04:00
2017-05-04 11:44:41 -04:00
2017-06-09 11:52:08 +02:00
2017-02-06 08:54:01 +01:00
2017-02-20 13:51:07 +01:00
2017-04-10 17:37:36 +02:00
2017-05-08 17:15:13 -07:00
2016-12-25 17:21:22 +01:00
2017-03-29 00:00:29 +02:00
2017-06-05 16:59:10 +02:00
2017-06-02 15:07:37 -07:00
2017-06-30 13:49:53 -07:00
2017-03-21 10:15:47 +02:00
2017-05-16 19:44:01 +01:00
2017-05-16 19:44:01 +01:00
Merge branches 'for-4.11/upstream-fixes', 'for-4.12/accutouch', 'for-4.12/cp2112', 'for-4.12/hid-core-null-state-handling', 'for-4.12/hiddev', 'for-4.12/i2c-hid', 'for-4.12/innomedia', 'for-4.12/logitech-hidpp-battery-power-supply', 'for-4.12/multitouch', 'for-4.12/nti', 'for-4.12/upstream' and 'for-4.12/wacom' into for-linus
2017-05-02 11:01:10 +02:00
2017-03-21 15:24:01 +01:00
2017-04-05 18:11:48 +02:00
2017-06-30 04:14:14 -04:00
2017-07-06 16:24:31 -07:00
2017-07-06 16:24:34 -07:00
2017-04-02 07:01:53 -07:00
2017-05-04 19:15:35 -07:00
2017-05-03 12:38:20 -07:00
2017-06-09 09:27:32 -06:00
2017-02-13 21:44:03 -05:00
2017-06-30 09:47:24 +03:00
2017-05-26 15:18:44 -04:00
2017-01-27 11:32:26 -05:00
2017-02-11 20:59:41 -05:00
2017-05-18 10:07:41 -04:00
2017-06-02 10:20:49 -04:00
2017-05-18 10:07:40 -04:00
2017-06-16 11:48:40 -04:00
2017-07-01 07:39:08 -07:00
2017-06-21 14:37:12 -04:00
2017-04-04 09:48:23 -06:00
2017-07-01 07:39:08 -07:00
2017-05-03 08:50:52 -07:00
2017-03-24 20:51:49 -04:00
2017-03-22 15:42:17 +01:00
2017-06-24 11:44:39 +02:00
2017-04-19 13:58:51 -05:00
2017-06-20 07:12:03 -06:00
2017-05-04 18:06:17 +02:00
2017-02-24 17:46:56 -08:00
2017-03-23 00:06:17 +01:00
2017-05-08 17:15:12 -07:00
2017-01-05 15:01:55 -06:00
2017-03-22 14:20:54 -07:00
2017-06-22 18:21:25 +02:00
2017-06-22 18:21:13 +02:00
2017-06-22 18:29:34 +02:00
2016-12-24 11:46:01 -08:00
2017-05-03 15:52:09 -07:00
2017-06-02 15:07:37 -07:00
2017-01-12 14:33:16 +01:00
2017-03-07 09:37:28 -08:00
2017-03-31 17:13:30 -07:00
2017-04-23 15:51:26 +09:00
2017-02-27 18:43:47 -08:00
2016-12-14 16:04:08 -08:00
2017-02-01 09:13:58 +01:00
2017-05-23 10:01:38 +02:00
2016-12-27 14:49:03 -05:00
2017-05-08 17:15:11 -07:00
2017-04-04 14:10:11 -07:00
2017-07-03 21:13:25 -07:00
2017-03-02 08:42:28 +01:00
2017-01-19 12:45:33 +01:00
2017-05-25 18:30:51 +02:00
2017-05-17 21:50:27 -04:00
2017-05-08 17:15:14 -07:00
2017-05-03 15:52:10 -07:00
2017-06-26 10:39:40 +02:00
2017-05-10 11:29:23 -07:00
2017-06-20 12:18:27 +02:00
2017-04-19 20:27:50 +02:00
2017-03-08 21:10:01 +01:00
2017-06-05 15:29:22 -04:00
2017-05-04 14:01:24 -07:00
2017-04-16 10:06:25 -06:00
2017-03-09 13:27:17 -08:00
2017-02-03 16:35:42 -05:00
2017-03-08 09:38:43 +01:00
2017-05-23 10:01:33 +02:00
2017-03-16 09:57:07 +01:00
2017-03-02 12:17:22 -08:00
2017-05-23 12:28:02 -04:00
2017-07-05 11:26:35 -07:00
2017-02-24 17:46:57 -08:00
2017-02-02 22:05:28 -05:00
2017-01-14 11:31:50 +01:00
2017-01-04 13:22:38 -07:00
2017-02-07 10:51:46 -05:00
2017-06-02 15:07:38 -07:00
2017-05-03 15:52:11 -07:00
2017-07-06 16:24:32 -07:00
2017-02-24 17:46:56 -08:00
2017-01-24 12:23:35 -05:00
2017-05-31 20:56:31 -04:00
2017-05-03 15:52:10 -07:00
2017-06-05 11:00:42 -04:00
2017-05-18 16:59:06 +02:00
2017-06-16 11:48:37 -04:00
2017-02-24 17:46:54 -08:00
2017-05-24 10:18:27 +02:00
2017-03-13 14:59:22 +01:00
2017-06-19 21:50:20 +08:00
2017-06-20 15:42:32 -04:00
2017-04-13 18:24:21 -07:00
2017-07-06 16:24:32 -07:00
2017-05-23 10:04:41 +02:00
2017-05-03 19:12:27 -07:00
2017-07-02 15:37:23 -07:00
2017-02-02 04:36:12 +13:00
2017-04-24 14:30:46 -04:00
2017-01-18 15:43:59 -05:00
2017-01-12 16:48:26 -05:00
2017-02-23 11:53:22 -08:00
2017-05-16 08:43:25 -03:00
2017-04-21 14:05:36 -04:00
2017-05-10 21:46:22 -07:00
2017-04-17 13:01:48 -04:00
2017-04-14 10:05:36 +02:00
2017-07-05 12:31:59 -07:00
2017-05-30 11:55:32 -04:00
2017-07-01 07:39:08 -07:00
2017-01-24 12:50:47 -05:00
2017-05-10 13:03:38 -07:00
2017-04-26 13:03:04 -04:00
2017-04-21 10:45:01 -04:00
2017-05-08 19:01:06 -04:00
2017-03-03 01:43:38 +01:00
2017-07-06 16:24:32 -07:00
2016-12-24 11:23:24 -08:00
2017-05-20 10:11:34 -06:00
2017-06-05 16:59:16 +02:00
2017-02-22 13:34:00 -07:00
2017-06-28 08:14:13 -06:00
2017-05-09 15:15:47 -07:00
2017-05-09 22:55:58 +10:00
2017-04-07 12:23:29 +02:00
2017-02-15 08:53:32 -06:00
2017-02-10 14:54:37 +01:00
2017-05-11 10:26:22 -05:00
2017-06-13 14:00:16 -04:00
2017-03-14 15:10:11 -05:00
2017-05-22 18:01:46 +02:00
2017-05-05 11:36:44 -07:00
2017-02-28 09:08:33 -08:00
2017-03-02 08:42:29 +01:00
2017-05-26 10:10:37 +02:00
2017-07-06 16:24:31 -07:00
2017-05-08 17:15:10 -07:00
2017-06-20 12:18:27 +02:00
2017-02-03 16:35:42 -05:00
2017-04-28 10:23:19 -05:00
2017-06-07 12:20:49 +02:00
2017-04-18 14:21:04 -05:00
2017-04-11 14:18:36 -05:00
2017-04-11 14:18:37 -05:00
2017-04-11 14:18:37 -05:00
2017-07-04 13:39:41 -07:00
2017-04-04 17:49:49 +01:00
2017-06-20 15:42:32 -04:00
2017-03-22 19:18:43 -07:00
2017-01-14 11:14:35 +01:00
2017-03-16 09:57:08 +01:00
2017-07-05 12:31:59 -07:00
2017-03-02 08:42:36 +01:00
2017-02-24 17:46:54 -08:00
2017-01-25 14:40:19 -05:00
2017-07-03 02:01:15 -07:00
2017-02-24 17:46:56 -08:00
2017-03-02 08:42:38 +01:00
2017-06-13 15:15:08 +02:00
2017-06-24 01:41:55 +02:00
2017-03-03 00:43:11 +01:00
2017-06-28 01:52:52 +02:00
2017-05-05 22:54:28 +02:00
2017-06-28 01:52:52 +02:00
2017-06-11 17:08:19 -07:00
2017-04-25 13:20:46 -07:00
2017-01-14 11:14:53 +01:00
2017-06-20 12:18:27 +02:00
2017-06-04 15:40:22 +02:00
2017-06-25 21:58:46 -04:00
2017-06-08 16:29:28 +02:00
2017-03-03 01:43:47 +01:00
2016-12-27 12:30:56 +01:00
2017-05-08 17:15:11 -07:00
2016-12-13 16:07:55 -08:00
2017-05-08 17:15:12 -07:00
2017-03-29 00:00:29 +02:00
2017-05-31 10:13:44 -07:00
2016-12-12 19:56:15 -08:00
2017-05-18 10:07:40 -04:00
2017-07-03 15:12:52 -07:00
2017-03-10 20:55:09 +01:00
2017-01-30 09:36:42 +01:00
2017-06-06 20:01:15 +01:00
2017-03-28 16:03:21 -05:00
2016-12-19 08:23:53 -08:00
2017-05-24 18:24:07 -04:00
2017-02-13 21:44:09 -05:00
2017-01-27 14:25:06 -05:00
2017-06-29 10:48:57 +01:00
2016-12-20 09:48:47 -08:00
2017-02-24 17:46:57 -08:00
2017-06-08 18:52:26 -07:00
2017-06-08 18:52:26 -07:00
2017-03-09 13:27:17 -08:00
2017-04-19 09:29:18 -07:00
2017-03-02 08:42:24 +01:00
2017-06-08 18:52:40 -07:00
2017-06-08 18:52:40 -07:00
2017-06-08 18:52:40 -07:00
2017-02-01 09:17:51 +01:00
2017-06-08 18:18:19 +02:00
2017-07-02 11:24:36 +02:00
2017-07-03 16:20:28 +01:00
2017-01-30 14:18:54 -08:00
2017-02-26 22:43:44 +01:00
2017-04-04 17:36:10 +02:00
2017-05-21 13:11:00 -04:00
2017-06-14 00:00:42 +02:00
2017-05-01 16:22:40 -04:00
2017-05-01 10:26:40 -04:00
2017-05-03 15:52:10 -07:00
2017-05-03 15:52:09 -07:00
2017-01-18 10:43:15 -08:00
2017-06-08 10:35:49 +02:00
2017-05-27 18:51:41 -04:00
2017-06-07 17:15:46 +01:00
2017-04-14 14:06:52 -06:00
2017-06-15 14:30:14 +02:00
2017-07-06 16:24:34 -07:00
2017-06-05 11:14:35 +01:00
2017-07-01 09:08:42 -07:00
2017-06-23 11:55:57 +10:00
2017-02-23 11:55:41 -07:00
2017-05-08 17:15:12 -07:00
2017-05-18 17:38:24 +02:00
2017-05-18 16:19:16 +02:00
2017-01-19 14:17:05 +01:00
2017-03-25 10:37:26 -07:00
2017-07-06 16:24:30 -07:00
2017-02-24 17:46:56 -08:00
2017-03-03 01:43:48 +01:00
2017-06-04 15:11:46 +02:00
2017-03-02 08:42:29 +01:00
2017-01-09 13:58:57 -05:00
2017-05-18 10:07:40 -04:00
2017-07-05 12:31:59 -07:00
2017-04-18 11:42:36 -07:00
2017-07-06 16:24:30 -07:00
2017-03-26 15:09:45 +02:00
2017-03-23 17:01:02 -07:00
2017-06-15 12:12:40 -04:00
2017-01-12 09:33:39 +01:00
2017-01-12 09:33:39 +01:00
2017-06-08 08:25:29 -07:00
2016-12-26 23:53:46 -05:00
2017-05-18 17:37:52 +02:00
2017-06-08 18:52:42 -07:00
2017-06-08 18:52:35 -07:00
2017-06-08 18:52:38 -07:00
2017-03-08 09:18:02 +01:00
2017-04-03 01:06:00 -04:00
2017-06-01 14:53:04 -04:00
2017-05-26 10:10:36 +02:00
2017-05-05 18:49:20 -07:00
2017-06-09 11:00:46 +02:00
2017-06-15 00:55:44 +02:00
2017-07-06 16:24:31 -07:00
2017-02-22 16:41:30 -08:00
2017-07-06 16:24:31 -07:00
2017-01-06 13:00:01 -05:00
2017-03-02 20:51:15 -05:00
2017-04-16 23:42:49 -05:00
2017-05-25 18:30:51 +02:00
2017-03-24 20:34:39 -06:00
2017-03-02 08:42:29 +01:00
2017-05-17 16:06:01 -04:00
2017-03-09 15:42:33 +01:00
2017-01-04 12:47:28 +08:00
2017-05-02 10:45:15 -07:00
2017-03-23 02:12:14 +01:00
2017-06-25 21:58:46 -04:00
2016-12-25 11:04:12 +01:00
2017-06-20 22:13:59 -07:00
2017-04-14 21:49:55 +02:00
2017-03-03 01:45:39 +01:00
2017-01-10 18:31:55 -08:00
2017-06-01 12:55:58 +08:00
2017-04-03 22:46:02 +03:00
2017-03-24 20:51:50 -04:00
2017-04-10 15:22:17 -04:00
2017-07-03 20:04:16 -07:00
2017-04-19 09:29:17 -07:00
2017-05-08 17:15:14 -07:00
2017-05-16 15:41:29 -04:00
2017-04-08 18:13:27 +02:00
2017-04-02 12:10:47 -04:00
2017-04-18 16:54:19 +02:00
2017-03-06 15:26:37 -06:00
2017-03-09 17:01:10 -08:00
2017-07-05 17:09:27 -07:00
2017-06-22 16:15:45 -07:00
2017-06-20 12:18:27 +02:00
2017-05-02 23:41:43 +03:00
2017-01-20 11:01:17 -05:00
2017-05-02 23:41:43 +03:00
2017-04-24 12:35:56 -04:00
2017-05-09 16:43:22 +03:00
2017-06-08 09:23:09 +02:00
2017-03-02 08:42:25 +01:00
2017-05-12 15:57:15 -07:00
2017-03-17 15:10:49 +09:00
2017-02-03 11:49:06 +01:00
2017-01-14 09:54:13 +01:00
2017-06-09 11:54:54 +02:00
2017-06-20 12:19:14 +02:00
2017-06-20 12:19:14 +02:00
2017-02-24 14:00:23 -08:00
2017-04-15 12:20:53 +02:00
2017-03-22 20:11:33 -06:00
2017-01-14 12:11:59 +01:00