Adrian Hunter and Ulf Hansson
e0097cf5f2
mmc: queue: Fix queue thread wake-up
...
The only time the driver sleeps expecting to be woken upon the arrival of
a new request, is when the dispatch queue is empty. The only time that it
is known whether the dispatch queue is empty is after NULL is returned
from blk_fetch_request() while under the queue lock.
Recognizing those facts, simplify the synchronization between the queue
thread and the request function. A couple of flags tell the request
function what to do, and the queue lock and barriers associated with
wake-ups ensure synchronization.
The result is simpler and allows the removal of the context_info lock.
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com >
Reviewed-by: Linus Walleij <linus.walleij@linaro.org >
Reviewed-by: Harjani Ritesh <riteshh@codeaurora.org >
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org >
2016-12-05 10:31:03 +01:00
..
2016-10-12 11:01:37 -07:00
2016-10-05 10:11:24 -07:00
2016-11-10 20:13:08 +01:00
2016-11-29 09:17:20 +01:00
2016-10-11 15:06:33 -07:00
2016-10-17 16:26:29 +01:00
2016-11-29 09:00:53 +01:00
2016-10-29 16:23:48 -04:00
2016-10-29 12:00:39 -04:00
2016-12-05 10:31:03 +01:00
2016-10-28 09:58:36 +02:00
2016-10-03 19:43:08 -07:00
2016-11-05 13:45:02 +05:30
2016-10-11 13:22:22 -07:00
2016-10-22 17:08:07 -04:00
2016-10-07 09:45:43 -07:00
2016-09-30 09:13:58 -07:00
2016-09-30 09:14:10 -07:00
2016-11-14 10:30:58 -05:00
2016-11-11 23:23:02 +01:00
2016-09-27 12:54:03 +02:00
2016-10-11 15:06:31 -07:00
2016-10-11 15:06:31 -07:00
2016-09-22 07:48:03 -06:00
2016-10-07 18:46:26 -07:00
2016-10-14 12:18:50 -07:00
2016-10-09 17:32:20 -07:00
2016-10-07 18:46:28 -07:00
2016-11-16 13:21:45 -05:00
2016-09-29 01:35:35 -04:00
2016-10-14 12:18:50 -07:00
2016-10-17 15:27:27 -07:00
2016-10-07 18:46:29 -07:00
2016-09-27 21:20:53 -04:00
2016-10-10 14:51:45 -07:00
2016-10-15 10:03:15 -07:00
2016-11-11 08:12:37 -08:00
2016-10-07 18:46:30 -07:00
2016-10-20 16:35:50 +02:00
2016-10-20 20:10:17 +02:00
2016-10-07 18:46:30 -07:00
2016-10-11 15:06:30 -07:00
2016-09-26 22:16:41 +05:30
2016-10-11 15:06:32 -07:00
2016-10-14 14:26:58 -07:00
2016-10-06 09:07:44 -04:00
2016-09-30 10:05:46 -07:00
2016-10-03 09:11:14 -07:00
2016-10-15 10:03:15 -07:00
2016-11-11 08:12:37 -08:00
2016-10-30 13:09:42 -04:00
2016-10-07 15:15:33 -07:00
2016-10-07 18:46:26 -07:00
2016-10-06 11:48:41 -07:00
2016-10-10 14:51:45 -07:00
2016-09-29 10:40:13 +02:00
2016-11-17 09:46:56 -08:00
2016-10-07 18:46:29 -07:00
2016-10-29 15:03:14 -04:00
2016-09-24 10:48:18 +02:00
2016-09-24 08:01:26 -04:00
2016-10-07 23:50:39 -04:00
2016-10-15 10:03:15 -07:00
2016-11-19 09:42:35 -08:00
2016-10-26 15:45:38 +10:00
2016-10-20 15:51:28 +11:00
2016-11-03 16:05:44 -04:00
2016-10-07 18:46:26 -07:00
2016-10-03 13:22:39 -07:00
2016-10-16 11:02:31 +02:00
2016-10-27 18:43:43 -07:00
2016-10-09 12:23:38 -07:00
2016-10-07 18:46:30 -07:00
2016-10-11 15:06:33 -07:00
2016-10-11 15:06:33 -07:00
2016-10-11 15:06:33 -07:00
2016-10-05 10:11:24 -07:00
2016-09-22 11:50:29 -04:00
2016-09-30 19:13:42 -07:00
2016-09-24 10:48:32 +02:00
2016-09-27 12:33:47 +02:00
2016-10-07 18:46:28 -07:00
2016-10-07 18:46:29 -07:00
2016-10-07 18:46:27 -07:00
2016-10-24 19:13:20 -07:00
2016-10-27 09:27:57 -07:00
2016-09-30 12:46:48 -05:00
2016-09-25 23:41:39 -04:00
2016-09-25 23:41:39 -04:00
2016-10-07 09:20:53 -07:00
2016-11-23 20:18:36 -05:00
2016-09-25 14:38:48 +02:00
2016-09-25 23:34:19 +02:00
2016-09-27 14:34:01 -04:00
2016-09-22 15:54:27 -04:00
2016-10-07 18:46:30 -07:00
2016-10-19 11:36:22 -06:00
2016-09-28 17:43:15 +02:00
2016-10-03 23:38:11 +02:00
2016-09-28 08:53:14 +05:30
2016-10-07 18:46:28 -07:00
2016-10-07 18:46:27 -07:00
2016-10-07 18:46:27 -07:00
2016-10-11 15:06:34 -07:00
2016-10-07 11:46:37 -07:00
2016-09-22 15:25:54 +02:00
2016-10-28 11:06:25 +02:00
2016-09-22 08:21:21 -04:00
2016-10-05 18:24:00 -04:00
2016-10-14 11:36:59 -07:00
2016-09-27 21:52:00 -04:00
2016-10-08 11:06:08 -04:00
2016-10-09 12:23:38 -07:00
2016-09-22 19:59:41 -05:00
2016-09-30 15:26:52 -07:00
2016-10-11 15:06:30 -07:00
2016-10-15 10:03:15 -07:00
2016-10-29 12:14:39 -06:00
2016-10-11 15:06:32 -07:00
2016-10-02 22:50:21 -07:00
2016-11-22 12:33:43 +01:00
2016-10-11 15:06:33 -07:00
2016-10-07 18:46:30 -07:00
2016-09-28 17:46:46 +02:00
2016-10-26 17:31:23 -04:00
2016-10-05 18:23:36 -04:00
2016-10-07 18:46:27 -07:00
2016-11-10 10:10:37 +01:00
2016-10-17 09:50:56 -07:00
2016-10-06 09:52:23 -07:00
2016-09-27 14:35:21 +08:00
2016-10-20 13:27:47 +02:00
2016-09-22 17:02:55 +02:00
2016-09-30 11:46:40 +02:00
2016-10-10 13:38:49 -07:00
2016-09-22 20:00:36 -05:00
2016-09-30 10:54:03 +02:00
2016-10-08 10:27:10 +02:00
2016-10-07 18:46:27 -07:00
2016-10-07 21:48:36 -04:00