• Miaohe Lin's avatar
    mm/swap: remove confusing checking for non_swap_entry() in swap_ra_info() · 5c046235
    Miaohe Lin authored
    The non_swap_entry() was used for working with VMA based swap readahead
    via commit ec560175 ("mm, swap: VMA based swap readahead").  At that
    time, the non_swap_entry() checking is necessary because the function is
    called before checking that in do_swap_page().  Then it's moved to
    swap_ra_info() since commit eaf649eb ("mm: swap: clean up swap
    readahead").  After that, the non_swap_entry() checking is unnecessary,
    because swap_ra_info() is called after non_swap_entry() has been checked
    already.  The resulting code is confusing as the non_swap_entry() check
    looks racy now because while we released the pte lock, somebody else might
    have faulted in this pte.  So we should check whether it's swap pte first
    to guard against such race or swap_type will be unexpected.  But the race
    isn't important because it will not cause problem.  We would have enough
    checking when we really operate the PTE entries later.  So we remove the
    non_swap_entry() check here to avoid confusion.
    
    Link: https://lkml.kernel.org/r/20210426123316.806267-4-linmiaohe@huawei.comSigned-off-by: default avatarMiaohe Lin <linmiaohe@huawei.com>
    Reviewed-by: default avatar"Huang, Ying" <ying.huang@intel.com>
    Cc: Alex Shi <alexs@kernel.org>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Dennis Zhou <dennis@kernel.org>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: Matthew Wilcox <willy@infradead.org>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Minchan Kim <minchan@kernel.org>
    Cc: Tim Chen <tim.c.chen@linux.intel.com>
    Cc: Wei Yang <richard.weiyang@gmail.com>
    Cc: Yang Shi <shy828301@gmail.com>
    Cc: Yu Zhao <yuzhao@google.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    5c046235
swap_state.c 24.2 KB