OSDN Git Service

mm: skip swap readahead when process is exiting
authorTim Murray <timmurray@google.com>
Wed, 3 Jan 2018 23:50:10 +0000 (15:50 -0800)
committer0ranko0P <ranko0p@outlook.com>
Wed, 4 Dec 2019 17:17:01 +0000 (01:17 +0800)
It's possible for a user fault to be triggered during task exit that
results in swap readahead, which is not useful. Skip swap readahead
if the current process is exiting.

Change-Id: I5fad20ebdcc616af732254705726d395eb118cbe
Signed-off-by: Tim Murray <timmurray@google.com>
I know swap is not used with my kernel.
Just picking for future references.

Signed-off-by: Park Ju Hyung <qkrwngud825@gmail.com>
mm/swap_state.c

index 9f49247..6dce64c 100644 (file)
@@ -478,6 +478,10 @@ struct page *swapin_readahead(swp_entry_t entry, gfp_t gfp_mask,
        if (!mask)
                goto skip;
 
+       /* If exiting, don't do swap readahead. */
+       if (current->flags & PF_EXITING)
+               goto skip;
+
        /* Read a page_cluster sized and aligned cluster around offset. */
        start_offset = offset & ~mask;
        end_offset = offset | mask;