David Rientjes
d773ed6b85
mm: test and set zone reclaim lock before starting reclaim
...
Introduces new zone flag interface for testing and setting flags:
int zone_test_and_set_flag(struct zone *zone, zone_flags_t flag)
Instead of setting and clearing ZONE_RECLAIM_LOCKED each time shrink_zone() is
called, this flag is test and set before starting zone reclaim. Zone reclaim
starts in __alloc_pages() when a zone's watermark fails and the system is in
zone_reclaim_mode. If it's already in reclaim, there's no need to start again
so it is simply considered full for that allocation attempt.
There is a change of behavior with regard to concurrent zone shrinking. It is
now possible for try_to_free_pages() or kswapd to already be shrinking a
particular zone when __alloc_pages() starts zone reclaim. In this case, it is
possible for two concurrent threads to invoke shrink_zone() for a single zone.
This change forbids a zone to be in zone reclaim twice, which was always the
behavior, but allows for concurrent try_to_free_pages() or kswapd shrinking
when starting zone reclaim.
Cc: Andrea Arcangeli <andrea@suse.de >
Cc: Christoph Lameter <clameter@sgi.com >
Signed-off-by: David Rientjes <rientjes@google.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2007-10-17 08:42:46 -07:00
..
2007-10-09 19:59:16 -07:00
2007-09-24 07:15:48 +02:00
2007-10-13 14:36:18 +01:00
2007-10-15 12:26:29 -07:00
2007-10-15 12:26:29 -07:00
2007-10-15 12:26:29 -07:00
2007-10-15 12:26:29 -07:00
2007-10-15 12:26:29 -07:00
2007-10-16 09:43:10 -07:00
2007-10-16 10:13:38 -07:00
2007-10-10 16:51:36 -07:00
2007-10-15 10:47:35 -07:00
2007-10-10 16:53:11 -07:00
2007-10-15 17:56:36 -07:00
2007-10-14 12:41:51 -07:00
2007-10-10 16:51:59 -07:00
2007-10-12 14:55:45 -04:00
2007-10-10 16:49:02 -07:00
2007-10-17 08:42:45 -07:00
2007-10-11 22:24:13 +01:00
2007-10-16 11:03:56 +02:00
2007-10-16 09:43:09 -07:00
2007-10-16 11:05:02 +02:00
2007-10-12 12:50:07 +02:00
2007-10-16 09:42:58 -07:00
2007-10-14 22:57:45 +02:00
2007-10-16 09:43:13 -07:00
2007-10-16 09:43:20 -07:00
2007-10-16 09:43:20 -07:00
2007-10-04 18:40:57 -04:00
2007-10-17 08:42:46 -07:00
2007-10-10 16:55:42 -07:00
2007-10-16 09:43:09 -07:00
2007-10-10 16:54:36 -07:00
2007-10-12 14:51:03 -07:00
2007-10-12 14:51:01 -07:00
2007-10-16 09:42:50 -07:00
2007-10-09 20:22:20 -04:00
2007-10-10 16:53:56 -07:00
2007-10-17 08:42:44 -07:00
2007-10-10 16:52:52 -07:00
2007-10-10 16:48:08 -07:00
2007-10-16 09:43:22 -07:00
2007-10-17 00:00:08 +02:00
2007-10-10 16:54:03 -07:00
2007-10-16 09:42:58 -07:00
2007-10-16 09:43:00 -07:00
2007-10-10 08:55:27 +01:00
2007-09-26 00:01:17 -04:00
2007-10-14 12:41:51 -07:00
2007-10-15 08:12:00 -07:00
2007-10-15 08:12:00 -07:00
2007-10-16 09:43:02 -07:00
2007-10-09 22:56:30 -04:00
2007-10-13 23:56:32 +02:00
2007-10-16 15:58:19 +02:00
2007-10-13 23:56:33 +02:00
2007-10-16 11:21:00 +02:00
2007-10-16 22:29:58 +02:00
2007-10-10 16:52:59 -07:00
2007-10-10 16:51:59 -07:00
2007-10-15 12:26:29 -07:00
2007-10-10 16:51:16 -07:00
2007-10-10 16:52:52 -07:00
2007-10-10 16:49:13 -07:00
2007-10-10 16:52:04 -07:00
2007-10-10 16:52:52 -07:00
2007-10-10 16:51:16 -07:00
2007-10-10 16:49:10 -07:00
2007-10-14 12:41:52 -07:00
2007-10-17 08:42:45 -07:00
2007-10-16 09:42:49 -07:00
2007-10-15 13:41:39 -07:00
2007-10-16 09:42:50 -07:00
2007-10-16 09:43:01 -07:00
2007-10-10 16:55:55 -07:00
2007-10-16 09:43:10 -07:00
2007-10-09 22:07:28 -03:00
2007-10-09 22:07:23 -03:00
2007-10-15 17:56:36 -07:00
2007-10-16 09:42:49 -07:00
2007-10-17 08:42:46 -07:00
2007-10-15 17:00:19 +02:00
2007-10-16 09:43:02 -07:00
2007-10-12 21:27:47 -04:00
2007-10-12 14:51:12 -07:00
2007-10-16 09:43:10 -07:00
2007-10-10 16:48:12 -07:00
2007-10-13 10:18:29 +02:00
2007-10-16 11:14:12 +02:00
2007-10-10 16:51:35 -07:00
2007-10-11 22:11:12 +02:00
2007-09-21 15:55:55 +09:00
2007-10-10 16:54:03 -07:00
2007-10-16 09:43:02 -07:00
2007-10-16 09:43:03 -07:00
2007-10-16 09:43:01 -07:00
2007-10-16 09:43:03 -07:00
2007-10-17 08:42:46 -07:00
2007-10-13 23:56:29 +02:00
2007-10-11 22:11:12 +02:00
2007-10-17 08:42:44 -07:00
2007-10-10 16:49:07 -07:00
2007-10-13 09:52:26 -07:00
2007-10-15 12:26:29 -07:00
2007-10-15 12:26:29 -07:00
2007-10-10 21:15:29 -07:00
2007-10-10 16:48:06 -07:00
2007-10-09 17:20:52 -04:00
2007-10-09 17:15:11 -04:00
2007-10-09 17:19:15 -04:00
2007-10-10 16:52:14 -07:00
2007-10-16 09:42:58 -07:00
2007-10-10 16:49:04 -07:00
2007-10-17 08:42:46 -07:00
2007-10-16 09:43:02 -07:00
2007-10-16 09:43:02 -07:00
2007-10-16 09:42:55 -07:00
2007-10-16 09:43:09 -07:00
2007-10-12 15:03:18 -07:00
2007-10-12 15:03:18 -07:00
2007-10-17 08:42:44 -07:00
2007-10-10 16:53:50 -07:00
2007-10-10 16:53:55 -07:00
2007-10-10 16:49:20 -07:00
2007-10-12 14:51:07 -07:00
2007-10-10 16:49:22 -07:00
2007-10-17 08:42:45 -07:00
2007-10-16 09:42:53 -07:00
2007-10-11 22:11:12 +02:00
2007-10-14 12:41:52 -07:00
2007-10-10 16:54:11 -07:00
2007-10-10 21:22:05 -07:00
2007-10-16 11:08:51 +02:00
2007-10-17 08:42:45 -07:00
2007-10-10 16:51:28 -07:00
2007-10-14 12:41:51 -07:00
2007-10-17 08:59:31 +10:00
2007-10-16 09:43:17 -07:00
2007-10-10 16:55:33 -07:00
2007-10-16 09:42:50 -07:00
2007-09-20 13:19:59 -07:00
2007-10-15 14:06:58 -07:00
2007-10-17 08:42:45 -07:00
2007-10-17 08:42:45 -07:00
2007-10-16 09:43:14 -07:00
2007-10-10 16:52:39 -07:00
2007-10-14 12:41:51 -07:00
2007-10-17 08:42:45 -07:00
2007-10-12 14:51:12 -07:00
2007-10-15 12:59:43 -07:00
2007-10-15 17:00:19 +02:00
2007-10-12 14:51:09 -07:00
2007-10-12 14:55:34 -07:00
2007-09-19 11:24:18 -07:00
2007-10-12 14:51:04 -07:00
2007-10-09 22:07:04 -03:00
2007-10-17 08:42:45 -07:00
2007-10-12 14:05:17 +10:00
2007-10-10 16:53:57 -07:00