From: "Andreas Färber" <afaerber@suse.de>
To: Alexey Kardashevskiy <aik@ozlabs.ru>
Cc: Mike Qiu <qiudayu@linux.vnet.ibm.com>,
David Gibson <david@gibson.dropbear.id.au>,
qemu-ppc@nongnu.org, qemu-devel@nongnu.org,
Alexander Graf <agraf@suse.de>
Subject: Re: [Qemu-devel] [PATCH] pseries: Support for in-kernel XICS interrupt controller
Date: Sat, 08 Jun 2013 12:20:48 +0200 [thread overview]
Message-ID: <51B30580.70906@suse.de> (raw)
In-Reply-To: <1370417998-7061-1-git-send-email-aik@ozlabs.ru>
Am 05.06.2013 09:39, schrieb Alexey Kardashevskiy:
> From: David Gibson <david@gibson.dropbear.id.au>
>
> Recent (host) kernels support emulating the PAPR defined "XICS" interrupt
> controller system within KVM. This patch allows qemu to initialize and
> configure the in-kernel XICS, and keep its state in sync with qemu's XICS
> state as necessary.
>
> This should give considerable performance improvements. e.g. on a simple
> IPI ping-pong test between hardware threads, using qemu XICS gives us
> around 5,000 irqs/second, whereas the in-kernel XICS gives us around
> 70,000 irqs/s on the same hardware configuration.
>
> [Mike Qiu <qiudayu@linux.vnet.ibm.com>: fixed mistype which caused ics_set_kvm_state() to fail]
> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
If a Mike Qiu changed this patch, don't we require his Signed-off-by?
CPUState usage looks fine, can't judge the kernel interface, two
nitpicks below.
[...]
> diff --git a/hw/ppc/xics.c b/hw/ppc/xics.c
> index 02e44a0..b83f19f 100644
> --- a/hw/ppc/xics.c
> +++ b/hw/ppc/xics.c
> @@ -29,12 +29,19 @@
> #include "trace.h"
> #include "hw/ppc/spapr.h"
> #include "hw/ppc/xics.h"
> +#include "kvm_ppc.h"
> +#include "sysemu/kvm.h"
> +#include "config.h"
> +#include "qemu/config-file.h"
> +
> +#include <sys/ioctl.h>
>
> /*
> * ICP: Presentation layer
> */
>
> struct icp_server_state {
> + CPUState *cs;
> uint32_t xirr;
> uint8_t pending_priority;
> uint8_t mfrr;
> @@ -53,6 +60,9 @@ struct icp_state {
> uint32_t nr_servers;
> struct icp_server_state *ss;
> struct ics_state *ics;
> + uint32_t set_xive_token, get_xive_token,
> + int_off_token, int_on_token;
FWIW normally we place struct fields below each other...
> + int kernel_xics_fd;
> };
>
> static void ics_reject(struct ics_state *ics, int nr);
[...]
> @@ -535,11 +734,14 @@ static int ics_post_load(void *opaque, int version_id)
> return 0;
> }
>
> +
Intentional white space change?
> static const VMStateDescription vmstate_icp_server = {
> .name = "icp/server",
> .version_id = 1,
> .minimum_version_id = 1,
> .minimum_version_id_old = 1,
> + .pre_save = icp_pre_save,
> + .post_load = icp_post_load,
> .fields = (VMStateField []) {
> /* Sanity check */
> VMSTATE_UINT32(xirr, struct icp_server_state),
[snip]
Regards,
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
next prev parent reply other threads:[~2013-06-08 10:20 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-05 7:39 [Qemu-devel] [PATCH] pseries: Support for in-kernel XICS interrupt controller Alexey Kardashevskiy
2013-06-06 7:41 ` David Gibson
2013-06-06 8:19 ` Alexey Kardashevskiy
2013-06-08 10:20 ` Andreas Färber [this message]
2013-06-08 14:11 ` Alexey Kardashevskiy
2013-06-08 18:02 ` Andreas Färber
2013-06-20 23:10 ` Alexander Graf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51B30580.70906@suse.de \
--to=afaerber@suse.de \
--cc=agraf@suse.de \
--cc=aik@ozlabs.ru \
--cc=david@gibson.dropbear.id.au \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=qiudayu@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.