Re: BUG 2.6.7 hangs on boot (rx2600)

Bjorn Helgaas
2004-06-23T22:50:43Z

On Wednesday 23 June 2004 8:26 am, Tian, Kevin wrote:
> I'm suspecting line in ia64_switch_to:
> /*
> * If we've already mapped this task's page, we can skip doing it
> again.
> */
> (p6) cmp.eq p7,p6=r27,r27 <----- Should here cmp.eq.unc be used
> instead? No time to test it now...

Your change evidently solves the problem, but I don't understand
how. Can you enlighten me? Here's the essence of the code:

cmp.eq p7,p6=r25,in0
(p6) cmp.eq p7,p6=r26,r27
(p6) br.cond.dpnt .map

As I understand it, adding ".unc" to the second cmp instruction
should only make a difference when p6=0. In that case, after
the old cmp (no ".unc") we'd have p6=0 and p7=1, while after
the new cmp (with ".unc") we'd have p6=0 and p7=0. But we
never test p7, so I don't see what difference it makes.