Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 May 2019 00:21:39 +0100
From:      Steven Hartland <steven.hartland@multiplay.co.uk>
To:        Conrad Meyer <cem@freebsd.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org,  svn-src-head@freebsd.org
Subject:   Re: svn commit: r348255 - head/sys/kern
Message-ID:  <CAHEMsqZ_d8Q8tWiG_Zn%2BdL7uDGPKLGBxn9aUMBmGPe3RwcTQ7w@mail.gmail.com>
In-Reply-To: <201905242233.x4OMXEAr071844@repo.freebsd.org>
References:  <201905242233.x4OMXEAr071844@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Just wanted to say I really appreciate the details in this commit message.

Its often the case the message get overlooked when it comes to the time
needed to write a truly useful message to others and this a great example
of the quality we should all try to follow.

  Regards
  Steve

On Fri, 24 May 2019 at 23:33, Conrad Meyer <cem@freebsd.org> wrote:

> Author: cem
> Date: Fri May 24 22:33:14 2019
> New Revision: 348255
> URL: https://svnweb.freebsd.org/changeset/base/348255
>
> Log:
>   Disable intr_storm_threshold mechanism by default
>
>   The ixl.4 manual page has documented that the threshold falsely detects
>   interrupt storms on 40Gbit NICs as long ago as 2015, and we have seen
>   similar false positives with the ioat(4) DMA device (which can push
> GB/s).
>
>   For example, synthetic load can be generated with tools/tools/ioat
>   'ioatcontrol 0 200 8192 1 1000' (allocate 200x8kB buffers, generate an
>   interrupt for each one, and do this for 1000 milliseconds).  With
>   storm-detection disabled, the Broadwell-EP version of this device is
> capable
>   of generating ~350k real interrupts per second.
>
>   The following historical context comes from jhb@: Originally, the
> threshold
>   worked around incorrect routing of PCI INTx interrupts on single-CPU
> systems
>   which would end up in a hard hang during boot.  Since the threshold was
>   added, our PCI interrupt routing was improved, most PCI interrupts use
>   edge-triggered MSI instead of level-triggered INTx, and typical systems
> have
>   multiple CPUs available to service interrupts.
>
>   On the off chance that the threshold is useful in the future, it remains
>   available as a tunable and sysctl.
>
>   Reviewed by:  jhb
>   Sponsored by: Dell EMC Isilon
>   Differential Revision:        https://reviews.freebsd.org/D20401
>
> Modified:
>   head/sys/kern/kern_intr.c
>
> Modified: head/sys/kern/kern_intr.c
>
> ==============================================================================
> --- head/sys/kern/kern_intr.c   Fri May 24 22:30:40 2019        (r348254)
> +++ head/sys/kern/kern_intr.c   Fri May 24 22:33:14 2019        (r348255)
> @@ -91,7 +91,7 @@ struct proc *intrproc;
>
>  static MALLOC_DEFINE(M_ITHREAD, "ithread", "Interrupt Threads");
>
> -static int intr_storm_threshold = 1000;
> +static int intr_storm_threshold = 0;
>  SYSCTL_INT(_hw, OID_AUTO, intr_storm_threshold, CTLFLAG_RWTUN,
>      &intr_storm_threshold, 0,
>      "Number of consecutive interrupts before storm protection is
> enabled");
>
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHEMsqZ_d8Q8tWiG_Zn%2BdL7uDGPKLGBxn9aUMBmGPe3RwcTQ7w>