Re: [BUG] 2.6.2 crazy mouse under heavy load

From: Bob Gill
Date: Thu Feb 05 2004 - 15:59:26 EST


The exception seems to be coming from
linux-2.6.2/drivers/input/mouse/psmouse-base.c, specifically from

if (psmouse->state == PSMOUSE_ACTIVATED &&
psmouse->pktcnt && time_after(jiffies, psmouse->last +
HZ/2)) {
printk(KERN_WARNING "psmouse.c: %s at %s lost
synchronization, throwing %d bytes away.\n",
psmouse->name, psmouse->phys, psmouse->pktcnt);
psmouse->pktcnt = 0;
}


where (for me) HZ is 1804768000, and therefore HZ/2 is 902384000,
psmouse->pktcnt is 3, and (I assume) PSMOUSE_ACTIVATED is non-0 after
boot. I assume that pktcnt is fed by interrupt, and the problem then is
that psmouse->last + HZ/2 blows past the jiffies value, causing the
warning message to be issued. When mouse service finally comes back,
pktcnt is non-zero (and possibly whatever the maximum is that it will
hold), and when it flushes, the mouse pointer goes nuts for a second.
The real problem then, is why does the sum of ps->last + HZ/2 grow to
beyond the size of jiffies (or what is delaying the mouse service)?

This is just a rough guesstimate of what is going on, but seems to fit
the facts. Cheers!

Bob

-
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/