Re: patch fr1-2.17 does not work with kernel 2.4.30
"Peter T. Breuer" <[email protected]>
| Newsgroups | gmane.linux.enbd.general |
|---|---|
| Message-ID | <[email protected]> |
"Also sprach Peter T. Breuer:"
> limiting the speed. Try changing the throttle numbers in
> /proc/sys/dev/raid.
If that doesn't help, you might try commenting this if-block in md.c:
if (md_need_resched(current)) {
/* PTB this seems not to progress when over loop dev */
current->state = TASK_INTERRUPTIBLE;
md_schedule_timeout(1);
}
The placement of this "swap yourself out for one jiffy" has always
seemed to me to be unfortunate - just before the timing calculation,
but after the data for the calculation has already been collected.
On a heavily SMP machine, I don't see why you should even care if one
thread takes the cpu more or less continuousy for a while - if it is
doing i/o it will sleep intermittently anyway, waiting on i/o, and if
it is not doing i/o, then it's just counting fast and letting it count
will let it finish fastest while you have other cpus to do i/o with.
Plus if you have preemption on, the counting thread will be switched in
and out anyway.
Indeed, the block serves to limit i/o, but I don't think it does it
very well.
Peter