Re: [PATCH] mm: fix the race between swapin_readahead and SWP_SYNCHRONOUS_IO path

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Vinayak,

On Wed, Sep 11, 2019 at 03:37:23PM +0530, Vinayak Menon wrote:

< snip >

> >> Can swapcache check be done like below, before taking the SWP_SYNCHRONOUS_IO path, as an alternative ?
> > With your approach, what prevent below scenario?
> >
> > A                                                       B
> >
> >                                             do_swap_page
> >                                             SWP_SYNCHRONOUS_IO && __swap_count == 1
> 
> 
> As shrink_page_list is picking the page from LRU and B is trying to read from swap simultaneously, I assume someone had read
> 
> the page from swap prior to B, when its swap_count was say 2 (for it to be reclaimed by shrink_page_list now)

It could happen after B saw __swap_count == 1. Think about forking new process.
In that case, swap_count is 2 and the forked process will access the page(it
ends up freeing zram slot but the page would be swap cache. However, B process
doesn't know it).




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux