Artem Bityutskiy
297252c81d
writeback: do not lose wake-ups in bdi threads
...
Currently, bdi threads ('bdi_writeback_thread()') can lose wake-ups. For
example, if 'bdi_queue_work()' is executed after the bdi thread have had
finished 'wb_do_writeback()' but before it called
'schedule_timeout_interruptible()'.
To fix this issue, we have to check whether we have works to process after we
have changed the task state to 'TASK_INTERRUPTIBLE'.
This patch also clean-ups handling of the cases when 'dirty_writeback_interval'
is zero or non-zero.
Additionally, this patch also removes unneeded 'list_empty_careful()' call.
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com >
Reviewed-by: Christoph Hellwig <hch@lst.de >
Signed-off-by: Jens Axboe <jaxboe@fusionio.com >
2010-08-07 18:53:55 +02:00
..
2010-07-27 14:52:04 -05:00
2010-05-27 22:15:42 -04:00
2010-05-27 22:05:02 -04:00
2010-07-06 08:54:03 +02:00
2010-05-27 09:12:56 -07:00
2010-05-27 09:12:41 -07:00
2010-05-27 22:06:06 -04:00
2010-08-07 18:20:39 +02:00
2010-05-12 18:23:58 -07:00
2010-07-27 13:11:17 -07:00
2010-07-30 18:56:09 -07:00
2010-08-07 18:53:13 +02:00
2010-06-04 17:16:29 -04:00
2010-05-19 22:41:57 -04:00
2010-05-21 18:31:12 -04:00
2010-04-30 14:52:51 -05:00
2010-07-28 19:59:24 -07:00
2010-08-07 18:20:39 +02:00
2010-06-25 01:20:37 +02:00
2010-06-25 01:20:37 +02:00
2010-06-05 11:51:27 -04:00
2010-05-27 22:16:02 -04:00
2010-05-27 09:12:56 -07:00
2010-06-01 13:32:11 -07:00
2010-05-30 09:16:14 -07:00
2010-08-07 18:20:39 +02:00
2010-05-17 05:27:03 +02:00
2010-05-27 22:05:02 -04:00
2010-05-27 22:05:02 -04:00
2010-05-27 22:05:02 -04:00
2010-05-27 22:06:06 -04:00
2010-05-27 09:12:56 -07:00
2010-05-21 19:30:41 +02:00
2010-07-15 15:17:47 -07:00
2010-07-21 09:25:42 -07:00
2010-05-30 09:11:11 -07:00
2010-05-27 22:05:02 -04:00
2010-06-04 17:16:30 -04:00
2010-05-27 22:05:02 -04:00
2010-08-01 15:10:01 -07:00
2010-06-09 12:43:04 -07:00
2010-08-07 18:20:39 +02:00
2010-05-21 18:31:14 -04:00
2010-05-27 22:05:02 -04:00
2010-07-18 10:09:25 -07:00
2010-05-27 22:06:06 -04:00
2010-07-19 09:22:50 +02:00
2010-07-29 15:16:17 -07:00
2010-05-27 22:06:06 -04:00
2010-07-19 14:56:17 +10:00
2010-05-27 22:15:47 -04:00
2010-05-30 09:11:11 -07:00
2010-05-27 22:15:42 -04:00
2010-05-23 08:27:42 +01:00
2010-07-26 12:02:41 -07:00
2010-06-29 15:29:32 -07:00
2010-07-19 14:56:17 +10:00
2010-05-30 09:11:11 -07:00
2010-05-30 09:11:11 -07:00
2010-07-20 09:43:39 +10:00
2010-05-27 22:03:07 -04:00
2010-05-27 22:03:05 -04:00
2010-05-27 22:15:33 -04:00
2010-05-27 22:05:02 -04:00
2010-06-01 08:11:06 -07:00
2010-06-29 15:29:31 -07:00
2010-08-07 18:20:39 +02:00
2010-08-07 18:25:34 +02:00
2010-05-27 22:15:33 -04:00
2010-04-29 08:44:37 -07:00
2010-06-04 15:21:44 -07:00
2010-07-19 14:56:17 +10:00
2010-05-27 22:15:33 -04:00
2010-05-21 18:31:16 -04:00
2010-05-11 17:43:58 +02:00
2010-05-27 09:12:46 -07:00
2010-06-29 15:29:32 -07:00
2010-05-27 22:03:07 -04:00
2010-08-07 18:53:55 +02:00
2010-05-21 18:31:18 -04:00
2010-07-19 14:56:17 +10:00
2010-05-21 18:31:16 -04:00
2010-05-21 18:31:18 -04:00
2010-06-04 17:16:28 -04:00
2010-05-21 18:31:17 -04:00
2010-07-19 14:56:17 +10:00
2010-05-27 22:03:06 -04:00
2010-05-18 08:57:00 +10:00
2010-05-21 18:31:17 -04:00
2010-06-10 19:08:34 +02:00
2010-05-27 09:12:56 -07:00
2010-08-07 18:52:56 +02:00
2010-05-21 18:31:17 -04:00
2010-06-29 10:38:22 -07:00
2010-06-01 12:42:12 +02:00
2010-05-20 13:21:42 -07:00
2010-05-21 18:31:18 -04:00