All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Alexandru Ardelean <ardeleanalex@gmail.com>
Cc: Krzysztof Kozlowski <krzk@kernel.org>,
	Alexandru Ardelean <alexandru.ardelean@analog.com>,
	linux-iio <linux-iio@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	kgene@kernel.org, Sergiu Cuciurean <sergiu.cuciurean@analog.com>
Subject: Re: [PATCH] iio: adc: exynos_adc: Replace indio_dev->mlock with own device lock
Date: Sat, 29 Aug 2020 16:33:35 +0100	[thread overview]
Message-ID: <20200829163335.3a9c420c@archlinux> (raw)
In-Reply-To: <CA+U=Dsoo6YABe5ODLp+eFNPGFDjk5ZeQEceGkqjxXcVEhLWubw@mail.gmail.com>

On Thu, 27 Aug 2020 11:53:44 +0300
Alexandru Ardelean <ardeleanalex@gmail.com> wrote:

> On Thu, Aug 27, 2020 at 9:57 AM Krzysztof Kozlowski <krzk@kernel.org> wrote:
> >
> > On Wed, Aug 26, 2020 at 04:22:03PM +0300, Alexandru Ardelean wrote:  
> > > From: Sergiu Cuciurean <sergiu.cuciurean@analog.com>
> > >
> > > As part of the general cleanup of indio_dev->mlock, this change replaces
> > > it with a local lock, to protect potential concurrent access to the
> > > completion callback during a conversion.  
> >
> > I don't know the bigger picture (and no links here for general cleanup)
> > but I assume it is part of wider work and that mlock is unwanted. In
> > such case:
> >
> > Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
> >
> > If it is part of some bigger work, please put a link to lore.kernel.org
> > under separators ---, so everyone can get the context.  
> 
> Will keep that in mind.
> I am not sure if there is a lore.kernel.org link that's easy to find
> for a discussion on this topic, maybe I can describe it here and use
> the link [from this later].
> 
> This was something that popped up during reviews we got from Jonathan
> [or others], saying "please don't use indio_dev->mlock, that is an IIO
> framework lock, and an IIO driver should not use it".

Shortest one is the docs for that lock say don't use it directly in
a driver :)

https://elixir.bootlin.com/linux/latest/source/include/linux/iio/iio.h#L495

> Reasons include [and some may be repeated a bit]:
> - this could cause a deadlock if the IIO framework holds this lock and
> an IIO driver also tries to get a hold of this lock
> - similar to the previous point, this mlock is taken by
> iio_device_claim_direct_mode() and released by
> iio_device_release_direct_mode() ; which means that mlock aims to
> become more of an IIO framework lock, than a general usage lock;
> - this wasn't policed/reviewed intensely in the older driver [a few
> years ago], but has become a point in recent reviews;
> - if we want to develop/enhance the IIO framework, some elements like
> this need to be taken care of, as more drivers get added and more
> complexity gets added;

One side note here is we want to make all this [INTERN] state in 
struct iio_dev opaque to drivers.  It'll take a while as the boundary
gets crossed in various drivers.

> - there is an element of fairness [obviously], where someone writing a
> new IIO driver, takes an older one as example, and gets hit on the
> review; the person feels they did a good job in mimicking the old
> driver; their feeling is correct; the IIO framework should provide
> good references and/or cleanup existing drivers;
> - same as the previous point, we don't want to keep telling people
> writing new IIO drivers [and starting out with IIO] to "not use mlock
> [because it was copied from an old driver]"; it's more/needless review
> work

Good explanation.

Thanks,

Jonathan

> 
> 
> >
> >
> > Best regards,
> > Krzysztof
> >  
> > >
> > > Signed-off-by: Sergiu Cuciurean <sergiu.cuciurean@analog.com>
> > > Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
> > > ---
> > >  drivers/iio/adc/exynos_adc.c | 12 ++++++++----
> > >  1 file changed, 8 insertions(+), 4 deletions(-)
> > >  


  reply	other threads:[~2020-08-29 15:33 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-26 13:22 [PATCH] iio: adc: exynos_adc: Replace indio_dev->mlock with own device lock Alexandru Ardelean
2020-08-27  6:56 ` Krzysztof Kozlowski
2020-08-27  8:53   ` Alexandru Ardelean
2020-08-29 15:33     ` Jonathan Cameron [this message]
2020-08-29 15:35 ` Jonathan Cameron
2020-09-16  9:31 ` [PATCH v2] " Alexandru Ardelean
2020-09-16  9:31   ` Alexandru Ardelean
2020-09-19 15:19   ` Jonathan Cameron
2020-09-19 15:19     ` Jonathan Cameron

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200829163335.3a9c420c@archlinux \
    --to=jic23@kernel.org \
    --cc=alexandru.ardelean@analog.com \
    --cc=ardeleanalex@gmail.com \
    --cc=kgene@kernel.org \
    --cc=krzk@kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sergiu.cuciurean@analog.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.