aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2021-09-07 14:06:37 +0200
committerJuergen Gross <jgross@suse.com>2021-09-15 08:42:04 +0200
commitcabb7f89b24ed40c4640dac3bca044452ab0b386 (patch)
tree5ddf6b4d58f64e7196734a2ef9b38a75f226c95b
parentswiotlb-xen: suppress certain init retries (diff)
downloadwireguard-linux-cabb7f89b24ed40c4640dac3bca044452ab0b386.tar.xz
wireguard-linux-cabb7f89b24ed40c4640dac3bca044452ab0b386.zip
swiotlb-xen: limit init retries
Due to the use of max(1024, ...) there's no point retrying (and issuing bogus log messages) when the number of slabs is already no larger than this minimum value. Signed-off-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Link: https://lore.kernel.org/r/984fa426-2b7b-4b77-5ce8-766619575b7f@suse.com Signed-off-by: Juergen Gross <jgross@suse.com>
-rw-r--r--drivers/xen/swiotlb-xen.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c
index 6520d05e62ef..d30dc5e68a22 100644
--- a/drivers/xen/swiotlb-xen.c
+++ b/drivers/xen/swiotlb-xen.c
@@ -207,7 +207,7 @@ retry:
swiotlb_set_max_segment(PAGE_SIZE);
return 0;
error:
- if (repeat--) {
+ if (nslabs > 1024 && repeat--) {
/* Min is 2MB */
nslabs = max(1024UL, ALIGN(nslabs >> 1, IO_TLB_SEGSIZE));
bytes = nslabs << IO_TLB_SHIFT;
@@ -243,7 +243,7 @@ retry:
rc = xen_swiotlb_fixup(start, nslabs);
if (rc) {
memblock_free(__pa(start), PAGE_ALIGN(bytes));
- if (repeat--) {
+ if (nslabs > 1024 && repeat--) {
/* Min is 2MB */
nslabs = max(1024UL, ALIGN(nslabs >> 1, IO_TLB_SEGSIZE));
bytes = nslabs << IO_TLB_SHIFT;