Mel Gorman
0e1cc95b4c
mm: meminit: finish initialisation of struct pages before basic setup
...
Waiman Long reported that 24TB machines hit OOM during basic setup when
struct page initialisation was deferred. One approach is to initialise
memory on demand but it interferes with page allocator paths. This patch
creates dedicated threads to initialise memory before basic setup. It
then blocks on a rw_semaphore until completion as a wait_queue and counter
is overkill. This may be slower to boot but it's simplier overall and
also gets rid of a section mangling which existed so kswapd could do the
initialisation.
[akpm@linux-foundation.org: include rwsem.h, use DECLARE_RWSEM, fix comment, remove unneeded cast]
Signed-off-by: Mel Gorman <mgorman@suse.de>
Cc: Waiman Long <waiman.long@hp.com
Cc: Nathan Zimmer <nzimmer@sgi.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Scott Norton <scott.norton@hp.com>
Tested-by: Daniel J Blueman <daniel@numascale.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-06-30 19:44:56 -07:00
..
2015-06-08 14:33:26 +03:00
2015-04-22 18:33:48 +03:00
2015-04-22 09:24:55 -07:00
2015-04-22 18:33:43 +03:00
2015-05-26 09:18:29 +05:30
2015-05-22 18:58:44 +09:00
2015-06-01 15:10:09 +02:00
2015-06-22 12:25:04 +01:00
2015-06-01 11:31:12 +01:00
2015-06-27 12:44:34 -07:00
2015-06-26 14:51:15 -07:00
2015-06-24 16:49:49 -07:00
2015-06-24 16:49:49 -07:00
2015-06-18 09:20:48 +02:00
2015-05-27 12:42:16 -07:00
2015-06-18 21:14:33 +02:00
2015-06-23 14:08:54 -07:00
2015-06-03 14:13:41 +09:00
2015-06-01 15:48:12 +02:00
2015-06-29 09:44:45 -07:00
2015-05-23 22:43:28 +02:00
2015-04-22 08:00:41 +10:00
2015-06-22 11:19:56 +01:00
2015-05-20 15:05:39 -07:00
2015-06-19 15:18:28 +02:00
2015-06-01 17:57:34 +02:00
2015-05-31 13:40:53 +02:00
2015-06-21 21:52:24 +02:00
2015-06-04 16:56:01 -04:00
2015-05-13 12:04:55 -05:00
2015-06-02 10:47:03 +09:00
2015-04-15 16:35:22 -07:00
2015-06-29 10:34:42 -07:00
2015-04-22 17:06:52 +02:00
2015-04-22 08:00:42 +10:00
2015-05-05 09:30:19 -04:00
2015-06-02 08:40:20 -06:00
2015-06-25 16:00:17 -07:00
2015-06-23 15:47:35 +01:00
2015-05-11 11:49:02 +02:00
2015-06-21 21:55:33 +02:00
2015-06-02 08:33:34 -06:00
2015-04-17 09:03:56 -04:00
2015-04-17 09:03:53 -04:00
2015-06-26 10:11:58 -04:00
2015-06-25 16:00:17 -07:00
2015-06-01 14:35:56 -06:00
2015-06-26 12:35:01 -07:00
2015-06-24 17:49:41 -07:00
2015-05-19 08:39:11 +02:00
2015-06-15 15:53:50 -07:00
2015-06-10 23:33:58 -07:00
2015-05-24 12:31:33 -07:00
2015-04-15 16:35:22 -07:00
2015-06-18 16:54:28 -04:00
2015-06-26 19:50:04 -07:00
2015-05-06 11:58:51 +01:00
2015-05-06 11:58:57 +01:00
2015-06-02 16:56:42 +02:00
2015-05-19 16:12:32 +02:00
2015-04-15 16:35:17 -07:00
2015-06-25 17:00:38 -07:00
2015-06-25 17:00:38 -07:00
2015-06-29 10:34:42 -07:00
2015-06-24 17:49:39 -07:00
2015-05-10 19:15:52 +02:00
2015-06-25 17:00:38 -07:00
2015-05-07 12:02:50 +02:00
2015-05-07 12:02:51 +02:00
2015-05-04 21:27:52 -07:00
2015-05-23 00:49:04 +02:00
2015-06-19 01:18:02 +02:00
2015-05-28 11:05:20 +09:30
2015-05-26 15:26:43 +02:00
2015-04-15 16:35:22 -07:00
2015-06-22 15:49:30 +08:00
2015-04-15 15:05:28 -04:00
2015-05-10 22:18:24 -04:00
2015-05-20 00:25:25 -07:00
2015-05-13 14:35:57 +05:30
2015-06-25 09:21:49 +05:30
2015-05-05 13:35:39 -06:00
2015-06-12 11:33:52 +02:00
2015-06-25 09:06:57 +02:00
2015-06-29 10:34:42 -07:00
2015-06-10 08:01:20 -06:00
2015-05-05 19:24:42 -04:00
2015-06-12 17:01:42 -07:00
2015-05-28 15:41:45 -07:00
2015-05-21 17:07:59 -04:00
2015-06-24 17:49:45 -07:00
2015-06-25 16:00:17 -07:00
2015-05-31 15:51:24 +09:00
2015-06-24 17:49:38 -07:00
2015-06-30 19:44:56 -07:00
2015-05-31 11:40:14 +09:00
2015-05-12 10:46:53 +02:00
2015-05-19 08:39:11 +02:00
2015-05-12 14:13:20 +02:00
2015-06-01 14:33:35 +02:00
2015-05-19 08:39:14 +02:00
2015-06-19 15:18:28 +02:00
2015-04-24 15:36:50 +02:00
2015-04-15 16:35:19 -07:00
2015-06-01 10:56:31 +09:00
2015-04-14 20:21:54 -07:00
2015-05-05 13:40:42 -06:00
2015-05-31 13:40:53 +02:00
2015-06-15 17:23:03 -07:00
2015-06-23 06:14:04 -07:00
2015-05-11 10:50:17 -04:00
2015-06-01 16:50:52 -07:00
2015-05-04 14:49:23 -04:00
2015-06-15 19:49:22 -07:00
2015-06-24 02:15:54 -07:00
2015-06-26 19:50:04 -07:00
2015-06-23 18:27:19 -07:00
2015-04-22 17:06:52 +02:00
2015-05-19 08:39:14 +02:00
2015-06-03 12:02:00 +02:00
2015-04-18 12:32:59 -07:00
2015-06-11 09:01:55 +02:00
2015-04-15 16:35:22 -07:00
2015-06-20 19:14:31 +02:00
2015-06-16 10:10:16 +02:00
2015-05-18 17:32:43 +02:00
2015-06-15 14:36:01 -04:00
2015-06-10 11:31:14 +02:00
2015-04-15 16:35:20 -07:00
2015-04-21 09:44:55 -03:00
2015-06-26 14:02:43 -07:00
2015-06-18 16:54:28 -04:00
2015-04-23 16:52:01 +02:00
2015-06-24 17:49:46 -07:00
2015-04-15 16:35:17 -07:00
2015-05-13 10:19:35 +02:00
2015-06-05 17:26:35 +02:00
2015-05-26 12:40:17 +02:00
2015-06-19 10:03:12 +02:00
2015-06-25 16:49:21 -07:00
2015-06-26 11:23:38 -04:00
2015-05-19 23:58:43 +02:00
2015-06-24 15:09:40 -07:00
2015-06-27 13:26:03 -07:00
2015-06-11 22:19:45 +05:30
2015-05-12 09:18:16 +05:30
2015-05-28 12:21:08 +02:00
2015-05-14 22:35:13 -04:00
2015-05-24 11:15:54 -07:00
2015-06-30 19:44:55 -07:00
2015-06-25 16:00:17 -07:00
2015-04-15 16:35:18 -07:00
2015-05-12 10:39:26 -04:00
2015-06-24 17:49:41 -07:00
2015-06-30 19:44:56 -07:00
2015-06-24 17:49:44 -07:00
2015-06-30 19:44:56 -07:00
2015-06-26 15:59:26 -07:00
2015-06-26 15:07:37 -07:00
2015-05-20 00:25:25 -07:00
2015-04-18 11:20:31 -04:00
2015-06-16 14:35:06 +08:00
2015-05-15 01:10:45 -04:00
2015-06-25 04:20:04 -04:00
2015-05-11 10:50:17 -04:00
2015-05-12 18:43:55 -04:00
2015-06-15 17:23:03 -07:00
2015-06-12 14:16:46 +02:00
2015-06-18 21:14:31 +02:00
2015-05-14 01:10:05 -04:00
2015-06-12 14:10:12 +02:00
2015-06-18 21:14:31 +02:00
2015-05-09 22:15:31 -04:00
2015-04-21 16:16:04 -04:00
2015-04-26 17:33:59 -07:00
2015-04-23 14:36:28 -04:00
2015-05-05 17:10:11 -07:00
2015-06-24 17:49:40 -07:00
2015-06-05 10:58:34 -06:00
2015-05-09 17:11:25 +05:30
2015-06-02 16:31:25 +01:00
2015-06-24 11:18:48 +10:00
2015-05-26 19:55:56 -07:00
2015-06-24 17:49:43 -07:00
2015-05-08 12:27:59 +02:00
2015-04-15 16:35:19 -07:00
2015-06-02 08:33:33 -06:00
2015-06-01 07:08:18 +09:00
2015-06-24 16:49:49 -07:00
2015-06-12 15:26:45 -05:00
2015-05-29 07:39:34 +10:00
2015-06-26 14:02:43 -07:00
2015-05-27 00:27:35 -04:00
2015-05-12 23:55:37 +02:00
2015-05-30 02:17:15 +02:00
2015-05-20 01:56:31 +02:00
2015-06-19 01:18:14 +02:00
2015-06-29 10:34:42 -07:00
2015-06-10 16:15:54 +02:00
2015-06-07 15:57:43 +02:00
2015-06-25 17:00:38 -07:00
2015-06-15 14:40:49 +02:00
2015-06-12 11:36:30 +02:00
2015-06-05 11:40:45 +01:00
2015-05-28 10:47:45 -05:00
2015-06-10 19:14:04 +08:00
2015-05-27 12:58:04 -07:00
2015-06-22 18:57:44 -07:00
2015-05-27 12:59:31 -07:00
2015-06-22 18:57:44 -07:00
2015-04-15 16:35:23 -07:00
2015-05-22 12:19:21 +01:00
2015-05-16 18:08:26 -04:00
2015-05-26 15:23:23 +02:00
2015-04-15 16:35:19 -07:00
2015-06-25 01:13:43 +02:00
2015-06-23 06:56:18 -07:00
2015-06-25 15:22:36 -07:00
2015-06-27 13:26:03 -07:00
2015-05-24 12:13:36 -07:00
2015-06-27 13:26:03 -07:00
2015-06-19 00:09:56 +02:00
2015-05-31 16:21:38 +09:00
2015-05-06 22:27:00 +02:00
2015-05-10 19:06:38 +02:00
2015-06-15 14:30:32 -07:00
2015-06-29 10:49:51 -07:00
2015-04-20 09:08:49 -07:00
2015-06-24 17:49:40 -07:00
2015-06-15 19:49:22 -07:00
2015-05-27 12:57:27 -07:00
2015-06-25 17:00:38 -07:00
2015-05-30 17:04:36 -07:00
2015-04-16 19:02:04 -04:00
2015-06-25 17:00:40 -07:00
2015-05-11 15:06:43 +08:00
2015-05-19 09:19:59 -06:00
2015-06-26 14:02:43 -07:00
2015-04-17 09:04:07 -04:00
2015-06-25 17:00:39 -07:00
2015-05-23 01:22:35 -04:00
2015-05-11 19:46:52 -07:00
2015-06-23 14:18:07 -07:00
2015-06-12 11:15:49 +02:00
2015-06-12 11:15:49 +02:00
2015-05-22 10:36:29 -07:00
2015-06-19 15:18:28 +02:00
2015-04-22 17:06:49 +02:00
2015-05-27 15:22:15 +02:00
2015-05-13 15:25:39 -04:00
2015-05-18 14:08:58 -07:00
2015-05-29 17:21:45 -05:00
2015-06-15 16:02:52 -07:00
2015-05-19 08:39:18 +02:00
2015-05-14 17:55:51 -07:00
2015-04-28 12:48:57 +02:00
2015-05-05 17:10:11 -07:00
2015-04-14 18:06:47 -07:00
2015-04-15 12:41:14 +09:30
2015-06-12 17:26:57 -07:00
2015-06-29 11:10:56 -07:00
2015-05-21 17:26:22 -04:00
2015-06-02 08:40:20 -06:00
2015-06-25 17:00:37 -07:00
2015-04-15 16:35:20 -07:00