Re: [PATCH] RFC: mmc: block: replace semaphore with freezing
From: Arnd Bergmann <arnd@arndb.de>
Date: 2016-11-16 16:33:04
Also in:
linux-mmc
From: Arnd Bergmann <arnd@arndb.de>
Date: 2016-11-16 16:33:04
Also in:
linux-mmc
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 [off-list ref] wrote:quoted
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