lkml.org 
[lkml]   [2020]   [Apr]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 3/4] mm/swapfile.c: compare tmp and max after trying to iterate on swap_map
On Mon, Apr 20, 2020 at 09:03:43AM +0800, Huang, Ying wrote:
>Wei Yang <richard.weiyang@gmail.com> writes:
>
>> There are two duplicate code to handle the case when there is no
>> available swap entry. Just let the code go through and do the check at
>> second place.
>>
>> No functional change is expected.
>>
>> Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
>> ---
>> mm/swapfile.c | 4 ----
>> 1 file changed, 4 deletions(-)
>>
>> diff --git a/mm/swapfile.c b/mm/swapfile.c
>> index 3aae700f9931..07b0bc095411 100644
>> --- a/mm/swapfile.c
>> +++ b/mm/swapfile.c
>> @@ -629,10 +629,6 @@ 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;
>> - }
>
>The code is to avoid to acquire the cluster lock unnecessarily. So I think
>we should keep this.
>

If you really want to avoid the lock, my suggestion is to add:

if (tmp < max) {
ci = lock_cluster(si, tmp);
while (tmp < max) {
...
}
unlock_cluster(ci);
}

Instead of do the similar thing twice.

>Best Regards,
>Huang, Ying
>
>> ci = lock_cluster(si, tmp);
>> while (tmp < max) {
>> if (!si->swap_map[tmp])

--
Wei Yang
Help you, Help me

\
 
 \ /
  Last update: 2020-04-20 23:37    [W:0.052 / U:0.240 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site