mm/swapfile.c: omit a duplicate code by compare tmp and max first

There are two duplicate code to handle the case when there is no available
swap entry.  To avoid this, we can compare tmp and max first and let the
second guard do its job.

No functional change is expected.

Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: "Huang, Ying" <ying.huang@intel.com>
Cc: Tim Chen <tim.c.chen@linux.intel.com>
Cc: Hugh Dickins <hughd@google.com>
Link: http://lkml.kernel.org/r/20200421213824.8099-3-richard.weiyang@gmail.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Wei Yang
2020-06-01 21:49:07 -07:00
committed by Linus Torvalds
parent fdff1debb9
commit 7b9e2de130

View File

@@ -629,17 +629,15 @@ static bool scan_swap_map_try_ssd_cluster(struct swap_info_struct *si,
tmp = cluster->next;
max = min_t(unsigned long, si->max,
(cluster_next(&cluster->index) + 1) * SWAPFILE_CLUSTER);
if (tmp >= max) {
cluster_set_null(&cluster->index);
goto new_cluster;
if (tmp < max) {
ci = lock_cluster(si, tmp);
while (tmp < max) {
if (!si->swap_map[tmp])
break;
tmp++;
}
unlock_cluster(ci);
}
ci = lock_cluster(si, tmp);
while (tmp < max) {
if (!si->swap_map[tmp])
break;
tmp++;
}
unlock_cluster(ci);
if (tmp >= max) {
cluster_set_null(&cluster->index);
goto new_cluster;