KAMEZAWA Hiroyuki
ca3e021417
memcg: fix USED bit handling at uncharge in THP
...
Now, under THP:
at charge:
- PageCgroupUsed bit is set to all page_cgroup on a hugepage.
....set to 512 pages.
at uncharge
- PageCgroupUsed bit is unset on the head page.
So, some pages will remain with "Used" bit.
This patch fixes that Used bit is set only to the head page.
Used bits for tail pages will be set at splitting if necessary.
This patch adds this lock order:
compound_lock() -> page_cgroup_move_lock().
[akpm@linux-foundation.org: fix warning]
Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
Cc: Balbir Singh <balbir@linux.vnet.ibm.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-01-20 17:02:06 -08:00
..
2010-06-20 19:46:07 -07:00
2010-10-18 15:16:08 +02:00
2011-01-13 08:03:25 -08:00
2011-01-09 09:10:10 -08:00
2011-01-13 09:58:14 -08:00
2011-01-14 12:38:18 +01:00
2011-01-12 14:37:42 +09:00
2011-01-06 15:35:50 +00:00
2011-01-14 18:11:59 +03:00
2011-01-12 14:33:05 +00:00
2010-12-26 22:37:05 -08:00
2011-01-14 13:17:26 -08:00
2008-02-06 10:41:02 -08:00
2010-03-12 15:53:10 -08:00
2008-07-01 11:28:06 +10:00
2009-03-26 18:14:14 +01:00
2010-10-22 10:20:08 -07:00
2009-09-01 01:14:07 -07:00
2005-06-21 19:07:41 -07:00
2009-09-08 17:42:50 -07:00
2009-02-08 09:56:11 -08:00
2008-03-27 14:51:39 -04:00
2010-10-21 20:21:03 -04:00
2005-04-16 15:20:36 -07:00
2010-12-10 15:45:05 -08:00
2010-11-12 07:55:30 -08:00
2009-09-15 09:50:47 -07:00
2011-01-10 08:51:44 -08:00
2009-04-01 08:59:23 -07:00
2009-01-08 08:31:12 -08:00
2010-12-06 15:58:43 -05:00
2005-04-16 15:20:36 -07:00
2010-10-26 16:52:10 -07:00
2010-03-16 19:47:54 +00:00
2008-10-20 08:52:42 -07:00
2010-11-10 14:54:09 +01:00
2011-01-07 17:50:31 +11:00
2010-05-30 09:00:03 -07:00
2010-11-15 13:27:04 -05:00
2006-04-27 16:46:56 +01:00
2010-08-07 18:26:29 +02:00
2009-01-04 13:33:20 -08:00
2010-12-13 16:11:13 -08:00
2008-11-28 12:38:38 +01:00
2005-04-16 15:20:36 -07:00
2010-06-24 21:30:09 -07:00
2010-10-25 21:18:20 -04:00
2009-06-16 19:47:48 -07:00
2010-03-03 11:25:58 +01:00
2008-01-28 14:54:10 -08:00
2010-11-29 08:35:12 +11:00
2009-01-15 16:39:41 -08:00
2011-01-13 08:03:17 -08:00
2005-04-16 15:20:36 -07:00
2010-12-16 17:53:38 +01:00
2009-12-03 19:28:51 +01:00
2010-11-01 15:38:34 -04:00
2009-12-04 15:39:55 +01:00
2010-03-24 16:31:22 -07:00
2010-03-12 19:10:29 +01:00
2010-07-27 12:40:55 +02:00
2009-09-23 07:39:29 -07:00
2010-10-25 08:02:40 -07:00
2005-04-16 15:20:36 -07:00
2009-01-23 22:28:48 -08:00
2011-01-13 17:32:46 -08:00
2010-09-14 16:08:45 -07:00
2007-10-17 08:42:47 -07:00
2011-01-05 14:15:50 +01:00
2005-04-16 15:20:36 -07:00
2008-04-30 08:29:54 -07:00
2010-08-10 13:47:42 -07:00
2010-12-16 16:15:34 -08:00
2008-06-04 14:56:12 +01:00
2008-01-30 13:32:42 +01:00
2010-12-13 23:40:45 -05:00
2010-11-10 16:57:11 -08:00
2010-08-03 13:47:04 -04:00
2010-08-19 17:18:00 -07:00
2010-05-19 22:03:14 +03:00
2009-12-02 22:07:23 -08:00
2005-04-16 15:20:36 -07:00
2009-09-10 10:00:05 -07:00
2011-01-15 20:07:47 -05:00
2010-12-07 13:47:12 +01:00
2010-08-17 09:11:10 +02:00
2010-05-10 16:08:01 -07:00
2010-08-04 11:00:45 +02:00
2010-03-30 22:02:32 +09:00
2011-01-13 20:00:02 +00:00
2011-01-10 16:10:33 -08:00
2008-10-13 09:51:43 -07:00
2009-01-12 20:56:41 +01:00
2007-05-08 11:15:26 -07:00
2008-08-28 11:49:15 -05:00
2010-09-07 14:17:10 -05:00
2009-05-18 14:46:26 +01:00
2009-04-15 12:22:37 +02:00
2011-01-17 10:54:41 -08:00
2010-11-26 09:57:36 +01:00
2010-07-30 09:36:01 -07:00
2010-10-14 18:38:42 +02:00
2010-10-22 15:55:22 +02:00
2011-01-07 23:36:59 -05:00
2010-10-21 14:47:59 +02:00
2009-01-30 23:46:40 +05:30
2009-12-15 08:53:33 -08:00
2009-06-15 21:30:26 -07:00
2010-12-17 15:07:19 +01:00
2010-05-17 10:00:15 +02:00
2010-05-21 20:29:10 -07:00
2010-05-25 08:07:02 -07:00
2007-06-01 08:18:29 -07:00
2011-01-13 21:49:56 -08:00
2010-12-10 15:55:23 -08:00
2010-01-25 12:26:38 -02:00
2010-10-23 09:24:34 +09:00
2011-01-12 20:16:43 -05:00
2010-12-22 12:56:10 +09:00
2005-04-16 15:20:36 -07:00
2008-11-20 20:29:48 -08:00
2010-10-18 11:03:14 +02:00
2010-08-19 17:18:03 -07:00
2011-01-09 15:42:55 -08:00
2009-12-03 12:14:36 -08:00
2011-01-17 03:26:26 -05:00
2009-06-18 19:50:21 +08:00
2010-11-01 15:38:34 -04:00
2011-01-04 08:48:34 +01:00
2005-04-16 15:20:36 -07:00
2007-05-08 11:15:31 -07:00
2009-12-17 10:58:17 -05:00
2011-01-07 17:50:27 +11:00
2011-01-17 08:21:42 -05:00
2010-07-22 22:58:58 +02:00
2011-01-07 17:50:23 +11:00
2010-12-07 20:16:56 +01:00
2009-06-18 13:04:05 -07:00
2011-01-07 17:50:29 +11:00
2009-01-02 10:19:38 -08:00
2006-09-30 01:47:55 +02:00
2011-01-13 17:32:45 -08:00
2011-01-13 09:58:38 -08:00
2010-09-24 14:03:44 +02:00
2010-12-17 15:18:04 +01:00
2006-04-26 12:56:16 +01:00
2011-01-10 07:38:53 -08:00
2009-12-01 14:47:32 +08:00
2009-02-24 19:19:49 +01:00
2011-01-10 22:11:23 +01:00
2010-06-16 18:08:13 +02:00
2010-11-19 17:47:57 +08:00
2010-08-29 21:57:55 -07:00
2011-01-04 11:29:52 -08:00
2010-02-07 03:06:22 -05:00
2010-08-19 17:16:23 -07:00
2008-07-09 12:09:28 -04:00
2010-12-06 12:59:05 -08:00
2011-01-06 10:23:33 -08:00
2010-10-22 10:21:26 -07:00
2005-04-16 15:20:36 -07:00
2009-11-20 00:52:09 -08:00
2011-01-13 09:58:14 -08:00
2010-11-10 10:21:22 +01:00
2010-10-26 16:52:08 -07:00
2010-07-09 11:42:03 -07:00
2010-11-11 13:40:11 +01:00
2005-04-16 15:20:36 -07:00
2010-10-04 22:45:24 +09:00
2007-04-25 22:25:31 -07:00
2010-03-12 15:52:40 -08:00
2009-09-26 10:17:19 -07:00
2009-04-21 13:41:48 -07:00
2010-12-14 00:21:51 -05:00
2006-10-04 00:31:09 -07:00
2010-11-24 11:16:42 -08:00
2009-01-30 23:59:44 +05:30
2009-01-31 00:00:06 +05:30
2006-11-30 05:24:39 +01:00
2011-01-10 12:29:43 -05:00
2010-05-21 19:30:40 +02:00
2010-12-09 20:17:07 -08:00
2011-01-13 10:25:58 -08:00
2007-11-29 09:24:52 -08:00
2010-10-22 15:34:12 -05:00
2007-07-31 15:39:40 -07:00
2011-01-13 17:32:31 -08:00
2009-12-16 12:19:59 +01:00
2011-01-13 17:32:33 -08:00
2010-02-16 16:01:21 -08:00
2010-08-19 17:18:00 -07:00
2009-06-14 13:50:36 -07:00
2007-05-17 05:23:04 -07:00
2010-01-11 09:34:04 -08:00
2010-05-27 09:12:45 -07:00
2011-01-13 08:03:07 -08:00
2010-08-23 18:12:46 -07:00
2010-10-22 10:16:44 -07:00
2010-11-22 13:25:13 +10:00
2010-12-22 10:27:53 +01:00
2010-05-14 15:09:32 -04:00
2011-01-12 11:30:50 +02:00
2011-01-12 11:23:12 +02:00
2010-04-03 14:56:05 -07:00
2005-04-16 15:20:36 -07:00
2010-05-26 17:34:16 +01:00
2009-09-17 23:23:45 -07:00
2010-03-03 11:25:59 +01:00
2009-06-16 19:47:57 -07:00
2009-06-13 12:28:57 +02:00
2010-10-25 21:24:15 -04:00
2009-12-26 20:40:34 -08:00
2009-04-28 07:37:28 +02:00
2008-02-06 10:41:01 -08:00
2010-06-16 18:03:15 +02:00
2011-01-17 10:44:31 -06:00
2009-06-16 19:47:48 -07:00
2008-12-29 04:59:31 -08:00
2010-10-26 16:52:19 -07:00
2010-05-25 08:07:09 -07:00
2007-05-09 12:30:49 -07:00
2010-10-12 15:37:51 -07:00
2011-01-20 17:02:06 -08:00
2011-01-15 13:28:17 +02:00
2009-09-22 07:17:35 -07:00
2009-01-09 16:54:41 -08:00
2009-06-16 08:40:20 +02:00
2011-01-13 17:32:34 -08:00
2010-08-21 00:37:40 -07:00
2011-01-13 17:32:46 -08:00
2011-01-13 17:32:47 -08:00
2010-08-09 20:44:58 -07:00
2011-01-13 17:32:43 -08:00
2009-01-05 08:40:13 +10:30
2010-10-26 16:52:13 -07:00
2011-01-16 13:47:07 -05:00
2009-04-01 07:38:54 -04:00
2006-11-30 04:40:22 +01:00
2008-06-06 11:29:12 -07:00
2010-10-12 16:53:34 +02:00
2010-10-08 17:16:22 -05:00
2010-11-26 15:05:34 +01:00
2010-08-22 21:15:39 -07:00
2009-07-12 20:11:17 -07:00
2010-10-01 17:18:59 -04:00
2011-01-13 21:44:34 -08:00
2010-12-17 12:03:14 -08:00
2010-10-18 08:32:07 -07:00
2005-04-16 15:20:36 -07:00
2010-11-10 16:57:11 -08:00
2010-08-19 17:18:02 -07:00
2009-03-31 23:00:27 -04:00
2005-06-25 16:25:03 -07:00
2010-10-21 11:10:10 -06:00
2010-08-06 09:25:50 -06:00
2010-07-30 00:03:58 -06:00
2010-08-11 08:59:19 -07:00
2010-10-17 01:57:50 +02:00
2009-04-01 08:59:13 -07:00
2009-04-01 08:59:13 -07:00
2008-10-13 10:10:37 -07:00
2005-05-05 16:36:31 -07:00
2011-01-16 13:47:07 -05:00
2010-10-27 21:30:13 -04:00
2010-12-18 15:54:04 +01:00
2005-04-16 15:20:36 -07:00
2009-01-15 16:39:41 -08:00
2008-01-23 19:33:58 -06:00
2010-10-24 15:07:11 -07:00
2009-01-08 08:31:12 -08:00
2009-01-08 08:31:12 -08:00
2010-10-22 10:16:42 -07:00
2010-12-24 15:04:06 +01:00
2006-10-03 23:01:26 +02:00
2008-06-11 21:00:38 -07:00
2011-01-13 08:03:21 -08:00
2011-01-13 08:03:21 -08:00
2009-10-04 03:23:17 +02:00
2009-12-02 09:55:33 +01:00
2007-10-19 20:35:04 +02:00
2008-10-23 08:55:01 -07:00
2010-07-18 19:15:26 -07:00
2008-09-02 19:21:38 -07:00
2010-10-27 18:03:18 -07:00
2010-05-27 09:12:52 -07:00
2010-10-26 16:52:16 -07:00
2005-04-16 15:20:36 -07:00
2010-09-08 18:16:55 -07:00
2010-03-12 15:52:44 -08:00
2008-01-30 13:31:47 +01:00
2009-09-24 07:20:57 -07:00
2010-11-12 07:55:30 -08:00
2010-11-15 13:24:06 -05:00
2010-10-20 13:37:56 -04:00
2011-01-13 08:03:18 -08:00
2011-01-13 17:32:42 -08:00
2006-07-13 13:21:35 -07:00
2005-04-16 15:20:36 -07:00
2009-04-17 20:37:21 -07:00
2007-05-02 11:56:33 +01:00
2010-12-13 22:48:21 +01:00
2010-03-12 15:53:10 -08:00
2010-11-15 11:29:30 -08:00
2010-03-13 01:21:21 +01:00
2008-04-30 08:29:54 -07:00
2009-09-15 02:44:17 -07:00
2006-04-26 12:56:16 +01:00
2009-04-19 10:47:45 -07:00
2009-10-30 08:27:25 +11:00
2011-01-10 09:46:24 +11:00
2010-10-22 10:20:06 -07:00
2010-05-27 09:12:49 -07:00
2011-01-07 17:50:27 +11:00
2008-02-07 08:42:34 -08:00
2011-01-13 08:03:19 -08:00
2011-01-13 15:06:28 +09:00
2010-09-03 17:29:04 -07:00
2006-04-26 12:56:16 +01:00
2010-10-31 10:40:39 -04:00
2011-01-07 17:50:16 +11:00
2011-01-13 10:25:58 -08:00
2005-04-16 15:20:36 -07:00
2008-06-17 16:19:24 -07:00
2005-04-16 15:20:36 -07:00
2009-12-14 23:55:33 +01:00
2009-12-14 23:55:33 +01:00
2010-10-07 14:08:55 +01:00
2010-05-21 21:12:40 +02:00
2008-05-26 16:15:32 +02:00
2010-11-18 14:37:34 +01:00
2006-12-07 02:14:08 +01:00
2007-05-08 11:15:18 -07:00
2010-08-09 16:48:44 -04:00
2006-10-01 00:39:18 -07:00
2010-10-14 08:55:28 +02:00
2008-10-03 11:46:14 -05:00
2010-01-14 22:38:09 -05:00
2009-04-10 15:48:52 +02:00
2011-01-13 20:15:35 -08:00
2010-11-18 14:37:45 +01:00
2010-03-07 17:04:47 -08:00
2010-10-17 01:57:44 +02:00
2010-02-04 14:20:41 +11:00
2010-08-21 00:34:45 -07:00
2010-08-11 08:59:22 -07:00
2010-03-30 22:02:32 +09:00
2010-12-22 19:43:34 -08:00
2010-05-19 11:36:34 +03:00
2007-02-09 16:23:15 +00:00
2008-10-13 09:51:40 -07:00
2010-09-18 12:19:21 +02:00
2010-05-27 09:12:51 -07:00
2010-05-09 19:35:27 +02:00
2011-01-13 08:03:21 -08:00
2009-02-15 22:43:32 -08:00
2010-10-22 14:46:25 +02:00
2009-02-18 15:37:53 -08:00
2010-12-11 12:34:34 +01:00
2011-01-13 08:03:20 -08:00
2011-01-01 13:57:56 -08:00
2010-11-29 08:55:25 +11:00
2010-11-29 08:55:22 +11:00
2009-02-26 18:44:06 +01:00
2009-12-09 14:05:49 -05:00
2010-10-27 18:03:12 -07:00
2006-09-28 17:53:59 -07:00
2010-12-16 13:14:32 -08:00
2010-12-16 10:05:06 -08:00
2009-12-10 22:55:37 +01:00
2011-01-13 08:03:18 -08:00
2005-04-16 15:20:36 -07:00
2009-03-26 18:14:14 +01:00
2005-04-16 15:20:36 -07:00
2009-09-23 18:13:10 -07:00
2007-12-26 19:36:35 -08:00
2010-01-15 01:43:29 -08:00
2010-05-19 22:15:46 +09:30
2011-01-13 17:32:34 -08:00
2011-01-13 17:32:31 -08:00
2010-03-19 07:17:52 -07:00
2010-10-05 11:47:18 -07:00
2010-10-13 15:45:21 -04:00
2011-01-07 16:58:04 -08:00
2010-10-30 09:05:48 -07:00
2007-10-10 16:53:57 -07:00