On 12/20/18 4:21 PM, Yang Shi wrote:

> --- a/mm/swap_state.c
> +++ b/mm/swap_state.c
> @@ -538,11 +538,17 @@ struct page *swap_cluster_readahead(swp_entry_t entry, 
> gfp_t gfp_mask,
>       bool do_poll = true, page_allocated;
>       struct vm_area_struct *vma = vmf->vma;
>       unsigned long addr = vmf->address;
> +     struct inode *inode = si->swap_file->f_mapping->host;
>  
>       mask = swapin_nr_pages(offset) - 1;
>       if (!mask)
>               goto skip;
>  
> +     if (si->flags & (SWP_BLKDEV | SWP_FS)) {

Maybe move the inode dereference here: 

                inode = si->swap_file->f_mapping->host;

> +             if (inode_read_congested(inode))
> +                     goto skip;
> +     }
> +

Thanks.

Tim

Reply via email to