Files
linux/include/linux
Hugh Dickins 75edd345e8 tmpfs: preliminary minor tidyups
Make a few cleanups in mm/shmem.c, before going on to complicate it.

shmem_alloc_page() will become more complicated: we can't afford to to
have that complication duplicated between a CONFIG_NUMA version and a
!CONFIG_NUMA version, so rearrange the #ifdef'ery there to yield a
single shmem_swapin() and a single shmem_alloc_page().

Yes, it's a shame to inflict the horrid pseudo-vma on non-NUMA
configurations, but eliminating it is a larger cleanup: I have an
alloc_pages_mpol() patchset not yet ready - mpol handling is subtle and
bug-prone, and changed yet again since my last version.

Move __SetPageLocked, __SetPageSwapBacked from shmem_getpage_gfp() to
shmem_alloc_page(): that SwapBacked flag will be useful in future, to
help to distinguish different cases appropriately.

And the SGP_DIRTY variant of SGP_CACHE is hard to understand and of
little use (IIRC it dates back to when shmem_getpage() returned the page
unlocked): kill it and do the necessary in shmem_file_read_iter().

But an arm64 build then complained that info may be uninitialized (where
shmem_getpage_gfp() deletes a freshly alloced page beyond eof), and
advancing to an "sgp <= SGP_CACHE" test jogged it back to reality.

Signed-off-by: Hugh Dickins <hughd@google.com>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Andres Lagar-Cavilla <andreslc@google.com>
Cc: Yang Shi <yang.shi@linaro.org>
Cc: Ning Qu <quning@gmail.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Konstantin Khlebnikov <koct9i@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-05-19 19:12:14 -07:00
..
2016-03-04 23:50:27 -06:00
2016-05-17 12:29:34 -04:00
2016-03-15 16:55:16 -07:00
2016-05-07 07:06:13 +02:00
2016-02-26 13:28:35 +02:00
2016-04-06 13:18:19 +02:00
2016-03-11 14:58:58 -05:00
2016-03-22 15:36:02 -07:00
2016-05-11 19:31:40 -04:00
2016-03-25 16:37:42 -07:00
2016-03-22 15:36:02 -07:00
2016-03-22 15:36:02 -07:00
2016-03-09 15:43:42 -08:00
2016-05-19 19:12:14 -07:00
2016-05-19 19:12:14 -07:00
2016-05-19 19:12:14 -07:00
2016-05-10 23:56:28 -04:00
2016-03-05 12:24:06 -08:00
2016-03-17 14:57:16 -04:00
2016-05-09 11:39:45 -04:00
2016-04-25 15:09:11 -04:00
2016-05-19 19:12:14 -07:00
2016-03-14 15:43:11 -04:00
2016-05-03 13:44:37 +02:00
2016-03-17 15:09:34 -07:00
2016-03-22 15:36:02 -07:00
2016-03-22 15:36:02 -07:00
2016-03-22 15:36:02 -07:00
2016-05-19 19:12:14 -07:00
2016-05-19 19:12:14 -07:00
2016-03-25 16:37:42 -07:00
2016-05-08 23:46:14 -04:00
2016-05-19 19:12:14 -07:00
2016-04-07 16:53:29 -04:00
2016-02-22 16:10:08 -07:00