Messages in this thread |  | | Date | Sat, 30 Dec 2000 13:39:10 +0100 | From | Matthias Andree <> | Subject | Re: Linux 2.2.18: /proc/apm slows system time (was: Linux 2.2.19pre3) |
| |
On Fri, 29 Dec 2000, Erik Mouw wrote:
> On Thu, Dec 28, 2000 at 02:53:37PM +0100, Matthias Andree wrote: > However, reading from /proc/apm also triggers other weird problems: > > - Received characters dropped on serial line. I thought my serial port > was broken, because a 16550 is supposed to have a receive buffer.
I don't know that the Linux driver sets the IRQ trigger to (you can have the 16550 request interrupts after its 16-byte FIFO has 1, 4, 8 or 14 bytes ready for reading), but if it's set to 14 (to reduce the IRQ frequency), you don't have much time at 115200 Bit/s, you have 1 Byte every 87 ms then (it has 10 bit usually, 1 start + 1 stop bit), and reading from /proc/apm stops my system clock for approx. 80 ... 90 ms - then you still have IRQs with higher precedence and whooops, your buffer overruns. Setting the trigger lower would help, but I never looked how this will happen.
(I never run into this problem myself since I have 16750s here which have at least 8 Bytes left when triggering, they have 64 Byte FIFO.)
> I got the same problems with my previous notebook (Asus P6300, PII 266, > 112MB, Intel BX/ZX chipset). It might be a BIOS problem, because both > notebooks use a Phoenix BIOS. OTOH, I can create the same problems with > USB on my desktop (Asus P5A motherboard, K6 333, 160MB, Ali 1541 > chipset, Award BIOS) when I run the GNOME battery_applet. So is this an > Asus problem, or a general APM problem?
My problem shows up on a Gigabyte board with AMIBIOS, so it's certainly not a Phoenix or Asus specific problem.
However, reading from /proc/apm triggers BIOS calls which involve certain action, maybe switching to Real Mode and other things, and I suspect that either IRQs are still disabled while the BIOS is called or the BIOS plays bad games which Linux would have to compensate for. :-/
HTH, Matthias - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |