Re: [PATCH v2 03/19] scsi: libsas: Introduce a _gfp() variant of event notifiers

From: Christoph Hellwig
Date: Tue Jan 12 2021 - 10:46:32 EST


On Tue, Jan 12, 2021 at 12:06:31PM +0100, Ahmed S. Darwish wrote:
> sas_alloc_event() uses in_interrupt() to decide which allocation should
> be used.
>
> The usage of in_interrupt() in drivers is phased out and Linus clearly
> requested that code which changes behaviour depending on context should
> either be separated or the context be conveyed in an argument passed by
> the caller, which usually knows the context.
>
> The in_interrupt() check is also only partially correct, because it
> fails to choose the correct code path when just preemption or interrupts
> are disabled. For example, as in the following call chain:

What is the problem with simply adding a gfp_t argument to the existing
calls? The end result of this series looks fine, but the way we get
there looks extremely cumbersome.