Re: [PATCH] RFC: mmc: block: replace semaphore with freezing

Arnd Bergmann
2016-11-16T16:33:04Z

On Wednesday, November 16, 2016 4:20:47 PM CET Linus Walleij wrote:
> On Wed, Nov 16, 2016 at 1:46 PM, Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> > Well, we had a session at the KS regarding usage of the freezer on
> > kernel threads and the conclusion was to get rid of that (as opposed
> > to freezing user space, which is necessary IMO). So this change would
> > go in the opposite direction.
>
> Aha so I should not make this thread look like everyone else, instead
> everyone else should look like this thread, haha
>
> Ah well, I'll just drop it.

It would still be good to remove the semaphore and do something else,
as we also want to remove all semaphores. ;-)

We could check "mq->flags & MMC_QUEUE_SUSPENDED" in the kthread to see
if the queue is currently suspended, and otherwise go to sleep there,
and then call wake_up() in the resume function.

While looking at that code, I just noticed that access to
mq->flags is racy and should be fixed as well.

Arnd