Re: [PATCH 1/7] regulator: push allocation in regulator_init_coupling() outside of lock

From: Michał Mirosław
Date: Tue Aug 11 2020 - 13:20:23 EST


On Tue, Aug 11, 2020 at 07:27:43PM +0300, Dmitry Osipenko wrote:
> 11.08.2020 18:59, Dmitry Osipenko пишет:
> > 11.08.2020 04:07, Michał Mirosław пишет:
> >> Allocating memory with regulator_list_mutex held makes lockdep unhappy
> >> when memory pressure makes the system do fs_reclaim on eg. eMMC using
> >> a regulator. Push the lock inside regulator_init_coupling() after the
> >> allocation.
> > ...
> >
> > Reviewed-by: Dmitry Osipenko <digetx@xxxxxxxxx>
> On the other hand, couldn't it be better to just remove taking the
> list_mutex from the regulator_lock_dependent()?
>
> I think the list_mutex is only needed to protect from supply/couple
> regulator being removed during of the locking process, but maybe this is
> not something we should worry about?

This is what I would like to see in the end, but it requires more
thought, at least around interaction with regulator_resolve_coupling()
and the regulator removal.

Best Regards,
Michał Mirosław