linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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).