[lkml]   [1997]   [Oct]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: serial input overrun(s) using ide-cd
    >From: (Alan Cox)

    >>> broken IDE controllers will cause MASSIVE FILESYSTEM DAMAGE
    >>> if the stream of data during a programmed i/o data transfer is
    >>> interrupted by an interrupt.

    >> Given this, I don't see how you could even boot such a system. This
    >> simply can't be the problem . PIO is interruptible.

    >You turn interrupts off first. Otherwise these boards DO corrupt your
    >IDE drive and the result is quite provable..

    Why not make a list of "these boards" instead of assuming the worst
    for all users?

    FreeBSD does not disable interrupts during IDE I/O -- I can beat my
    hard drive and CD-ROM as hard as they will go, even at the same time,
    and NEVER, NEVER, NEVER get serial overruns in FreeBSD.

    Yet I NEVER HEAR ANYONE complaining that FreeBSD corrupted their
    filesystem on an IDE drive because interrupts were enabled during disk
    I/O!!! CMD640 and some other buggy controllers cause problems unless
    the IDE driver recognizes them and programs them accordingly, but any
    such controllers are well known and FreeBSD does not need to disable
    interrupts during disk I/O to avoid filesystem corruption.

    This fear of IDE filesystem corruption seems to have reached mythical
    proportions in the Linux world. Perhaps there is a design weakness no
    one has discovered yet.

    >From: "Richard B. Johnson" <>

    >I'd be willing to bet a dime that the PIO problem is a write-behind cache
    >problem that is being masked by turning off interrupts during PIO
    >operation, I'll bet that changing write-back to write-through "fixes"
    >the problem.

    Sounds plausible.


     \ /
      Last update: 2005-03-22 13:40    [W:0.020 / U:0.588 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site