public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [Patch 0/6] statistics infrastructure
@ 2006-05-19 16:07 Martin Peschke
  2006-05-19 16:24 ` Andrew Morton
  0 siblings, 1 reply; 14+ messages in thread
From: Martin Peschke @ 2006-05-19 16:07 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel@vger.kernel.org

Andrew, please apply.

Changes since I have posted these patches last time:

- improvements as suggested on lkml
  (documentation, comments, coding style, etc.)

- fixed race in statistic_add()/statistic_inc()
  with regard to releasing statistics



My patch series is a proposal for a generic implementation of statistics.
Envisioned exploiters include device drivers, and any other component.
It provides both a unified programming interface for exploiters as well
as a unified user interface. It comes with a set of disciplines that
implement various ways of data processing, like counters and histograms.

The recent rework addresses performance issues and memory footprint,
straightens some concepts out, streamlines the programming interface,
removes some weiredness from the user interface, reduces the amount of
code, and moves the exploitation according to last time's feedback.

A few more keywords for the reader's convenience:
based on per-cpu data; spinlock-free protection of data; observes
cpu-hot(un)plug for efficient memory use; tiny state machine for
switching-on, switching-off, releasing data etc.; configurable by users
at run-time; still sitting in debugfs; simple addition of other disciplines.

Good places to start reading code are:

   statistic_create(), statistic_remove()
   statistic_add(), statistic_inc()
   struct statistic_interface, struct statistic
   struct statistic_discipline, statistic_*_counter()
   statistic_transition()

Martin




^ permalink raw reply	[flat|nested] 14+ messages in thread
* [Patch 0/6] statistics infrastructure
@ 2006-05-24 12:27 Martin Peschke
  0 siblings, 0 replies; 14+ messages in thread
From: Martin Peschke @ 2006-05-24 12:27 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel@vger.kernel.org

Andrew,

Patches are against 2.6.17-rc4-git12. Only change since last time
is a beautification of the timestamp code (now using NSEC_PER_SEC etc.)

	Martin



My patch series is a proposal for a generic implementation of statistics.
Envisioned exploiters include device drivers, and any other component.
It provides both a unified programming interface for exploiters as well
as a unified user interface. It comes with a set of disciplines that
implement various ways of data processing, like counters and histograms.

The recent rework addresses performance issues and memory footprint,
straightens some concepts out, streamlines the programming interface,
removes some weiredness from the user interface, and reduces the
amount of code.

A few more keywords for the reader's convenience:
based on per-cpu data; spinlock-free protection of data; observes
cpu-hot(un)plug for efficient memory use; tiny state machine for
switching-on, switching-off, releasing data etc.; configurable by users
at run-time; still sitting in debugfs; simple addition of other disciplines.

Good places to start reading code are:

   statistic_create(), statistic_remove()
   statistic_add(), statistic_inc()
   struct statistic_interface, struct statistic
   struct statistic_discipline, statistic_*_counter()
   statistic_transition()



^ permalink raw reply	[flat|nested] 14+ messages in thread
* Re: [Patch 0/6] statistics infrastructure
@ 2006-05-23 20:42 Al Boldi
  0 siblings, 0 replies; 14+ messages in thread
From: Al Boldi @ 2006-05-23 20:42 UTC (permalink / raw)
  To: linux-kernel

Martin Peschke wrote:
> Andrew Morton wrote:
> > Martin Peschke <mp3@de.ibm.com> wrote:
> >> My patch series is a proposal for a generic implementation of
> >> statistics.
> >
> > This uses debugfs for the user interface, but the
> > per-task-delay-accounting-*.patch series from Balbir creates an
> > extensible netlink-based system for passing instrumentation results back
> > to userspace.
> >
> > Can this code be converted to use those netlink interfaces, or is
> > Balbir's approach unsuitable, or hasn't it even been considered, or
> > what?
>
> Andrew,
>
> taskstats, Balbir'r approach, is too specific and doesn't work for me.
> It is by design limited to per-task data.
>
> My statistics code is not limited to per-task statistics, but allows
> exploiters to have data been accumulated and been shown for whatever
> entity they need to, may it be for tasks, for SCSI disks, per adapter, per
> queue, per interface, for a device driver, etc.

How does your work and Balbir's and CKRM relate to each other?

Is there not a way to abstract your works to provide a common statistics 
infrastructure for all?

Thanks!

--
Al


^ permalink raw reply	[flat|nested] 14+ messages in thread
* [patch 0/6] statistics infrastructure
@ 2005-12-14 16:13 Martin Peschke
  0 siblings, 0 replies; 14+ messages in thread
From: Martin Peschke @ 2005-12-14 16:13 UTC (permalink / raw)
  To: linux-kernel; +Cc: akpm

This patch set replaces s390-statistics-infrastructure.patch in the -mm tree.

The common code component proposed makes a unified and inexpensive way
for providing statistics available to kernel programmers, particularly
device driver programmers. It comes with an architecture independent and
exploiter (device driver) independent user interface and allows users to
adjust gathering and processing of statistics data to their needs.

Patch 5/6 contains more detailed information in the form of a
Documentation/ file.

The most important change since s390-statistics-infrastructure.patch is
that the code doesn't just seem to be quite generic, but really is generic.

I have worked through the list of improvements pointed out by Andrew in the
following lkml thread
http://marc.theaimsgroup.com/?l=linux-kernel&m=113050865300184&w=2

Furthermore, I spend some extra time on comments and I fixed
some bugs, mostly related to allocation and NULL-pointer issues.

I am posting a patch for the zfcp driver, as well, which would
be the first exploiter of the statistics infrastructure. Actually, the
zfcp driver has been my test vehicle.

Patch set is against 2.6.15-rc5-git4.

Please keep me on cc: since I am not subscribed to lkml.

List of patches:

[patch 1/6] statistics infrastructure - prerequisite: scatter-gather ringbuffer
[patch 2/6] statistics infrastructure - prerequisite: parser enhancement
[patch 3/6] statistics infrastructure - prerequisite: list operation
[patch 4/6] statistics infrastructure - prerequisite: timestamp
[patch 5/6] statistics infrastructure
[patch 6/6] statistics infrastructure - exploitation: zfcp


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

end of thread, other threads:[~2006-05-24 12:28 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-19 16:07 [Patch 0/6] statistics infrastructure Martin Peschke
2006-05-19 16:24 ` Andrew Morton
     [not found]   ` <661de9470605191159n75578d60qd1f3309e3a7e2234@mail.gmail.com>
2006-05-19 19:02     ` Balbir Singh
2006-05-19 23:03   ` Martin Peschke
2006-05-21 11:29     ` Balbir Singh
2006-05-22 18:09   ` netlink vs. debugfs (was Re: [Patch 0/6] statistics infrastructure) Tim Bird
2006-05-22 18:34     ` Balbir Singh
2006-05-22 18:53       ` Evgeniy Polyakov
2006-05-23 16:59   ` [Patch 0/6] statistics infrastructure Martin Peschke
2006-05-23 21:42     ` Andrew Morton
2006-05-24  3:12       ` Balbir Singh
  -- strict thread matches above, loose matches on Subject: below --
2006-05-24 12:27 Martin Peschke
2006-05-23 20:42 Al Boldi
2005-12-14 16:13 [patch " Martin Peschke

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox