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 <jbeul...@suse.com>

Reviewed-by: Stefano Stabellini <sstabell...@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;
> 

Reply via email to