summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWei Yang <richard.weiyang@gmail.com>2020-06-02 07:48:52 +0300
committerLinus Torvalds <torvalds@linux-foundation.org>2020-06-02 20:59:08 +0300
commitbd2d18da4a4f182c3627a74dc768bd437e64c582 (patch)
treea0c15adaf214bb6ecfd8501198b0ccd379b0b7dc
parentf4eaf51a72e5c6d9dc895abdd02676a2ef4c3ae7 (diff)
downloadlinux-bd2d18da4a4f182c3627a74dc768bd437e64c582.tar.xz
mm/swapfile.c: remove the unnecessary goto for SSD case
Now we can see there is redundant goto for SSD case. In these two places, we can just let the code walk through to the correct tag instead of explicitly jump to it. Let's remove them for better readability. Signed-off-by: Wei Yang <richard.weiyang@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Reviewed-by: Andrew Morton <akpm@linux-foundation.org> Cc: Tim Chen <tim.c.chen@linux.intel.com> Link: http://lkml.kernel.org/r/20200328060520.31449-4-richard.weiyang@gmail.com Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--mm/swapfile.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/mm/swapfile.c b/mm/swapfile.c
index 264d5837257a..f3af9901d8cd 100644
--- a/mm/swapfile.c
+++ b/mm/swapfile.c
@@ -759,9 +759,7 @@ static int scan_swap_map_slots(struct swap_info_struct *si,
/* SSD algorithm */
if (si->cluster_info) {
- if (scan_swap_map_try_ssd_cluster(si, &offset, &scan_base))
- goto checks;
- else
+ if (!scan_swap_map_try_ssd_cluster(si, &offset, &scan_base))
goto scan;
} else if (unlikely(!si->cluster_nr--)) {
if (si->pages - si->inuse_pages < SWAPFILE_CLUSTER) {
@@ -869,8 +867,6 @@ checks:
if (si->cluster_info) {
if (scan_swap_map_try_ssd_cluster(si, &offset, &scan_base))
goto checks;
- else
- goto done;
} else if (si->cluster_nr && !si->swap_map[++offset]) {
/* non-ssd case, still more slots in cluster? */
--si->cluster_nr;