Persistent grants are allocated until a threshold per ring is being reached. Those grants won't be freed until the ring is being destroyed meaning there will be resources kept busy which might no longer be used. Instead of freeing only persistent grants until the threshold is reached add a timestamp and remove all persistent grants not having been in use for a minute. Signed-off-by: Juergen Gross <jgross@suse.com> Reviewed-by: Roger Pau Monné <roger.pau@citrix.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
		
			
				
	
	
		
			28 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
What:           /sys/module/xen_blkback/parameters/max_buffer_pages
 | 
						|
Date:           March 2013
 | 
						|
KernelVersion:  3.11
 | 
						|
Contact:        Roger Pau Monné <roger.pau@citrix.com>
 | 
						|
Description:
 | 
						|
                Maximum number of free pages to keep in each block
 | 
						|
                backend buffer.
 | 
						|
 | 
						|
What:           /sys/module/xen_blkback/parameters/max_persistent_grants
 | 
						|
Date:           March 2013
 | 
						|
KernelVersion:  3.11
 | 
						|
Contact:        Roger Pau Monné <roger.pau@citrix.com>
 | 
						|
Description:
 | 
						|
                Maximum number of grants to map persistently in
 | 
						|
                blkback. If the frontend tries to use more than
 | 
						|
                max_persistent_grants, the LRU kicks in and starts
 | 
						|
                removing 5% of max_persistent_grants every 100ms.
 | 
						|
 | 
						|
What:           /sys/module/xen_blkback/parameters/persistent_grant_unused_seconds
 | 
						|
Date:           August 2018
 | 
						|
KernelVersion:  4.19
 | 
						|
Contact:        Roger Pau Monné <roger.pau@citrix.com>
 | 
						|
Description:
 | 
						|
                How long a persistent grant is allowed to remain
 | 
						|
                allocated without being in use. The time is in
 | 
						|
                seconds, 0 means indefinitely long.
 | 
						|
                The default is 60 seconds.
 |