lkml.org 
[lkml]   [2012]   [Sep]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC][PATCH] Reset PCIe devices to address DMA problem on kdump with iommu
    (2012/09/11 23:43), Vivek Goyal wrote:
    > On Tue, Sep 11, 2012 at 07:32:35PM +0900, Takao Indoh wrote:
    >
    > [..]
    >> I'll post new patch which clears bus master bit and resets devices in
    >> second kernel.
    >>
    >> As to the boot parameter to enable this function, you suggested using
    >> reset_devices. I found that on a certain platform resetting devices
    >> caused PCIe error due to a hardware bug. Therefore I think we need
    >> new parameter apart from reset_devices to disable this function on
    >> such a machine.
    >
    > Can you explain a bit more how the error happens. I still don't think
    > that because of a bug in a platform somewhere we should be introducing
    > a separate command line parameter and not reuse the exisiting one. Also
    > you have not explained what's the bug and how a new parameter will
    > avoid the bug.

    The bug I mentioned is that ACS Violation occurs at PCIe switch when
    reading PCI configuration after device reset. I got information that
    this violation is caused by PCIe switch bug. The machine becomes fatal
    status by this error.

    The reason why I try to introduce new parameter is that I want to avoid
    regression by this patch. Let's say this patch was included in kernel
    and its reset function was enabled by reset_devices as you said. AFAIK
    reset_devices is always needed for kdump, so it means that devices are
    always reset at kdump boot time. It causes a regression that system
    always becomes abnormal status when we run kdump on the machine which has
    a bug I mentioned.

    To avoid this regression, I want to separate reset_devices from this
    reset function. Or how about this?
    - if user specify reset_devices, devices are reset by this patch, as you
    said.
    - To avoid a regression I said, add new parameter like "pci=noreset".
    If this parameter is specified, the reset function I add is disabled
    and we can avoid regression.

    Thanks,
    Takao Indoh



    \
     
     \ /
      Last update: 2012-09-12 11:42    [W:0.028 / U:0.336 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site