Messages in this thread | | | Date | Tue, 5 Jun 2012 15:10:31 +0200 | From | Borislav Petkov <> | Subject | Re: [RFC PATCH 1/2] ivring: Add a ring-buffer driver on IVShmem |
| |
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?
-- Regards/Gruss, Boris.
Advanced Micro Devices GmbH Einsteinring 24, 85609 Dornach GM: Alberto Bozzo Reg: Dornach, Landkreis Muenchen HRB Nr. 43632 WEEE Registernr: 129 19551
| |