Re: 2.5.70-mm8: freeze after starting X

Andrew Morton (akpm@digeo.com)
Wed, 11 Jun 2003 17:24:44 -0700


Robert Love <rml@tech9.net> wrote:
>
> On Wed, 2003-06-11 at 16:34, Robert Love wrote:
>
> > I will debunk both theories: its not Radeon (I have a Matrox) and its
> > not the pci-init-ordering-fix patch (I already tried that).
>
> Ah, it is the anticipatory I/O scheduler.
>
> There is a logic thinko somewhere... I have not found it yet, but I have
> narrowed it down to something which the attached patch fixes (i.e.,
> apply this patch and the problem is fixed).
>
> Maybe Nick can see the bug and short circuit my search? The problem is
> related to the as-autotune-write-batches patch.

Do you know what the actual oops is?

Odd that starting the X server triggers it. Be interesting if your patch
fixes things for Brian.

There appear to be several divide-by-zero possibilities in there. A random
patch would be:

diff -puN drivers/block/as-iosched.c~a drivers/block/as-iosched.c
--- 25/drivers/block/as-iosched.c~a Wed Jun 11 17:23:42 2003
+++ 25-akpm/drivers/block/as-iosched.c Wed Jun 11 17:23:42 2003
@@ -950,13 +950,13 @@ void update_write_batch(struct as_data *
write_time = 0;

if (write_time > batch + 5 && !ad->write_batch_idled) {
- if (write_time / batch > 2)
+ if (batch && (write_time / batch > 2))
ad->write_batch_count /= 2;
else
ad->write_batch_count--;

} else if (write_time + 5 < batch && ad->current_write_count == 0) {
- if (batch / write_time > 2)
+ if (write_time && (batch / write_time > 2))
ad->write_batch_count *= 2;
else
ad->write_batch_count++;

_

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/