
In some use cases[1], the backend is created while the frontend doesn't support the persistent grants feature, but later the frontend can be changed to support the feature and reconnect. In the past, 'blkback' enabled the persistent grants feature since it unconditionally checked if frontend supports the persistent grants feature for every connect ('connect_ring()') and decided whether it should use persistent grans or not. However, commitaac8a70db2
("xen-blkback: add a parameter for disabling of persistent grants") has mistakenly changed the behavior. It made the frontend feature support check to not be repeated once it shown the 'feature_persistent' as 'false', or the frontend doesn't support persistent grants. This commit changes the behavior of the parameter to make effect for every connect, so that the previous workflow can work again as expected. [1] https://lore.kernel.org/xen-devel/CAJwUmVB6H3iTs-C+U=v-pwJB7-_ZRHPxHzKRJZ22xEPW7z8a=g@mail.gmail.com/ Reported-by: Andrii Chepurnyi <andrii.chepurnyi82@gmail.com> Fixes:aac8a70db2
("xen-blkback: add a parameter for disabling of persistent grants") Cc: <stable@vger.kernel.org> # 5.10.x Signed-off-by: Maximilian Heyne <mheyne@amazon.de> Signed-off-by: SeongJae Park <sj@kernel.org> Reviewed-by: Maximilian Heyne <mheyne@amazon.de> Reviewed-by: Juergen Gross <jgross@suse.com> Link: https://lore.kernel.org/r/20220715225108.193398-3-sj@kernel.org Signed-off-by: Juergen Gross <jgross@suse.com>
1.9 KiB
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.
What: /sys/module/xen_blkback/parameters/buffer_squeeze_duration_ms Date: December 2019 KernelVersion: 5.6 Contact: Maximilian Heyne mheyne@amazon.de Description: When memory pressure is reported to blkback this option controls the duration in milliseconds that blkback will not cache any page not backed by a grant mapping. The default is 10ms.
What: /sys/module/xen_blkback/parameters/feature_persistent Date: September 2020 KernelVersion: 5.10 Contact: Maximilian Heyne mheyne@amazon.de Description: Whether to enable the persistent grants feature or not. Note that this option only takes effect on newly connected backends. The default is Y (enable).