[PATCH 0/2] I/OAT: watchdog/reset and tcp_dma_copybreak - Kernel

This is a discussion on [PATCH 0/2] I/OAT: watchdog/reset and tcp_dma_copybreak - Kernel ; I am resending these patches also to netdev list. It has been a while since last ioatdma update. Here are two patches that are a result of ioatdma sustaining and performance tuning efforts for both I/OAT versions 1.2 and 2.0. ...

+ Reply to Thread
Results 1 to 6 of 6

Thread: [PATCH 0/2] I/OAT: watchdog/reset and tcp_dma_copybreak

  1. [PATCH 0/2] I/OAT: watchdog/reset and tcp_dma_copybreak

    I am resending these patches also to netdev list.

    It has been a while since last ioatdma update.
    Here are two patches that are a result of
    ioatdma sustaining and performance tuning efforts
    for both I/OAT versions 1.2 and 2.0.

    This patches apply to kernel 2.6.26-rc9.

    Maciej Sosnowski (2):
    I/OAT: Add watchdog/reset functionality to ioatdma driver
    I/OAT: tcp_dma_copybreak default value dependant on I/OAT version

    drivers/dma/dmaengine.c | 3
    drivers/dma/ioat_dma.c | 273 +++++++++++++++++++++++++++++++++++-
    drivers/dma/ioatdma.h | 10 +
    include/linux/dmaengine.h | 2
    4 files changed, 281 insertions(+), 7 deletions(-)

    --
    Maciej
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  2. Re: [PATCH 1/2] I/OAT: Add watchdog/reset functionality to ioatdma driver

    Maciej Sosnowski wrote:
    > Due to occasional DMA channel hangs observed for I/OAT versions 1.2 and 2.0
    > a watchdog has been introduced to check every 2 seconds
    > if all channels progress normally.
    > If stuck channel is detected, driver resets it.
    > The reset is done in two parts. The second part is scheduled
    > by the first one to reinitialize the channel after the restart.
    >


    Is all this transparent to the caller? Are you reposting all copies to
    the hardware after the reset? Or are we going to get some DMA_ERROR
    return values ?

    > Sleep time in self_test has been increased to 10ms
    > since in some cases 1ms appeared not to be enough


    Thanks Maciej, this helps a lot here.

    Brice

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  3. RE: [PATCH 1/2] I/OAT: Add watchdog/reset functionality to ioatdma driver

    Brice Goglin wrote:
    > Maciej Sosnowski wrote:
    >> Due to occasional DMA channel hangs observed for I/OAT versions 1.2
    >> and 2.0 a watchdog has been introduced to check every 2 seconds
    >> if all channels progress normally.
    >> If stuck channel is detected, driver resets it.
    >> The reset is done in two parts. The second part is scheduled
    >> by the first one to reinitialize the channel after the restart.
    >>

    >
    > Is all this transparent to the caller? Are you reposting all copies to
    > the hardware after the reset? Or are we going to get some DMA_ERROR
    > return values ?


    Yes, it is transparent.
    The driver should take care of all the descriptors
    that have not been served before the reset.

    >> Sleep time in self_test has been increased to 10ms
    >> since in some cases 1ms appeared not to be enough

    >
    > Thanks Maciej, this helps a lot here.


    Sure.

    >
    > Brice


    Regards,
    Maciej
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  4. Re: [PATCH 1/2] I/OAT: Add watchdog/reset functionality to ioatdma driver

    On Mon, Jul 14, 2008 at 7:17 AM, Brice Goglin wrote:
    > Maciej Sosnowski wrote:
    >> Due to occasional DMA channel hangs observed for I/OAT versions 1.2 and 2.0
    >> a watchdog has been introduced to check every 2 seconds
    >> if all channels progress normally.
    >> If stuck channel is detected, driver resets it.
    >> The reset is done in two parts. The second part is scheduled
    >> by the first one to reinitialize the channel after the restart.
    >>

    >
    > Is all this transparent to the caller? Are you reposting all copies to
    > the hardware after the reset? Or are we going to get some DMA_ERROR
    > return values ?
    >
    >> Sleep time in self_test has been increased to 10ms
    >> since in some cases 1ms appeared not to be enough

    >
    > Thanks Maciej, this helps a lot here.
    >


    Can I interpret this as a "Tested-by" for the watchdog and/or the self_test fix?

    > Brice


    Thanks,
    Dan
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  5. Re: [PATCH 1/2] I/OAT: Add watchdog/reset functionality to ioatdma driver

    Dan Williams wrote:
    >>> Sleep time in self_test has been increased to 10ms
    >>> since in some cases 1ms appeared not to be enough

    >> Thanks Maciej, this helps a lot here.
    >>

    >
    > Can I interpret this as a "Tested-by" for the watchdog and/or the self_test fix?


    The sleep time increase to 10ms has been tested for a while (and helps a
    lot here).

    I don't know about the watchdog yet.

    Brice
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  6. Re: [PATCH 1/2] I/OAT: Add watchdog/reset functionality to ioatdma driver

    On Fri, Jul 18, 2008 at 2:51 PM, Brice Goglin wrote:
    > Dan Williams wrote:
    >>>> Sleep time in self_test has been increased to 10ms
    >>>> since in some cases 1ms appeared not to be enough
    >>> Thanks Maciej, this helps a lot here.
    >>>

    >>
    >> Can I interpret this as a "Tested-by" for the watchdog and/or the self_test fix?

    >
    > The sleep time increase to 10ms has been tested for a while (and helps a
    > lot here).
    >


    On my system I can still occasionally reproduce the self-test failure
    with this longer timeout. I think we should hold off on this band-aid
    patch until the root cause is found. We can get this fix in after the
    merge window closes.

    > I don't know about the watchdog yet.


    This one has been observed to fix the hang condition so I will include
    it in my upcoming pull request. Holler if your testing proves
    otherwise.

    Thanks,
    Dan
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

+ Reply to Thread