diff options
author | Hugh Dickins <hughd@google.com> | 2011-08-03 19:21:28 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-08-03 20:25:24 -0400 |
commit | 8079b1c859c44f27d63da4951f5038a16589a563 (patch) | |
tree | 677e77a4c9d3b9c33427196cb5f860ebcf530b15 /mm/shmem.c | |
parent | e504f3fdd63d486d45b18009e5a65f2e329acb0a (diff) |
mm: clarify the radix_tree exceptional cases
Make the radix_tree exceptional cases, mostly in filemap.c, clearer.
It's hard to devise a suitable snappy name that illuminates the use by
shmem/tmpfs for swap, while keeping filemap/pagecache/radix_tree
generality. And akpm points out that /* radix_tree_deref_retry(page) */
comments look like calls that have been commented out for unknown
reason.
Skirt the naming difficulty by rearranging these blocks to handle the
transient radix_tree_deref_retry(page) case first; then just explain the
remaining shmem/tmpfs swap case in a comment.
Signed-off-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/shmem.c')
-rw-r--r-- | mm/shmem.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/mm/shmem.c b/mm/shmem.c index 1c702f6f1241..32f6763f16fb 100644 --- a/mm/shmem.c +++ b/mm/shmem.c | |||
@@ -332,10 +332,14 @@ repeat: | |||
332 | if (unlikely(!page)) | 332 | if (unlikely(!page)) |
333 | continue; | 333 | continue; |
334 | if (radix_tree_exception(page)) { | 334 | if (radix_tree_exception(page)) { |
335 | if (radix_tree_exceptional_entry(page)) | 335 | if (radix_tree_deref_retry(page)) |
336 | goto export; | 336 | goto restart; |
337 | /* radix_tree_deref_retry(page) */ | 337 | /* |
338 | goto restart; | 338 | * Otherwise, we must be storing a swap entry |
339 | * here as an exceptional entry: so return it | ||
340 | * without attempting to raise page count. | ||
341 | */ | ||
342 | goto export; | ||
339 | } | 343 | } |
340 | if (!page_cache_get_speculative(page)) | 344 | if (!page_cache_get_speculative(page)) |
341 | goto repeat; | 345 | goto repeat; |