Messages in this thread | | | Date | Wed, 06 Jun 2012 23:44:28 +0900 | From | Masami Hiramatsu <> | Subject | Re: [Qemu-devel] [RFC PATCH 1/2] ivring: Add a ring-buffer driver on IVShmem |
| |
(2012/06/06 8:22), Greg Kroah-Hartman wrote: > On Wed, Jun 06, 2012 at 07:03:06AM +0800, Anthony Liguori wrote: >> On 06/05/2012 09:10 PM, Borislav Petkov wrote: >>> 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? >> >> Not to mention virtio :-) >> >> Why not just make a virtio device for this kind of thing? > > Yeah, that's exactly what I was thinking, why reinvent things again?
Agreed. Actually, we think this is just a concept prototype. Because of many restrictions of this device, especially for scalability (which Yoshihiro will give a talk in LinuxCon Japan), we are considering to move onto a virtio-based shmem device.
Afaics, it seems possible to use it virtio-ballon like way to pass actual pages of the guest ring buffer to host. Then the reader can read the pages directly from qemu.
Thank you,
-- Masami HIRAMATSU Software Platform Research Dept. Linux Technology Center Hitachi, Ltd., Yokohama Research Laboratory E-mail: masami.hiramatsu.pt@hitachi.com
| |