mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 08:44:41 +00:00 
			
		
		
		
	swap: remove __swp_swapcount()
__swp_swapcount() just encloses the calling to swap_swapcount() with get/put_swap_device(). It is called in __read_swap_cache_async() only, which encloses the calling with get/put_swap_device() already. So, __read_swap_cache_async() can call swap_swapcount() directly. Link: https://lkml.kernel.org/r/20230529061355.125791-4-ying.huang@intel.com Signed-off-by: "Huang, Ying" <ying.huang@intel.com> Reviewed-by: David Hildenbrand <david@redhat.com> Reviewed-by: Chris Li (Google) <chrisl@kernel.org> Cc: Hugh Dickins <hughd@google.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Matthew Wilcox <willy@infradead.org> Cc: Michal Hocko <mhocko@suse.com> Cc: Minchan Kim <minchan@kernel.org> Cc: Tim Chen <tim.c.chen@linux.intel.com> Cc: Yang Shi <shy828301@gmail.com> Cc: Yu Zhao <yuzhao@google.com> Cc: Yosry Ahmed <yosryahmed@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									46a774d3ea
								
							
						
					
					
						commit
						3ecdeb0f87
					
				
					 3 changed files with 4 additions and 22 deletions
				
			
		|  | @ -513,7 +513,7 @@ int find_first_swap(dev_t *device); | |||
| extern unsigned int count_swap_pages(int, int); | ||||
| extern sector_t swapdev_block(int, pgoff_t); | ||||
| extern int __swap_count(swp_entry_t entry); | ||||
| extern int __swp_swapcount(swp_entry_t entry); | ||||
| extern int swap_swapcount(struct swap_info_struct *si, swp_entry_t entry); | ||||
| extern int swp_swapcount(swp_entry_t entry); | ||||
| extern struct swap_info_struct *page_swap_info(struct page *); | ||||
| extern struct swap_info_struct *swp_swap_info(swp_entry_t entry); | ||||
|  | @ -591,7 +591,7 @@ static inline int __swap_count(swp_entry_t entry) | |||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| static inline int __swp_swapcount(swp_entry_t entry) | ||||
| static inline int swap_swapcount(struct swap_info_struct *si, swp_entry_t entry) | ||||
| { | ||||
| 	return 0; | ||||
| } | ||||
|  |  | |||
|  | @ -447,7 +447,7 @@ struct page *__read_swap_cache_async(swp_entry_t entry, gfp_t gfp_mask, | |||
| 		 * as SWAP_HAS_CACHE.  That's done in later part of code or | ||||
| 		 * else swap_off will be aborted if we return NULL. | ||||
| 		 */ | ||||
| 		if (!__swp_swapcount(entry) && swap_slot_cache_enabled) | ||||
| 		if (!swap_swapcount(si, entry) && swap_slot_cache_enabled) | ||||
| 			goto fail_put_swap; | ||||
| 
 | ||||
| 		/*
 | ||||
|  |  | |||
|  | @ -1444,7 +1444,7 @@ int __swap_count(swp_entry_t entry) | |||
|  * This does not give an exact answer when swap count is continued, | ||||
|  * but does include the high COUNT_CONTINUED flag to allow for that. | ||||
|  */ | ||||
| static int swap_swapcount(struct swap_info_struct *si, swp_entry_t entry) | ||||
| int swap_swapcount(struct swap_info_struct *si, swp_entry_t entry) | ||||
| { | ||||
| 	pgoff_t offset = swp_offset(entry); | ||||
| 	struct swap_cluster_info *ci; | ||||
|  | @ -1456,24 +1456,6 @@ static int swap_swapcount(struct swap_info_struct *si, swp_entry_t entry) | |||
| 	return count; | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  * How many references to @entry are currently swapped out? | ||||
|  * This does not give an exact answer when swap count is continued, | ||||
|  * but does include the high COUNT_CONTINUED flag to allow for that. | ||||
|  */ | ||||
| int __swp_swapcount(swp_entry_t entry) | ||||
| { | ||||
| 	int count = 0; | ||||
| 	struct swap_info_struct *si; | ||||
| 
 | ||||
| 	si = get_swap_device(entry); | ||||
| 	if (si) { | ||||
| 		count = swap_swapcount(si, entry); | ||||
| 		put_swap_device(si); | ||||
| 	} | ||||
| 	return count; | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  * How many references to @entry are currently swapped out? | ||||
|  * This considers COUNT_CONTINUED so it returns exact answer. | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Huang Ying
						Huang Ying