This is the mail archive of the
mailing list for the systemtap project.
Re: [RFC PATCH 1/2] ivring: Add a ring-buffer driver on IVShmem
- From: Borislav Petkov <bp at amd64 dot org>
- To: Yoshihiro YUNOMAE <yoshihiro dot yunomae dot ez at hitachi dot com>
- Cc: linux-kernel at vger dot kernel dot org, Cam Macdonell <cam at cs dot ualberta dot ca>, Arnaldo Carvalho de Melo <acme at redhat dot com>, Borislav Petkov <borislav dot petkov at amd dot com>, Grant Likely <grant dot likely at secretlab dot ca>, Greg Kroah-Hartman <gregkh at linuxfoundation dot org>, Joerg Roedel <joerg dot roedel at amd dot com>, Linus Walleij <linus dot walleij at linaro dot org>, MyungJoo Ham <myungjoo dot ham at samsung dot com>, Ohad Ben-Cohen <ohad at wizery dot com>, Rusty Russell <rusty at rustcorp dot com dot au>, qemu-devel at nongnu dot org, systemtap at sourceware dot org, yrl dot pp-manager dot tt at hitachi dot com, Masami Hiramatsu <masami dot hiramatsu dot pt at hitachi dot com>, Akihiro Nagai <akihiro dot nagai dot hw at hitachi dot com>
- Date: Tue, 5 Jun 2012 15:10:31 +0200
- Subject: Re: [RFC PATCH 1/2] ivring: Add a ring-buffer driver on IVShmem
- References: <firstname.lastname@example.org> <email@example.com>
On Tue, Jun 05, 2012 at 10:01:17PM +0900, Yoshihiro YUNOMAE wrote:
> This patch adds a ring-buffer driver for IVShmem device, a virtual RAM device in
> QEMU. This driver can be used as a ring-buffer for kernel logging or tracing of
> a guest OS by recording kernel programing or SystemTap.
> This ring-buffer driver is implemented very simple. First 4kB of shared memory
> region is control structure of a ring-buffer. In this region, some values for
> managing the ring-buffer is stored such as bits and mask of whole memory size,
> writing position, threshold value for notification to a reader on a host OS.
> This region is used by the reader to know writing position. Then, "total
> memory size - 4kB" equals to usable memory region for recording data.
> This ring-buffer driver records any data from start to end of the writable
> memory region.
> When writing size exceeds a threshold value, this driver can notify a reader
> to read data by using writel(). As this later patch, reader does not have any
> function for receiving the notification. This notification feature will be used
> near the future.
> As a writer records data in this ring-buffer, spinlock function is used to
> avoid competing by some writers in multi CPU environment. Not to use spinlock,
> lockless ring-buffer like as ftrace and one ring-buffer one CPU will be
> implemented near the future.
Yet another ring buffer?
We already have an ftrace and perf ring buffer, can't you use one of those?
Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551