All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Zyngier <maz@kernel.org>
To: Alexandru Elisei <alexandru.elisei@arm.com>
Cc: kvm@vger.kernel.org, Hector Martin <marcan@marcan.st>,
	kernel-team@android.com, kvmarm@lists.cs.columbia.edu,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v4 5/9] KVM: arm64: vgic: move irq->get_input_level into an ops structure
Date: Tue, 22 Jun 2021 16:55:27 +0100	[thread overview]
Message-ID: <87zgvhc2s0.wl-maz@kernel.org> (raw)
In-Reply-To: <da762d7c-9eec-4fb8-ab6f-10bde6d777b3@arm.com>

On Tue, 15 Jun 2021 15:45:03 +0100,
Alexandru Elisei <alexandru.elisei@arm.com> wrote:
> 
> Hi Marc,
> 
> On 6/1/21 11:40 AM, Marc Zyngier wrote:
> > We already have the option to attach a callback to an interrupt
> > to retrieve its pending state. As we are planning to expand this
> > facility, move this callback into its own data structure.
> >
> > This will limit the size of individual interrupts as the ops
> > structures can be shared across multiple interrupts.
> 
> I can't figure out what you mean by that. If you are referring to
> struct vgic_irq, the change I am seeing is a pointer being replaced
> by another pointer, which shouldn't affect its size. Are you
> referring to something else?

Eventually, we have more than just a pointer (we also get flags in the
same structure), so this saves some space.

> 
> >
> > Signed-off-by: Marc Zyngier <maz@kernel.org>
> > ---
> >  arch/arm64/kvm/arch_timer.c |  8 ++++++--
> >  arch/arm64/kvm/vgic/vgic.c  | 14 +++++++-------
> >  include/kvm/arm_vgic.h      | 28 +++++++++++++++++-----------
> >  3 files changed, 30 insertions(+), 20 deletions(-)
> >
> > diff --git a/arch/arm64/kvm/arch_timer.c b/arch/arm64/kvm/arch_timer.c
> > index 74e0699661e9..e2288b6bf435 100644
> > --- a/arch/arm64/kvm/arch_timer.c
> > +++ b/arch/arm64/kvm/arch_timer.c
> > @@ -1116,6 +1116,10 @@ bool kvm_arch_timer_get_input_level(int vintid)
> >  	return kvm_timer_should_fire(timer);
> >  }
> >  
> > +static struct irq_ops arch_timer_irq_ops = {
> > +	.get_input_level = kvm_arch_timer_get_input_level,
> 
> Since kvm_arch_timer_get_input_level() is used only indirectly, through the
> get_input_level field of the static struct, I think we can make
> kvm_arch_timer_get_input_level() static and remove the declaration from
> include/kvm/arm_arch_timer.h.

Ah, good point. I'll stash a patch on top of the existing series (I'm
trying not to change what is currently queued in -next).

Thanks,

	M.

-- 
Without deviation from the norm, progress is not possible.
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

WARNING: multiple messages have this Message-ID (diff)
From: Marc Zyngier <maz@kernel.org>
To: Alexandru Elisei <alexandru.elisei@arm.com>
Cc: linux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org,
	kvmarm@lists.cs.columbia.edu, James Morse <james.morse@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Eric Auger <eric.auger@redhat.com>,
	Hector Martin <marcan@marcan.st>,
	Mark Rutland <mark.rutland@arm.com>,
	Zenghui Yu <yuzenghui@huawei.com>,
	kernel-team@android.com
Subject: Re: [PATCH v4 5/9] KVM: arm64: vgic: move irq->get_input_level into an ops structure
Date: Tue, 22 Jun 2021 16:55:27 +0100	[thread overview]
Message-ID: <87zgvhc2s0.wl-maz@kernel.org> (raw)
In-Reply-To: <da762d7c-9eec-4fb8-ab6f-10bde6d777b3@arm.com>

On Tue, 15 Jun 2021 15:45:03 +0100,
Alexandru Elisei <alexandru.elisei@arm.com> wrote:
> 
> Hi Marc,
> 
> On 6/1/21 11:40 AM, Marc Zyngier wrote:
> > We already have the option to attach a callback to an interrupt
> > to retrieve its pending state. As we are planning to expand this
> > facility, move this callback into its own data structure.
> >
> > This will limit the size of individual interrupts as the ops
> > structures can be shared across multiple interrupts.
> 
> I can't figure out what you mean by that. If you are referring to
> struct vgic_irq, the change I am seeing is a pointer being replaced
> by another pointer, which shouldn't affect its size. Are you
> referring to something else?

Eventually, we have more than just a pointer (we also get flags in the
same structure), so this saves some space.

> 
> >
> > Signed-off-by: Marc Zyngier <maz@kernel.org>
> > ---
> >  arch/arm64/kvm/arch_timer.c |  8 ++++++--
> >  arch/arm64/kvm/vgic/vgic.c  | 14 +++++++-------
> >  include/kvm/arm_vgic.h      | 28 +++++++++++++++++-----------
> >  3 files changed, 30 insertions(+), 20 deletions(-)
> >
> > diff --git a/arch/arm64/kvm/arch_timer.c b/arch/arm64/kvm/arch_timer.c
> > index 74e0699661e9..e2288b6bf435 100644
> > --- a/arch/arm64/kvm/arch_timer.c
> > +++ b/arch/arm64/kvm/arch_timer.c
> > @@ -1116,6 +1116,10 @@ bool kvm_arch_timer_get_input_level(int vintid)
> >  	return kvm_timer_should_fire(timer);
> >  }
> >  
> > +static struct irq_ops arch_timer_irq_ops = {
> > +	.get_input_level = kvm_arch_timer_get_input_level,
> 
> Since kvm_arch_timer_get_input_level() is used only indirectly, through the
> get_input_level field of the static struct, I think we can make
> kvm_arch_timer_get_input_level() static and remove the declaration from
> include/kvm/arm_arch_timer.h.

Ah, good point. I'll stash a patch on top of the existing series (I'm
trying not to change what is currently queued in -next).

Thanks,

	M.

-- 
Without deviation from the norm, progress is not possible.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Marc Zyngier <maz@kernel.org>
To: Alexandru Elisei <alexandru.elisei@arm.com>
Cc: linux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org,
	kvmarm@lists.cs.columbia.edu, James Morse <james.morse@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Eric Auger <eric.auger@redhat.com>,
	Hector Martin <marcan@marcan.st>,
	Mark Rutland <mark.rutland@arm.com>,
	Zenghui Yu <yuzenghui@huawei.com>,
	kernel-team@android.com
Subject: Re: [PATCH v4 5/9] KVM: arm64: vgic: move irq->get_input_level into an ops structure
Date: Tue, 22 Jun 2021 16:55:27 +0100	[thread overview]
Message-ID: <87zgvhc2s0.wl-maz@kernel.org> (raw)
In-Reply-To: <da762d7c-9eec-4fb8-ab6f-10bde6d777b3@arm.com>

On Tue, 15 Jun 2021 15:45:03 +0100,
Alexandru Elisei <alexandru.elisei@arm.com> wrote:
> 
> Hi Marc,
> 
> On 6/1/21 11:40 AM, Marc Zyngier wrote:
> > We already have the option to attach a callback to an interrupt
> > to retrieve its pending state. As we are planning to expand this
> > facility, move this callback into its own data structure.
> >
> > This will limit the size of individual interrupts as the ops
> > structures can be shared across multiple interrupts.
> 
> I can't figure out what you mean by that. If you are referring to
> struct vgic_irq, the change I am seeing is a pointer being replaced
> by another pointer, which shouldn't affect its size. Are you
> referring to something else?

Eventually, we have more than just a pointer (we also get flags in the
same structure), so this saves some space.

> 
> >
> > Signed-off-by: Marc Zyngier <maz@kernel.org>
> > ---
> >  arch/arm64/kvm/arch_timer.c |  8 ++++++--
> >  arch/arm64/kvm/vgic/vgic.c  | 14 +++++++-------
> >  include/kvm/arm_vgic.h      | 28 +++++++++++++++++-----------
> >  3 files changed, 30 insertions(+), 20 deletions(-)
> >
> > diff --git a/arch/arm64/kvm/arch_timer.c b/arch/arm64/kvm/arch_timer.c
> > index 74e0699661e9..e2288b6bf435 100644
> > --- a/arch/arm64/kvm/arch_timer.c
> > +++ b/arch/arm64/kvm/arch_timer.c
> > @@ -1116,6 +1116,10 @@ bool kvm_arch_timer_get_input_level(int vintid)
> >  	return kvm_timer_should_fire(timer);
> >  }
> >  
> > +static struct irq_ops arch_timer_irq_ops = {
> > +	.get_input_level = kvm_arch_timer_get_input_level,
> 
> Since kvm_arch_timer_get_input_level() is used only indirectly, through the
> get_input_level field of the static struct, I think we can make
> kvm_arch_timer_get_input_level() static and remove the declaration from
> include/kvm/arm_arch_timer.h.

Ah, good point. I'll stash a patch on top of the existing series (I'm
trying not to change what is currently queued in -next).

Thanks,

	M.

-- 
Without deviation from the norm, progress is not possible.

  reply	other threads:[~2021-06-22 15:55 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-01 10:39 [PATCH v4 0/9] KVM: arm64: Initial host support for the Apple M1 Marc Zyngier
2021-06-01 10:39 ` Marc Zyngier
2021-06-01 10:39 ` Marc Zyngier
2021-06-01 10:39 ` [PATCH v4 1/9] irqchip/gic: Split vGIC probing information from the GIC code Marc Zyngier
2021-06-01 10:39   ` Marc Zyngier
2021-06-01 10:39   ` Marc Zyngier
2021-06-01 10:39 ` [PATCH v4 2/9] KVM: arm64: Handle physical FIQ as an IRQ while running a guest Marc Zyngier
2021-06-01 10:39   ` Marc Zyngier
2021-06-01 10:39   ` Marc Zyngier
2021-06-01 10:39 ` [PATCH v4 3/9] KVM: arm64: vgic: Be tolerant to the lack of maintenance interrupt masking Marc Zyngier
2021-06-01 10:39   ` Marc Zyngier
2021-06-01 10:39   ` Marc Zyngier
2021-06-11 16:38   ` Alexandru Elisei
2021-06-11 16:38     ` Alexandru Elisei
2021-06-11 16:38     ` Alexandru Elisei
2021-06-11 16:59     ` Alexandru Elisei
2021-06-11 16:59       ` Alexandru Elisei
2021-06-11 16:59       ` Alexandru Elisei
2021-06-01 10:40 ` [PATCH v4 4/9] KVM: arm64: vgic: Let an interrupt controller advertise lack of HW deactivation Marc Zyngier
2021-06-01 10:40   ` Marc Zyngier
2021-06-01 10:40   ` Marc Zyngier
2021-06-15 14:26   ` Alexandru Elisei
2021-06-15 14:26     ` Alexandru Elisei
2021-06-15 14:26     ` Alexandru Elisei
2021-06-22 16:19     ` Marc Zyngier
2021-06-22 16:19       ` Marc Zyngier
2021-06-22 16:19       ` Marc Zyngier
2021-06-01 10:40 ` [PATCH v4 5/9] KVM: arm64: vgic: move irq->get_input_level into an ops structure Marc Zyngier
2021-06-01 10:40   ` Marc Zyngier
2021-06-01 10:40   ` Marc Zyngier
2021-06-15 14:45   ` Alexandru Elisei
2021-06-15 14:45     ` Alexandru Elisei
2021-06-15 14:45     ` Alexandru Elisei
2021-06-22 15:55     ` Marc Zyngier [this message]
2021-06-22 15:55       ` Marc Zyngier
2021-06-22 15:55       ` Marc Zyngier
2021-06-01 10:40 ` [PATCH v4 6/9] KVM: arm64: vgic: Implement SW-driven deactivation Marc Zyngier
2021-06-01 10:40   ` Marc Zyngier
2021-06-01 10:40   ` Marc Zyngier
2021-06-17 14:58   ` Alexandru Elisei
2021-06-17 14:58     ` Alexandru Elisei
2021-06-17 14:58     ` Alexandru Elisei
2021-06-22 16:12     ` Marc Zyngier
2021-06-22 16:12       ` Marc Zyngier
2021-06-22 16:12       ` Marc Zyngier
2021-06-23 14:15       ` Alexandru Elisei
2021-06-23 14:15         ` Alexandru Elisei
2021-06-23 14:15         ` Alexandru Elisei
2021-06-01 10:40 ` [PATCH v4 7/9] KVM: arm64: timer: Refactor IRQ configuration Marc Zyngier
2021-06-01 10:40   ` Marc Zyngier
2021-06-01 10:40   ` Marc Zyngier
2021-06-21 16:19   ` Alexandru Elisei
2021-06-21 16:19     ` Alexandru Elisei
2021-06-21 16:19     ` Alexandru Elisei
2021-06-01 10:40 ` [PATCH v4 8/9] KVM: arm64: timer: Add support for SW-based deactivation Marc Zyngier
2021-06-01 10:40   ` Marc Zyngier
2021-06-01 10:40   ` Marc Zyngier
2021-06-01 10:40 ` [PATCH v4 9/9] irqchip/apple-aic: Advertise some level of vGICv3 compatibility Marc Zyngier
2021-06-01 10:40   ` Marc Zyngier
2021-06-01 10:40   ` Marc Zyngier
2021-06-22 15:39 ` [PATCH v4 0/9] KVM: arm64: Initial host support for the Apple M1 Alexandru Elisei
2021-06-22 15:39   ` Alexandru Elisei
2021-06-22 15:39   ` Alexandru Elisei
2021-06-22 15:51   ` Marc Zyngier
2021-06-22 15:51     ` Marc Zyngier
2021-06-22 15:51     ` Marc Zyngier
2021-06-22 16:03     ` Alexandru Elisei
2021-06-22 16:03       ` Alexandru Elisei
2021-06-22 16:03       ` Alexandru Elisei
2021-06-22 16:26       ` Marc Zyngier
2021-06-22 16:26         ` Marc Zyngier
2021-06-22 16:26         ` Marc Zyngier
2021-06-23 16:18         ` Alexandru Elisei
2021-06-23 16:18           ` Alexandru Elisei
2021-06-23 16:18           ` Alexandru Elisei

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=87zgvhc2s0.wl-maz@kernel.org \
    --to=maz@kernel.org \
    --cc=alexandru.elisei@arm.com \
    --cc=kernel-team@android.com \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=marcan@marcan.st \
    /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.