Messages in this thread | | | Subject | Re: [v2 PATCH 1/2] mm: swap: check if swap backing device is congested or not | From | Yang Shi <> | Date | Fri, 21 Dec 2018 10:51:11 -0800 |
| |
On 12/21/18 10:34 AM, Tim Chen wrote: > 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;
Yes, it looks better since nobody deference inode except the below code. Will fix in v3.
Thanks, Yang
> >> + if (inode_read_congested(inode)) >> + goto skip; >> + } >> + > Thanks. > > Tim
| |