Milan wrote:
> Thanks for these detailed informations. So you suggest that the IO
> scheduler is not giving enough priority to tasks other than the file
> copy; that's an interesting way of finding the cause of the problem,
> indeed! I suggest you try the new kernel, and if it's not fixed, go to
> the upstream report and explain them your case. You can find many
> different scripts to test the system's responsiveness there, and you'll
> notice that's really tricky (long thread...).
I suggest it's not just about giving I/O priority to tasks other than
the copy, but also giving them enough "anticipatory" time so there
isn't a pair of head seeks for every I/O operation by the non-copying
tasks.
It has to look like this to be efficient:
I/O for copy
I/O for copy
I/O for copy
I/O for copy
I/O for copy <head seeks> I/O for other thing I/O for other thing I/O for other thing I/O for other thing I/O for other thing <head seeks>
I/O for copy
I/O for copy
I/O for copy
I/O for copy
I/O for copy <head seeks> I/O for other thing I/O for other thing I/O for other thing etc.
And not
I/O for copy <head seeks> I/O for other thing <head seeks>
I/O for copy <head seeks> I/O for other thing <head seeks>
I/O for copy <head seeks> I/O for other thing <head seeks> etc.
Milan wrote:
> Thanks for these detailed informations. So you suggest that the IO
> scheduler is not giving enough priority to tasks other than the file
> copy; that's an interesting way of finding the cause of the problem,
> indeed! I suggest you try the new kernel, and if it's not fixed, go to
> the upstream report and explain them your case. You can find many
> different scripts to test the system's responsiveness there, and you'll
> notice that's really tricky (long thread...).
I suggest it's not just about giving I/O priority to tasks other than
the copy, but also giving them enough "anticipatory" time so there
isn't a pair of head seeks for every I/O operation by the non-copying
tasks.
It has to look like this to be efficient:
I/O for copy
<head seeks>
I/ O for other thing
I/ O for other thing
I/ O for other thing
I/ O for other thing
I/ O for other thing
<head seeks>
<head seeks>
I/ O for other thing
I/ O for other thing
I/ O for other thing
etc.
I/O for copy
I/O for copy
I/O for copy
I/O for copy
I/O for copy
I/O for copy
I/O for copy
I/O for copy
I/O for copy
And not
I/O for copy
<head seeks>
I/ O for other thing
<head seeks>
<head seeks>
I/ O for other thing
<head seeks>
<head seeks>
I/ O for other thing
<head seeks>
etc.
I/O for copy
I/O for copy