Re: [PATCH v2] mm/swapfile.c: simplify the scan loop in scan_swap_map_slots()
From: Wei Yang
Date: Fri Apr 24 2020 - 20:30:18 EST
On Fri, Apr 24, 2020 at 10:02:58AM +0800, Huang, Ying wrote:
>Wei Yang <richard.weiyang@xxxxxxxxx> writes:
>
[...]
>>>
>>>if "offset > si->highest_bit" is true and "offset < scan_base" is true,
>>>scan_base need to be returned.
>>>
>>
>> When this case would happen in the original code?
>
>In the original code, the loop can still stop.
>
Sorry, I don't get your point yet.
In original code, there are two separate loops
while (++offset <= si->highest_bit) {
}
while (offset < scan_base) {
}
And for your condition, (offset > highest_bit) && (offset < scan_base), which
terminates the first loop and fits the second loop well.
Not sure how this condition would stop the loop in original code?
>Best Regards,
>Huang, Ying
>
>>>Again, the new code doesn't make it easier to find this kind of issues.
>>>
>>>Best Regards,
>>>Huang, Ying
--
Wei Yang
Help you, Help me