> +     for (retry_count = 0; ; retry_count++) {
> +             spin_lock_irqsave(&free_entries_lock, flags);
> +
> +             if (num_free_entries > 0)
> +                     break;
>  
>               spin_unlock_irqrestore(&free_entries_lock, flags);

Taking a spinlock just to read a single integer value doesn't really
help anything.

> +
> +             if (retry_count < DMA_DEBUG_DYNAMIC_RETRIES &&
> +                 !prealloc_memory(DMA_DEBUG_DYNAMIC_ENTRIES))

Don't we need GFP_ATOMIC here?  Also why do we need the retries?
_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to