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:
parent
fdff1debb9
commit
7b9e2de130
@ -629,17 +629,15 @@ new_cluster:
|
||||
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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user