Re: [v2 PATCH 1/2] mm: swap: check if swap backing device is congested or not

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

 





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




[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