mm/swapfile.c: found_free could be represented by (tmp < max)
This is not necessary to use the variable found_free to record the status. Just check tmp and max is enough. 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-1-richard.weiyang@gmail.com Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
abca1c84b7
Коммит
0fd0e19e4d
|
@ -601,7 +601,6 @@ static bool scan_swap_map_try_ssd_cluster(struct swap_info_struct *si,
|
||||||
{
|
{
|
||||||
struct percpu_cluster *cluster;
|
struct percpu_cluster *cluster;
|
||||||
struct swap_cluster_info *ci;
|
struct swap_cluster_info *ci;
|
||||||
bool found_free;
|
|
||||||
unsigned long tmp, max;
|
unsigned long tmp, max;
|
||||||
|
|
||||||
new_cluster:
|
new_cluster:
|
||||||
|
@ -623,8 +622,6 @@ new_cluster:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
found_free = false;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Other CPUs can use our cluster if they can't find a free cluster,
|
* Other CPUs can use our cluster if they can't find a free cluster,
|
||||||
* check if there is still free entry in the cluster
|
* check if there is still free entry in the cluster
|
||||||
|
@ -638,21 +635,19 @@ new_cluster:
|
||||||
}
|
}
|
||||||
ci = lock_cluster(si, tmp);
|
ci = lock_cluster(si, tmp);
|
||||||
while (tmp < max) {
|
while (tmp < max) {
|
||||||
if (!si->swap_map[tmp]) {
|
if (!si->swap_map[tmp])
|
||||||
found_free = true;
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
tmp++;
|
tmp++;
|
||||||
}
|
}
|
||||||
unlock_cluster(ci);
|
unlock_cluster(ci);
|
||||||
if (!found_free) {
|
if (tmp >= max) {
|
||||||
cluster_set_null(&cluster->index);
|
cluster_set_null(&cluster->index);
|
||||||
goto new_cluster;
|
goto new_cluster;
|
||||||
}
|
}
|
||||||
cluster->next = tmp + 1;
|
cluster->next = tmp + 1;
|
||||||
*offset = tmp;
|
*offset = tmp;
|
||||||
*scan_base = tmp;
|
*scan_base = tmp;
|
||||||
return found_free;
|
return tmp < max;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __del_from_avail_list(struct swap_info_struct *p)
|
static void __del_from_avail_list(struct swap_info_struct *p)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче