mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 16:54:21 +00:00 
			
		
		
		
	block: remove PSI accounting from the bio layer
PSI accounting is now done by the VM code, where it should have been since the beginning. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Johannes Weiner <hannes@cmpxchg.org> Link: https://lore.kernel.org/r/20220915094200.139713-6-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
		
							parent
							
								
									99486c511f
								
							
						
					
					
						commit
						118f3663fb
					
				
					 4 changed files with 0 additions and 28 deletions
				
			
		|  | @ -1063,9 +1063,6 @@ void __bio_add_page(struct bio *bio, struct page *page, | |||
| 
 | ||||
| 	bio->bi_iter.bi_size += len; | ||||
| 	bio->bi_vcnt++; | ||||
| 
 | ||||
| 	if (!bio_flagged(bio, BIO_WORKINGSET) && unlikely(PageWorkingset(page))) | ||||
| 		bio_set_flag(bio, BIO_WORKINGSET); | ||||
| } | ||||
| EXPORT_SYMBOL_GPL(__bio_add_page); | ||||
| 
 | ||||
|  | @ -1274,9 +1271,6 @@ out: | |||
|  * fit into the bio, or are requested in @iter, whatever is smaller. If | ||||
|  * MM encounters an error pinning the requested pages, it stops. Error | ||||
|  * is returned only if 0 pages could be pinned. | ||||
|  * | ||||
|  * It's intended for direct IO, so doesn't do PSI tracking, the caller is | ||||
|  * responsible for setting BIO_WORKINGSET if necessary. | ||||
|  */ | ||||
| int bio_iov_iter_get_pages(struct bio *bio, struct iov_iter *iter) | ||||
| { | ||||
|  | @ -1292,8 +1286,6 @@ int bio_iov_iter_get_pages(struct bio *bio, struct iov_iter *iter) | |||
| 		ret = __bio_iov_iter_get_pages(bio, iter); | ||||
| 	} while (!ret && iov_iter_count(iter) && !bio_full(bio, 0)); | ||||
| 
 | ||||
| 	/* don't account direct I/O as memory stall */ | ||||
| 	bio_clear_flag(bio, BIO_WORKINGSET); | ||||
| 	return bio->bi_vcnt ? 0 : ret; | ||||
| } | ||||
| EXPORT_SYMBOL_GPL(bio_iov_iter_get_pages); | ||||
|  |  | |||
|  | @ -37,7 +37,6 @@ | |||
| #include <linux/t10-pi.h> | ||||
| #include <linux/debugfs.h> | ||||
| #include <linux/bpf.h> | ||||
| #include <linux/psi.h> | ||||
| #include <linux/part_stat.h> | ||||
| #include <linux/sched/sysctl.h> | ||||
| #include <linux/blk-crypto.h> | ||||
|  | @ -825,22 +824,6 @@ void submit_bio(struct bio *bio) | |||
| 		count_vm_events(PGPGOUT, bio_sectors(bio)); | ||||
| 	} | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * If we're reading data that is part of the userspace workingset, count | ||||
| 	 * submission time as memory stall.  When the device is congested, or | ||||
| 	 * the submitting cgroup IO-throttled, submission can be a significant | ||||
| 	 * part of overall IO time. | ||||
| 	 */ | ||||
| 	if (unlikely(bio_op(bio) == REQ_OP_READ && | ||||
| 	    bio_flagged(bio, BIO_WORKINGSET))) { | ||||
| 		unsigned long pflags; | ||||
| 
 | ||||
| 		psi_memstall_enter(&pflags); | ||||
| 		submit_bio_noacct(bio); | ||||
| 		psi_memstall_leave(&pflags); | ||||
| 		return; | ||||
| 	} | ||||
| 
 | ||||
| 	submit_bio_noacct(bio); | ||||
| } | ||||
| EXPORT_SYMBOL(submit_bio); | ||||
|  |  | |||
|  | @ -421,8 +421,6 @@ static inline void dio_bio_submit(struct dio *dio, struct dio_submit *sdio) | |||
| 	unsigned long flags; | ||||
| 
 | ||||
| 	bio->bi_private = dio; | ||||
| 	/* don't account direct I/O as memory stall */ | ||||
| 	bio_clear_flag(bio, BIO_WORKINGSET); | ||||
| 
 | ||||
| 	spin_lock_irqsave(&dio->bio_lock, flags); | ||||
| 	dio->refcount++; | ||||
|  |  | |||
|  | @ -321,7 +321,6 @@ enum { | |||
| 	BIO_NO_PAGE_REF,	/* don't put release vec pages */ | ||||
| 	BIO_CLONED,		/* doesn't own data */ | ||||
| 	BIO_BOUNCED,		/* bio is a bounce bio */ | ||||
| 	BIO_WORKINGSET,		/* contains userspace workingset pages */ | ||||
| 	BIO_QUIET,		/* Make BIO Quiet */ | ||||
| 	BIO_CHAIN,		/* chained bio, ->bi_remaining in effect */ | ||||
| 	BIO_REFFED,		/* bio has elevated ->bi_cnt */ | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Christoph Hellwig
						Christoph Hellwig