I have just replaced prepare_to_wait_exclusive(&rl->wait[rw], &wait, TASK_UNINTERRUPTIBLE); and io_schedule(); in the function get_request_wait) agains msleep_interruptible(500). The thoughtput of the two dd processes is at 57MB/s (27/30). The desktop freezes up to 100 seconds.
I have just replaced prepare_ to_wait_ exclusive( &rl->wait[ rw], &wait, TASK_UNINTERRUP TIBLE); and io_schedule(); in the function get_request_wait) agains msleep_ interruptible( 500). The thoughtput of the two dd processes is at 57MB/s (27/30). The desktop freezes up to 100 seconds.