linux-api.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 00/12] netoops support
@ 2010-11-03  1:29 Mike Waychison
       [not found] ` <20101103012917.4641.57113.stgit-+dUuAhMFdFN6FDdRrpk8kO4/NqBCd+6Q@public.gmane.org>
                   ` (4 more replies)
  0 siblings, 5 replies; 27+ messages in thread
From: Mike Waychison @ 2010-11-03  1:29 UTC (permalink / raw)
  To: simon.kagstrom, davem; +Cc: adurbin, akpm, chavey, linux-kernel, linux-api

This patchset applies to v2.6.36.

The following series implements support for 'netoops', a simple driver that
will deliver kmsg logs together with machine specifics over the network.

This driver is based on code used in Google's production server environment.
We internally call the driver 'netdump', but are planning on changing the name
to 'netoops' to follow the convention set by both the mtdoops and ramoops
drivers.  We use these facilities to gather crash data from our entire fleet of
machines in a light-weight manner.  We things this way because it simply isn't
feasible to gather full crash data off of every machine in the wild that
decides it is time to die.

Currently, this driver only supports udp over ipv4.  When configured with an
IPv4 address, netoops will initiate an ARP and hold a reference to the
associated neighbor.  It uses this information when invoked via kmsg_dump() to
fire off UDP packets via the netpoll interface.

I'm posting these patches in an effort to eventually get this sort of
functionality mainlined.  I have tried to clean this code up internally, but
there are still several unresolved issues that would need to be worked out.  In
particular:

   * I am _NOT_ happy with the userland ABIs presented in this patchset.  They
     were cobbled together by a variety of engineers over the years, and they
     aren't very pretty.  I present them none-the-less to express the scope of
     the functionality that we would like to maintain.

   * I am _NOT_ happy with the data format of the transmitted packets.  It is
     very specific to our server environment and currently:

      * is hard-coded to support both userland provided information (that may
        not be applicable to others) and

      * only supports i386 and x86_64.

   * UDP Port numbers are currently hard-coded.

   * I am uncertain if the handling of the neighbor's validity is correct,

   * The netdev event handling is probably incomplete to handle reloading of
     the neighbor.

I'd like to resolve each of the above issues in subsequent versions of this
patchset.  I need help in identifying what the ABI should look like in
particular.


Patchset summary
================

1  - Pass pt_regs on to oops_exit()
2  - Let kmsg_dumpers get access to pt_regs if available
3  - Introduce KMSG_DUMP_SOFT
4  - Add a sysrq trigger that calls kmsg_dump(KMSG_DUMP_SOFT) (USER ABI)
5  - Netoops core driver. (USER ABI)
6  - Addition of x86 specific bits to the network packets (NETWORK ABI)
7  - Addition of userland specific bits to the network packets (USER AND
     NETWORK ABI)
8  - Support for "one-shot" dumping (USER ABI)
9  - An userland interface for triggering crashes (USER ABI)
10 - EXPORT_SYMBOL_GPL(kmsg_dump)
11 - EXPORT_SYMBOL_GPL(arp_bind_neighbor)
12 - Allow netoops to be compiled as a module

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2010-11-04 17:38 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-03  1:29 [PATCH v1 00/12] netoops support Mike Waychison
     [not found] ` <20101103012917.4641.57113.stgit-+dUuAhMFdFN6FDdRrpk8kO4/NqBCd+6Q@public.gmane.org>
2010-11-03  1:29   ` [PATCH v1 01/12] Oops: Pass regs to oops_exit() Mike Waychison
2010-11-03  1:29   ` [PATCH v1 02/12] kmsg_dumper: Pass pt_regs along to dumpers Mike Waychison
2010-11-03  1:29   ` [PATCH v1 03/12] kmsg_dumper: Introduce a new 'SOFT' dump reason Mike Waychison
2010-11-03  1:29   ` [PATCH v1 04/12] sys-rq: Add option to soft dump Mike Waychison
2010-11-03  1:30   ` [PATCH v1 07/12] netoops: Add user programmable fields to the netoops packet Mike Waychison
2010-11-03  1:30   ` [PATCH v1 08/12] netoops: Add one-shot mode Mike Waychison
2010-11-03  1:30   ` [PATCH v1 10/12] kmsg_dump: Export symbol kmsg_dump() to GPL modules Mike Waychison
2010-11-03  1:30   ` [PATCH v1 11/12] ipv4: Export arp_bind_neighbour() symbol " Mike Waychison
2010-11-03  2:34   ` [PATCH v1 00/12] netoops support Greg KH
     [not found]     ` <20101103023422.GB5782-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2010-11-03  3:37       ` Mike Waychison
2010-11-03 18:16         ` Greg KH
     [not found]           ` <20101103181634.GF7441-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2010-11-03 18:50             ` Randy Dunlap
     [not found]               ` <20101103115020.ad8a4ecc.randy.dunlap-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2010-11-03 19:40                 ` Joe Perches
2010-11-03 20:58                   ` Bruno Prémont
2010-11-03 19:03             ` Mike Waychison
     [not found]               ` <AANLkTimKWCWtuPeZhMZ75gTxB8LwAhJfy2FZnnRwthft-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-11-03 20:29                 ` Mike Waychison
     [not found]                   ` <4CD1C612.5080902-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2010-11-03 20:54                     ` Matt Mackall
2010-11-04  1:18                       ` Mike Waychison
     [not found]                         ` <4CD209F1.90708-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2010-11-04  6:35                           ` Américo Wang
     [not found]                             ` <20101104063511.GE5210-+dguKlz9DXUf7BdofF/totBPR1lH4CV8@public.gmane.org>
2010-11-04 17:38                               ` Mike Waychison
2010-11-04  6:15                       ` Américo Wang
     [not found]                         ` <20101104061544.GD5210-+dguKlz9DXUf7BdofF/totBPR1lH4CV8@public.gmane.org>
2010-11-04 17:21                           ` Mike Waychison
2010-11-03  1:29 ` [PATCH v1 05/12] netoops: add core functionality Mike Waychison
2010-11-03  1:30 ` [PATCH v1 06/12] netoops: Add x86 specific bits to packet headers Mike Waychison
2010-11-03  1:30 ` [PATCH v1 09/12] netoops: Add an interface to trigger various types of crashes Mike Waychison
2010-11-03  1:30 ` [PATCH v1 12/12] netoops: Allow the driver to be built as a module Mike Waychison

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).