On Thu, 2005-07-21 at 14:04 -0400, Daniel B. wrote:
> Miquel van Smoorenburg wrote:
> 
> > In article <[EMAIL PROTECTED]>,
> > Daniel B. <[EMAIL PROTECTED]> wrote:
> > 
> >>Does anyone know why Linux can't seem to maintain a diald-dialed serial
> >>PPP connection while performing lots of disk I/O, especially on a PIO-mode
> >>IDE disk?
> > 
> > 
> > Because the IDE driver turns off interrupt processing completely
> > when issuing commands to / reading data from the drive. With DMA,
> > you don't really notice, in PIO mode, you do ..
> 
> If it turns off interrupt processing completely, how would, say,
> keyboard and timer interrupts get processed?  Wouldn't I be seeing
> keystrokes getting dropped occasionally?

It blocks them, ofcourse. The hardware still sets the interrupt bit.

> 
> Do you mean that interrupt handling is _suspended_ when writing
> to/reading from the drive (that is, other interrupts aren't ignored
> entirely; just deferred)?

Same difference :)

> 
> 
> >>Does the kernel not handle serial port interrupts with higher priority
> >>than disk interrupts to make sure that serial data doesn't overrun
> >>buffers?
> > 
> > 
> > Because the IDE driver simply turns all interrupts *off* ...
> 
> I would think that even if the kernel IDE code had to disable
> interrupts while performing a PIO-mode transfer, as soon as it
> re-enabled interrupts (at the end of the IDE operation), pending
> interrupts would be handled.
> 
> Does one IDE operation (in PIO mode) take so long that the
> serial port buffer overflows before the disk operation is done?

Indeed.

> Or are pending interrupts not all processed before a subsequent
> IDE operation is started?
> 
> 
> > To change this, see "man hdparm", -u option.
> 
> Well, given that the manual page says:
> 
>    -u ... Use this feature with caution: some drive/controller
>       combinations do not tolerate the increased I/O latencies
>       possible when this feature is enabled, resulting in massive
>       filesystem corruption.
> 
> I'm not about to try that, since the reason I'm using PIO mode
> in the first place is because I get massive file system corruption
> when I use DMA mode with IDE controllers on my motherboard (Asus
> A7M266-D; AMD 762(?) chipset).

Have you reported this to the kernel IDE maintainers ?

> 
> Would setting one of hdparm's sector-count options to a small value
> decrease the length of time interrupts are disabled and reduce the
> chances of problems with serial communication?

I don't know, I try to avoid broken hardware :)

Mike.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED] 
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to