Re: HPET regression in 2.6.26 versus 2.6.25 -- found another userwith the same regression

From: Ingo Molnar
Date: Sat Aug 23 2008 - 11:56:32 EST



* David Witbrodt <dawitbro@xxxxxxxxxxxxx> wrote:

> for (;;) {
> tmp = *p;
> if (!tmp || tmp->start > end) {
> +insert:
> new->sibling = tmp;
> *p = new;
> new->parent = root;
> @@ -164,7 +165,10 @@ static struct resource * __request_resource(struct resource *root, struct resour
> p = &tmp->sibling;
> if (tmp->end < start)
> continue;
> - return tmp;
> + printk("ignoring resource conflict between %s/{%p..%p} and %s/{%p..%p}\n", new->name,
> + (void *)new->start, (void *)new->end, tmp->name, (void *)tmp->start, (void *)tmp->end);
> + WARN_ON(1);
> + goto insert;

sorry about that, my first patch was more broken than i thought (it will
basically hang on _any_ box), please try the second patch.

Note how the above hack code does a stupid goto, and 'p' is updated for
the next loop iteration already. The second version of the debug patch
only updates 'p' in the 'continue' case and will hopefully get you much
further into bootup!

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