Kirill A. Shutemov
48c935ad88
page-flags: define PG_locked behavior on compound pages
...
lock_page() must operate on the whole compound page. It doesn't make
much sense to lock part of compound page. Change code to use head
page's PG_locked, if tail page is passed.
This patch also gets rid of custom helper functions --
__set_page_locked() and __clear_page_locked(). They are replaced with
helpers generated by __SETPAGEFLAG/__CLEARPAGEFLAG. Tail pages to these
helper would trigger VM_BUG_ON().
SLUB uses PG_locked as a bit spin locked. IIUC, tail pages should never
appear there. VM_BUG_ON() is added to make sure that this assumption is
correct.
[akpm@linux-foundation.org: fix fs/cifs/file.c]
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Rik van Riel <riel@redhat.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Christoph Lameter <cl@linux.com>
Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Cc: Steve Capper <steve.capper@linaro.org>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: Jerome Marchand <jmarchan@redhat.com>
Cc: Jérôme Glisse <jglisse@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-01-15 17:56:32 -08:00
..
2015-12-13 19:59:48 -08:00
2015-12-14 10:11:09 -08:00
2015-12-11 16:56:16 +01:00
2015-11-21 18:42:00 +01:00
2015-12-22 17:04:56 +00:00
2015-12-29 10:08:45 +01:00
2016-01-07 10:10:50 -05:00
2016-01-15 12:14:47 -08:00
2015-12-17 22:08:28 -05:00
2016-01-11 17:48:53 -05:00
2016-01-05 18:04:58 +01:00
2016-01-07 09:55:39 -08:00
2015-12-28 18:43:15 +01:00
2015-11-16 15:41:49 +00:00
2015-12-21 14:26:28 +05:30
2016-01-13 11:38:27 -08:00
2015-12-05 02:06:51 +01:00
2015-12-17 22:08:28 -05:00
2016-01-12 18:26:10 +00:00
2015-12-11 19:34:39 -05:00
2016-01-11 16:48:35 +00:00
2015-12-16 16:36:25 +02:00
2015-12-23 10:08:15 -05:00
2016-01-13 09:26:40 -08:00
2016-01-12 01:10:19 +01:00
2016-01-04 16:19:57 +00:00
2016-01-09 08:39:04 -08:00
2015-12-09 10:35:16 -08:00
2015-12-28 13:07:07 -07:00
2015-12-06 12:46:31 +01:00
2015-11-25 12:14:09 -05:00
2015-11-25 11:35:14 -05:00
2015-12-03 10:24:08 -05:00
2016-01-12 19:20:32 -08:00
2016-01-12 19:20:32 -08:00
2015-11-25 22:28:30 +01:00
2015-12-04 10:33:41 +01:00
2015-12-07 00:02:05 +00:00
2016-01-04 12:31:46 +01:00
2015-11-24 09:56:43 +01:00
2015-12-04 10:34:45 +01:00
2016-01-01 03:49:51 +01:00
2015-11-16 09:27:32 +05:30
2016-01-14 16:00:49 -08:00
2015-12-30 13:01:03 -05:00
2015-12-09 01:25:01 +01:00
2016-01-06 15:17:47 +05:30
2015-11-18 16:27:46 -05:00
2016-01-04 10:58:35 +01:00
2015-12-11 16:56:40 +01:00
2015-12-11 11:05:57 -08:00
2016-01-06 16:31:56 -05:00
2015-12-14 18:58:42 -08:00
2016-01-08 21:40:34 -05:00
2016-01-13 19:15:14 -08:00
2016-01-14 16:00:49 -08:00
2016-01-12 20:04:15 -08:00
2015-12-22 17:10:17 -06:00
2016-01-09 22:42:31 -08:00
2016-01-14 16:00:49 -08:00
2015-11-18 16:17:42 -05:00
2015-12-05 17:41:42 -05:00
2015-12-28 13:41:50 +01:00
2016-01-14 16:00:49 -08:00
2015-12-21 13:07:56 -08:00
2016-01-13 11:06:03 +01:00
2015-11-20 11:31:26 -05:00
2015-12-03 11:49:26 -05:00
2015-12-15 16:50:20 -05:00
2015-12-15 23:26:51 -05:00
2015-12-04 10:34:46 +01:00
2015-12-08 12:53:29 +01:00
2015-12-02 23:37:16 -05:00
2015-12-14 10:03:46 +01:00
2015-12-29 10:08:45 +01:00
2015-11-23 09:44:58 +01:00
2015-12-19 11:07:01 +01:00
2015-11-20 15:55:52 -05:00
2015-12-19 11:07:01 +01:00
2015-12-12 10:15:34 -08:00
2015-11-28 19:33:29 -08:00
2016-01-08 19:04:36 +01:00
2015-11-25 17:24:23 +01:00
2016-01-04 09:57:40 +01:00
2016-01-11 19:33:59 -08:00
2016-01-09 08:39:03 -08:00
2015-12-07 09:14:19 -07:00
2015-11-23 10:37:35 -08:00
2015-11-23 10:37:35 -08:00
2015-12-04 12:34:33 -08:00
2015-12-03 23:01:27 +01:00
2015-11-23 09:44:58 +01:00
2015-11-17 15:25:43 -05:00
2016-01-07 14:31:27 -05:00
2016-01-14 16:00:49 -08:00
2016-01-14 16:00:49 -08:00
2016-01-14 16:00:49 -08:00
2016-01-14 16:00:49 -08:00
2016-01-14 16:00:49 -08:00
2016-01-14 16:00:49 -08:00
2016-01-15 17:56:32 -08:00
2016-01-14 16:00:49 -08:00
2015-12-14 19:15:05 -08:00
2015-12-04 22:46:26 +01:00
2015-11-30 15:26:22 -05:00
2015-12-16 15:29:44 +00:00
2016-01-09 03:07:52 -05:00
2015-12-01 15:45:05 -05:00
2015-12-15 16:50:20 -05:00
2016-01-11 23:28:44 -05:00
2015-12-15 23:25:20 -05:00
2016-01-14 16:08:23 -08:00
2015-12-28 09:57:15 -05:00
2016-01-14 16:08:23 -08:00
2016-01-04 13:19:55 -05:00
2015-12-17 10:43:06 -06:00
2015-11-16 09:03:21 +05:30
2015-12-09 09:23:28 -06:00
2015-11-12 11:50:33 -08:00
2015-12-18 11:17:26 +05:30
2016-01-15 17:56:32 -08:00
2016-01-15 17:56:32 -08:00
2015-12-03 14:17:51 -05:00
2015-12-21 13:49:32 +00:00
2015-11-16 10:40:50 -05:00
2015-11-16 10:50:25 -05:00
2015-11-23 09:21:03 +01:00
2016-01-14 16:00:49 -08:00
2016-01-07 14:31:27 -05:00
2015-11-30 15:26:22 -05:00
2016-01-12 20:25:09 -08:00
2015-12-10 23:08:51 +01:00
2015-12-21 03:11:12 +01:00
2015-12-06 21:25:17 -05:00
2016-01-02 00:29:35 +01:00
2016-01-01 02:09:51 +01:00
2015-11-23 09:44:58 +01:00
2015-12-07 17:02:54 -08:00
2015-12-07 17:02:54 -08:00
2015-12-07 17:01:31 -08:00
2015-12-07 17:01:31 -08:00
2016-01-05 19:07:17 +00:00
2015-12-17 22:08:28 -05:00
2016-01-10 22:13:15 -05:00
2015-12-15 09:41:09 +01:00
2016-01-12 18:57:02 -08:00
2015-11-19 16:22:43 +01:00
2015-12-13 19:59:48 -08:00
2015-12-17 11:18:44 +01:00
2016-01-04 16:11:11 -05:00
2016-01-14 16:00:49 -08:00
2015-11-20 16:17:32 -08:00
2016-01-15 14:35:24 -05:00
2016-01-14 16:00:49 -08:00
2015-12-15 23:26:51 -05:00
2016-01-06 11:02:29 +01:00
2016-01-04 10:20:19 -05:00
2016-01-14 16:00:49 -08:00
2015-12-01 14:00:53 -05:00
2015-11-13 21:53:18 -08:00
2015-11-23 15:34:34 -08:00
2016-01-14 16:00:49 -08:00
2015-12-10 22:41:06 -08:00
2015-12-06 12:56:06 +01:00
2016-01-12 20:04:15 -08:00
2015-12-13 19:59:48 -08:00
2015-11-25 15:49:13 +00:00
2015-12-18 17:48:50 -08:00
2015-12-06 20:42:15 -05:00
2015-11-23 09:44:58 +01:00
2015-12-01 14:58:18 -08:00
2015-12-21 15:28:11 -07:00
2015-12-04 10:38:59 -02:00
2016-01-14 16:00:49 -08:00
2016-01-14 16:00:49 -08:00
2016-01-14 16:00:49 -08:00
2015-12-04 10:34:45 +01:00
2016-01-12 18:57:02 -08:00
2015-12-08 11:29:47 -05:00
2015-12-13 19:46:12 -05:00