mirror of
				https://git.proxmox.com/git/mirror_zfs.git
				synced 2025-10-26 18:05:04 +03:00 
			
		
		
		
	Mark TX_COMMIT transaction with TXG_NOTHROTTLE.
TX_COMMIT has no on-disk representation and does not produce any more dirty data. It should not wait for anything, and even just skipping the checks if not waiting gives improvement noticeable in profiler. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Prakash Surya <prakash.surya@delphix.com> Signed-off-by: Alexander Motin <mav@FreeBSD.org> Sponsored by: iXsystems, Inc. Closes #14798
This commit is contained in:
		
							parent
							
								
									e271cd7a65
								
							
						
					
					
						commit
						c1b9dc735f
					
				| @ -2848,7 +2848,14 @@ static void | |||||||
| zil_commit_itx_assign(zilog_t *zilog, zil_commit_waiter_t *zcw) | zil_commit_itx_assign(zilog_t *zilog, zil_commit_waiter_t *zcw) | ||||||
| { | { | ||||||
| 	dmu_tx_t *tx = dmu_tx_create(zilog->zl_os); | 	dmu_tx_t *tx = dmu_tx_create(zilog->zl_os); | ||||||
| 	VERIFY0(dmu_tx_assign(tx, TXG_WAIT)); | 
 | ||||||
|  | 	/*
 | ||||||
|  | 	 * Since we are not going to create any new dirty data, and we | ||||||
|  | 	 * can even help with clearing the existing dirty data, we | ||||||
|  | 	 * should not be subject to the dirty data based delays. We | ||||||
|  | 	 * use TXG_NOTHROTTLE to bypass the delay mechanism. | ||||||
|  | 	 */ | ||||||
|  | 	VERIFY0(dmu_tx_assign(tx, TXG_WAIT | TXG_NOTHROTTLE)); | ||||||
| 
 | 
 | ||||||
| 	itx_t *itx = zil_itx_create(TX_COMMIT, sizeof (lr_t)); | 	itx_t *itx = zil_itx_create(TX_COMMIT, sizeof (lr_t)); | ||||||
| 	itx->itx_sync = B_TRUE; | 	itx->itx_sync = B_TRUE; | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Alexander Motin
						Alexander Motin