Messages in this thread | | | Date | Mon, 09 Apr 2018 21:39:06 +0200 | From | Takashi Iwai <> | Subject | Re: [alsa-devel] [PATCH] sound: soc: intel: bxt_da7219_max98357a: Replace GFP_ATOMIC with GFP_KERNEL in broxton_audio_probe |
| |
On Mon, 09 Apr 2018 20:57:43 +0200, Pierre-Louis Bossart wrote: > > On 4/9/18 5:46 AM, Jia-Ju Bai wrote: > > broxton_audio_probe() is never called in atomic context. > > This function is only set as ".probe" in "struct platform_driver". > > > > Despite never getting called from atomic context, > > broxton_audio_probe() calls devm_kzalloc() with GFP_ATOMIC, > > which waits busily for allocation. > > GFP_ATOMIC is not necessary and can be replaced with GFP_KERNEL, > > to avoid busy waiting and improve the possibility of sucessful allocation. > > [answering for the series] > Humm, this is interesting. > If indeed we can afford to sleep then the change should be done on ALL > 14 boards in sound/soc/intel/boards which follow the same code > pattern. > If we cannot sleep then then none of these changes should be applied. > Liam and Vinod?
It must be sleepable context as it's a standard platform driver probe callback.
And now looking at grep output, only sound/soc/intel contains so many calls with GFP_ATOMIC. I bet that almost all can be done with GFP_KERNEL, maybe only one or two in atom/sst would be conditionally with GFP_ATOMIC.
thanks,
Takashi
| |