mm: Make task in balance_dirty_pages() killable
[pandora-kernel.git] / mm / page-writeback.c
index a3278f0..79c3441 100644 (file)
@@ -1133,7 +1133,7 @@ pause:
                                          pages_dirtied,
                                          pause,
                                          start_time);
-               __set_current_state(TASK_UNINTERRUPTIBLE);
+               __set_current_state(TASK_KILLABLE);
                io_schedule_timeout(pause);
 
                dirty_thresh = hard_dirty_limit(dirty_thresh);
@@ -1145,6 +1145,9 @@ pause:
                 */
                if (nr_dirty < dirty_thresh)
                        break;
+
+               if (fatal_signal_pending(current))
+                       break;
        }
 
        if (!dirty_exceeded && bdi->dirty_exceeded)