Re: [PATCH -mm] mm, swap: Fix false error message in __swp_swapcount()

From: Huang\, Ying
Date: Tue Oct 24 2017 - 22:33:08 EST


Minchan Kim <minchan@xxxxxxxxxx> writes:

> On Tue, Oct 24, 2017 at 10:47:00AM +0800, Huang, Ying wrote:
>> From: Ying Huang <ying.huang@xxxxxxxxx>
>>
>> __swp_swapcount() is used in __read_swap_cache_async(). Where the
>> invalid swap entry (offset > max) may be supplied during swap
>> readahead. But __swp_swapcount() will print error message for these
>> expected invalid swap entry as below, which will make the users
>> confusing.
>>
>> swap_info_get: Bad swap offset entry 0200f8a7
>>
>> So the swap entry checking code in __swp_swapcount() is changed to
>> avoid printing error message for it. To avoid to duplicate code with
>> __swap_duplicate(), a new helper function named
>> __swap_info_get_silence() is added and invoked in both places.
>
> It's the problem caused by readahead, not __swap_info_get which is low-end
> primitive function. Instead, please fix high-end swapin_readahead to limit
> to last valid block as handling to avoid swap header which is special case,
> too.

Yes. You are right, will send the new version.

Best Regards,
Huang, Ying