All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoffer Dall <christoffer.dall@linaro.org>
To: Pavel Fedin <p.fedin@samsung.com>
Cc: kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org,
	'Marc Zyngier' <marc.zyngier@arm.com>,
	'Andre Przywara' <andre.przywara@arm.com>
Subject: Re: [PATCH v3 2/3] KVM: arm/arm64: Merge vgic_set_lr() and vgic_sync_lr_elrsr()
Date: Mon, 26 Oct 2015 20:42:05 +0100	[thread overview]
Message-ID: <20151026194205.GG20298@cbox> (raw)
In-Reply-To: <014d01d11005$f4f93a30$deebae90$@samsung.com>

On Mon, Oct 26, 2015 at 06:49:51PM +0300, Pavel Fedin wrote:
>  Hello!
> 
> > >  		/*
> > >  		 * Reestablish the pending state on the distributor and the
> > > -		 * CPU interface.  It may have already been pending, but that
> > > -		 * is fine, then we are only setting a few bits that were
> > > -		 * already set.
> > > -		 */
> > > -		if (lr.state & LR_STATE_PENDING) {
> > > -			vgic_dist_irq_set_pending(vcpu, lr.irq);
> > 
> > this looks wrong: You should still be setting the pending state on the
> > distributor, perhaps this is an ordering issue with the last patch?
> 
>  No, explained in the commit msg:
> --- cut ---
> Additionally, remove unnecessary vgic_set_lr() and LR_STATE_PENDING check
> in vgic_unqueue_irqs(), because all these things are now done by the
> following vgic_retire_lr().
> --- cut ---

This does not explain the question I'm raising.

After applying this patch, and before applying your next patch,
unqueueing an IRQ will not restore the pending state on the
distributor, but just throw that piece of state away, which breaks
bisectability and makes it impossible to understand the logic by looking
at this commit in isolation.

Please maintain at least current working semantics on a patch by patch
basis unless it's absolutely impossible to do so.

That's what I meant with an ordering issue with your last patch to which
you so elegantly reply 'No'.

Please rework this.

-Christoffer


  reply	other threads:[~2015-10-26 19:41 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-26  9:00 [PATCH v3 0/3] KVM: arm/arm64: Clean up some obsolete code Pavel Fedin
2015-10-26  9:00 ` [PATCH v3 1/3] KVM: arm/arm64: Optimize away redundant LR tracking Pavel Fedin
2015-10-26  9:00 ` [PATCH v3 2/3] KVM: arm/arm64: Merge vgic_set_lr() and vgic_sync_lr_elrsr() Pavel Fedin
2015-10-26 15:22   ` Christoffer Dall
2015-10-26 15:49     ` Pavel Fedin
2015-10-26 19:42       ` Christoffer Dall [this message]
2015-10-27  6:56         ` Pavel Fedin
2015-10-26  9:00 ` [PATCH v3 3/3] KVM: arm/arm64: Refactor vgic_retire_lr() Pavel Fedin

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=20151026194205.GG20298@cbox \
    --to=christoffer.dall@linaro.org \
    --cc=andre.przywara@arm.com \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=marc.zyngier@arm.com \
    --cc=p.fedin@samsung.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.