[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/3] virtio: Basic implementation of virtio psto
From: |
Cornelia Huck |
Subject: |
Re: [Qemu-devel] [PATCH 1/3] virtio: Basic implementation of virtio pstore driver |
Date: |
Mon, 18 Jul 2016 09:54:39 +0200 |
On Mon, 18 Jul 2016 13:37:39 +0900
Namhyung Kim <address@hidden> wrote:
> The virtio pstore driver provides interface to the pstore subsystem so
> that the guest kernel's log/dump message can be saved on the host
> machine. Users can access the log file directly on the host, or on the
> guest at the next boot using pstore filesystem. It currently deals with
> kernel log (printk) buffer only, but we can extend it to have other
> information (like ftrace dump) later.
Like the idea.
>
> It supports legacy PCI device using single order-2 page buffer. As all
There should not be anything in there that limits this to pci, no?
> operation of pstore is synchronous, it would be fine IMHO. However I
> don't know how to make write operation synchronous since it's called
> with a spinlock held (from any context including NMI).
>
> Cc: Paolo Bonzini <address@hidden>
> Cc: Radim Krčmář <address@hidden>
> Cc: "Michael S. Tsirkin" <address@hidden>
> Cc: Anthony Liguori <address@hidden>
> Cc: Anton Vorontsov <address@hidden>
> Cc: Colin Cross <address@hidden>
> Cc: Kees Cook <address@hidden>
> Cc: Tony Luck <address@hidden>
> Cc: Steven Rostedt <address@hidden>
> Cc: Ingo Molnar <address@hidden>
> Cc: Minchan Kim <address@hidden>
> Cc: address@hidden
> Cc: address@hidden
> Cc: address@hidden
> Signed-off-by: Namhyung Kim <address@hidden>
> ---
> drivers/virtio/Kconfig | 10 ++
> drivers/virtio/Makefile | 1 +
> drivers/virtio/virtio_pstore.c | 317
> +++++++++++++++++++++++++++++++++++++
> include/uapi/linux/Kbuild | 1 +
> include/uapi/linux/virtio_ids.h | 1 +
> include/uapi/linux/virtio_pstore.h | 53 +++++++
> 6 files changed, 383 insertions(+)
> create mode 100644 drivers/virtio/virtio_pstore.c
> create mode 100644 include/uapi/linux/virtio_pstore.h
>
(...)
> diff --git a/drivers/virtio/virtio_pstore.c b/drivers/virtio/virtio_pstore.c
> new file mode 100644
> index 000000000000..6fe62c0f1508
> --- /dev/null
> +++ b/drivers/virtio/virtio_pstore.c
> @@ -0,0 +1,317 @@
> +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> +
> +#include <linux/kernel.h>
> +#include <linux/module.h>
> +#include <linux/pstore.h>
> +#include <linux/virtio.h>
> +#include <linux/virtio_config.h>
> +#include <uapi/linux/virtio_ids.h>
> +#include <uapi/linux/virtio_pstore.h>
> +
> +#define VIRT_PSTORE_ORDER 2
> +#define VIRT_PSTORE_BUFSIZE (4096 << VIRT_PSTORE_ORDER)
It may make sense to make the size of the buffer configurable through
the config space.
(...)
> diff --git a/include/uapi/linux/virtio_ids.h b/include/uapi/linux/virtio_ids.h
> index 77925f587b15..cba63225d85a 100644
> --- a/include/uapi/linux/virtio_ids.h
> +++ b/include/uapi/linux/virtio_ids.h
> @@ -41,5 +41,6 @@
> #define VIRTIO_ID_CAIF 12 /* Virtio caif */
> #define VIRTIO_ID_GPU 16 /* virtio GPU */
> #define VIRTIO_ID_INPUT 18 /* virtio input */
> +#define VIRTIO_ID_PSTORE 19 /* virtio pstore */
This id is already used by one of the new device types queued but not
yet in the standard. IIRC, 22 is the next free one.
Speaking of the standard: I think it makes sense to at least reserve a
device id for pstore, as the idea is sound. Maybe prepare a patch to
the standard as well if you have time?
>
> #endif /* _LINUX_VIRTIO_IDS_H */
- [Qemu-devel] [RFC/PATCHSET 0/3] virtio-pstore: Implement virtio pstore device, Namhyung Kim, 2016/07/18
- [Qemu-devel] [PATCH 1/3] virtio: Basic implementation of virtio pstore driver, Namhyung Kim, 2016/07/18
- Re: [Qemu-devel] [PATCH 1/3] virtio: Basic implementation of virtio pstore driver, Kees Cook, 2016/07/18
- Re: [Qemu-devel] [PATCH 1/3] virtio: Basic implementation of virtio pstore driver, Namhyung Kim, 2016/07/18
- Re: [Qemu-devel] [PATCH 1/3] virtio: Basic implementation of virtio pstore driver, Kees Cook, 2016/07/18
- Re: [Qemu-devel] [PATCH 1/3] virtio: Basic implementation of virtio pstore driver, Namhyung Kim, 2016/07/19
- Re: [Qemu-devel] [PATCH 1/3] virtio: Basic implementation of virtio pstore driver, Namhyung Kim, 2016/07/19
- Re: [Qemu-devel] [PATCH 1/3] virtio: Basic implementation of virtio pstore driver, Namhyung Kim, 2016/07/20
Re: [Qemu-devel] [PATCH 1/3] virtio: Basic implementation of virtio pstore driver,
Cornelia Huck <=
[Qemu-devel] [PATCH 2/3] qemu: Implement virtio-pstore device, Namhyung Kim, 2016/07/18
Re: [Qemu-devel] [PATCH 2/3] qemu: Implement virtio-pstore device, Namhyung Kim, 2016/07/19