* v2.6.34: IDE on IRQ15 starving Serial on IRQ10, not on v2.4
@ 2010-10-20 10:18 Matteo Fortini
0 siblings, 0 replies; only message in thread
From: Matteo Fortini @ 2010-10-20 10:18 UTC (permalink / raw)
To: linux-kernel
Hi,
we were having serial buffer overruns on a 4800bps 16550A with a Geode
GX1 SBC,
the serial port is on IRQ10, so it should have higher priority than IDE
(which is on IRQ15).
The PIC is in XT-PIC-XT mode, we have no APIC unfortunately.
The overruns are triggered easily with a dd if=/dev/hda of=/dev/null
IDE is a CF card using PIO mode 4, no DMA enabled.
We tried various build options, like preemption etc., and we tried both
ide and libata.
We traced this down to the fact that the IDE subsystem is keeping the
serial IRQ pending for the whole max request time, which is 256 requests
in our current setup.
We fixed it by changing the value at drivers/ide/ide-probe.c:751 from
256 to e.g. 32, which gave the IDE disk less time to keep the others
pending, but we feel this could be some other issue.
The unmaskirq option as in hdparm -u1 /dev/hda was not fixing the
problem, and changing the transfer mode to 32bit w/sync didn't either.
The strange thing is that the behavior is completely different in Linux
2.4.x: we can see with a scope that the IDE request is continuously
interrupted by the serial port, which should be the default with the
8259 PIC.
Thank you,
Matteo
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2010-10-20 10:40 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-20 10:18 v2.6.34: IDE on IRQ15 starving Serial on IRQ10, not on v2.4 Matteo Fortini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).