Message ID | 984fa426-2b7b-4b77-5ce8-766619575b7f@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | swiotlb-xen: fixes and adjustments | expand |
On Tue, Sep 07, 2021 at 02:06:37PM +0200, Jan Beulich wrote: > 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> Looks good, Reviewed-by: Christoph Hellwig <hch@lst.de>
On Tue, 7 Sep 2021, Jan Beulich wrote: > 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: Stefano Stabellini <sstabellini@kernel.org> > --- 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; >
--- 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;
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>