Re: [PATCH] Netdump for review and testing -- preliminary version

From: Ryan Stone <rysto32_at_gmail.com>
Date: Wed, 13 Oct 2010 13:46:56 -0400
On Fri, Oct 8, 2010 at 9:15 PM, Robert Watson <rwatson_at_freebsd.org> wrote:
> +               /*
> +                * get and fill a header mbuf, then chain data as an
> extended
> +                * mbuf.
> +                */
> +               MGETHDR(m, M_DONTWAIT, MT_DATA);
>
> The idea of calling into the mbuf allocator in this context is just freaky,
> and may have some truly awful side effects.  I suppose this is the cost of
> trying to combine code paths in the network device driver rather than have
> an independent path in the netdump case, but it's quite unfortunate and will
> significantly reduce the robustness of netdumps in the face of, for example,
> mbuf starvation.

Changing this will require very invasive changes to the network
drivers.  I know that the Intel drivers allocate their own mbufs for
their receive rings and I imagine that all other drivers have to do
something similar.  Plus the drivers are responsible for freeing mbufs
after they have been transmitted.  It seems to me that the cost of
making significant changes to the network drivers to support an
alternate lifecycle for netdump mbufs far outweighs the cost of losing
a couple of kernel dumps in extreme circumstances.
Received on Wed Oct 13 2010 - 15:46:59 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:08 UTC