Re: [PATCH 3/4] dma-debug: Dynamically expand the dma_debug_entry pool

From: Christoph Hellwig
Date: Tue Dec 04 2018 - 09:29:42 EST


> + 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?