mbox

[GIT,PULL,0/9] KVM/ARM Changes for v3.19

Message ID 1418124368-28418-1-git-send-email-christoffer.dall@linaro.org
State New
Headers show

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm-for-3.19

Message

Christoffer Dall Dec. 9, 2014, 11:25 a.m. UTC
Hi Paolo,

The following changes since commit f62c95fd4041d669159dd76ac0bb2a7f86b5b05d:

  Merge tag 'kvm-s390-next-20141028' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD (2014-10-29 13:31:32 +0100)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm-for-3.19

for you to fetch changes up to 016ed39c54b8a3db680e5c6a43419f806133caf2:

  arm/arm64: KVM: vgic: kick the specific vcpu instead of iterating through all (2014-11-26 10:19:37 +0000)

Thanks,
-Christoffer

----------------------------------------------------------------
Changes for KVM for arm/arm64 for v3.19 including mmio mapping fixups
(already in kvm/next, apologies about duplicate commits), vgic cleanup
and optimizations, and an MMIO path cleanup.

----------------------------------------------------------------


Andre Przywara (1):
  arm/arm64: KVM: avoid unnecessary guest register mangling on MMIO read

Ard Biesheuvel (4):
  arm/arm64: kvm: drop inappropriate use of kvm_is_mmio_pfn()
  kvm: fix kvm_is_mmio_pfn() and rename to kvm_is_reserved_pfn()
  kvm: add a memslot flag for incoherent memory regions
  arm, arm64: KVM: handle potential incoherency of readonly memslots

Christoffer Dall (1):
  arm/arm64: vgic: Remove unreachable irq_clear_pending

Laszlo Ersek (1):
  arm, arm64: KVM: allow forced dcache flush on page faults

Shannon Zhao (1):
  arm/arm64: KVM: vgic: kick the specific vcpu instead of iterating
    through all

wanghaibin (1):
  KVM: ARM: VGIC: Optimize the vGIC vgic_update_irq_pending function.

 arch/arm/include/asm/kvm_mmu.h   |  5 +++--
 arch/arm/kvm/mmio.c              | 15 +++++++++------
 arch/arm/kvm/mmu.c               | 34 +++++++++++++++++++++++++++-------
 arch/arm64/include/asm/kvm_mmu.h |  5 +++--
 arch/ia64/kvm/kvm-ia64.c         |  2 +-
 arch/x86/kvm/mmu.c               |  6 +++---
 include/linux/kvm_host.h         |  3 ++-
 virt/kvm/arm/vgic.c              | 20 +++++++++++++-------
 virt/kvm/kvm_main.c              | 16 ++++++++--------
 9 files changed, 69 insertions(+), 37 deletions(-)

Comments

Ard Biesheuvel Dec. 9, 2014, 12:29 p.m. UTC | #1
On 9 December 2014 at 12:26, Christoffer Dall
<christoffer.dall@linaro.org> wrote:
> From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>
> Instead of using kvm_is_mmio_pfn() to decide whether a host region
> should be stage 2 mapped with device attributes, add a new static
> function kvm_is_device_pfn() that disregards RAM pages with the
> reserved bit set, as those should usually not be mapped as device
> memory.
>
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>

As I mentioned last week, this patch (and the next one) are already in
3.18 so unless there is some policy I am unaware of, these do not have
to be submitted again.
Christoffer Dall Dec. 9, 2014, 12:38 p.m. UTC | #2
On Tue, Dec 09, 2014 at 01:29:52PM +0100, Ard Biesheuvel wrote:
> On 9 December 2014 at 12:26, Christoffer Dall
> <christoffer.dall@linaro.org> wrote:
> > From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> >
> > Instead of using kvm_is_mmio_pfn() to decide whether a host region
> > should be stage 2 mapped with device attributes, add a new static
> > function kvm_is_device_pfn() that disregards RAM pages with the
> > reserved bit set, as those should usually not be mapped as device
> > memory.
> >
> > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> > Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
> 
> As I mentioned last week, this patch (and the next one) are already in
> 3.18 so unless there is some policy I am unaware of, these do not have
> to be submitted again.
> 
They're in kvmarm/next, which is a stable branch (doesn't rebase) so our
only choice would be to revert this commit specifically in kvmarm/next
before sending the pull request.  Since that would be more confusing
than help anything, and Paolo said to just include the duplicate commit
in the pull request, here it is.

As we can see in linux-next, it's not really a problem.

-Christoffer
Ard Biesheuvel Dec. 9, 2014, 12:38 p.m. UTC | #3
On 9 December 2014 at 13:38, Christoffer Dall
<christoffer.dall@linaro.org> wrote:
> On Tue, Dec 09, 2014 at 01:29:52PM +0100, Ard Biesheuvel wrote:
>> On 9 December 2014 at 12:26, Christoffer Dall
>> <christoffer.dall@linaro.org> wrote:
>> > From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>> >
>> > Instead of using kvm_is_mmio_pfn() to decide whether a host region
>> > should be stage 2 mapped with device attributes, add a new static
>> > function kvm_is_device_pfn() that disregards RAM pages with the
>> > reserved bit set, as those should usually not be mapped as device
>> > memory.
>> >
>> > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>> > Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
>>
>> As I mentioned last week, this patch (and the next one) are already in
>> 3.18 so unless there is some policy I am unaware of, these do not have
>> to be submitted again.
>>
> They're in kvmarm/next, which is a stable branch (doesn't rebase) so our
> only choice would be to revert this commit specifically in kvmarm/next
> before sending the pull request.  Since that would be more confusing
> than help anything, and Paolo said to just include the duplicate commit
> in the pull request, here it is.
>
> As we can see in linux-next, it's not really a problem.
>

OK, thanks for the explanation.
Paolo Bonzini Dec. 9, 2014, 7:39 p.m. UTC | #4
On 09/12/2014 12:25, Christoffer Dall wrote:
> Hi Paolo,
> 
> The following changes since commit f62c95fd4041d669159dd76ac0bb2a7f86b5b05d:
> 
>   Merge tag 'kvm-s390-next-20141028' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD (2014-10-29 13:31:32 +0100)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm-for-3.19
> 
> for you to fetch changes up to 016ed39c54b8a3db680e5c6a43419f806133caf2:
> 
>   arm/arm64: KVM: vgic: kick the specific vcpu instead of iterating through all (2014-11-26 10:19:37 +0000)
> 
> Thanks,
> -Christoffer
> 
> ----------------------------------------------------------------
> Changes for KVM for arm/arm64 for v3.19 including mmio mapping fixups
> (already in kvm/next, apologies about duplicate commits), vgic cleanup
> and optimizations, and an MMIO path cleanup.
> 
> ----------------------------------------------------------------
> 
> 
> Andre Przywara (1):
>   arm/arm64: KVM: avoid unnecessary guest register mangling on MMIO read
> 
> Ard Biesheuvel (4):
>   arm/arm64: kvm: drop inappropriate use of kvm_is_mmio_pfn()
>   kvm: fix kvm_is_mmio_pfn() and rename to kvm_is_reserved_pfn()
>   kvm: add a memslot flag for incoherent memory regions
>   arm, arm64: KVM: handle potential incoherency of readonly memslots
> 
> Christoffer Dall (1):
>   arm/arm64: vgic: Remove unreachable irq_clear_pending
> 
> Laszlo Ersek (1):
>   arm, arm64: KVM: allow forced dcache flush on page faults
> 
> Shannon Zhao (1):
>   arm/arm64: KVM: vgic: kick the specific vcpu instead of iterating
>     through all
> 
> wanghaibin (1):
>   KVM: ARM: VGIC: Optimize the vGIC vgic_update_irq_pending function.
> 
>  arch/arm/include/asm/kvm_mmu.h   |  5 +++--
>  arch/arm/kvm/mmio.c              | 15 +++++++++------
>  arch/arm/kvm/mmu.c               | 34 +++++++++++++++++++++++++++-------
>  arch/arm64/include/asm/kvm_mmu.h |  5 +++--
>  arch/ia64/kvm/kvm-ia64.c         |  2 +-
>  arch/x86/kvm/mmu.c               |  6 +++---
>  include/linux/kvm_host.h         |  3 ++-
>  virt/kvm/arm/vgic.c              | 20 +++++++++++++-------
>  virt/kvm/kvm_main.c              | 16 ++++++++--------
>  9 files changed, 69 insertions(+), 37 deletions(-)
> 

No dirty bitmap yet?  You still have one week, I'm okay with a late
addition.

Paolo
Christoffer Dall Dec. 11, 2014, 9:47 a.m. UTC | #5
On Tue, Dec 09, 2014 at 08:39:39PM +0100, Paolo Bonzini wrote:
> 
> 
> On 09/12/2014 12:25, Christoffer Dall wrote:
> > Hi Paolo,
> > 
> > The following changes since commit f62c95fd4041d669159dd76ac0bb2a7f86b5b05d:
> > 
> >   Merge tag 'kvm-s390-next-20141028' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD (2014-10-29 13:31:32 +0100)
> > 
> > are available in the git repository at:
> > 
> >   git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm-for-3.19
> > 
> > for you to fetch changes up to 016ed39c54b8a3db680e5c6a43419f806133caf2:
> > 
> >   arm/arm64: KVM: vgic: kick the specific vcpu instead of iterating through all (2014-11-26 10:19:37 +0000)
> > 
> > Thanks,
> > -Christoffer
> > 
> > ----------------------------------------------------------------
> > Changes for KVM for arm/arm64 for v3.19 including mmio mapping fixups
> > (already in kvm/next, apologies about duplicate commits), vgic cleanup
> > and optimizations, and an MMIO path cleanup.
> > 
> > ----------------------------------------------------------------
> > 
> > 
> > Andre Przywara (1):
> >   arm/arm64: KVM: avoid unnecessary guest register mangling on MMIO read
> > 
> > Ard Biesheuvel (4):
> >   arm/arm64: kvm: drop inappropriate use of kvm_is_mmio_pfn()
> >   kvm: fix kvm_is_mmio_pfn() and rename to kvm_is_reserved_pfn()
> >   kvm: add a memslot flag for incoherent memory regions
> >   arm, arm64: KVM: handle potential incoherency of readonly memslots
> > 
> > Christoffer Dall (1):
> >   arm/arm64: vgic: Remove unreachable irq_clear_pending
> > 
> > Laszlo Ersek (1):
> >   arm, arm64: KVM: allow forced dcache flush on page faults
> > 
> > Shannon Zhao (1):
> >   arm/arm64: KVM: vgic: kick the specific vcpu instead of iterating
> >     through all
> > 
> > wanghaibin (1):
> >   KVM: ARM: VGIC: Optimize the vGIC vgic_update_irq_pending function.
> > 
> >  arch/arm/include/asm/kvm_mmu.h   |  5 +++--
> >  arch/arm/kvm/mmio.c              | 15 +++++++++------
> >  arch/arm/kvm/mmu.c               | 34 +++++++++++++++++++++++++++-------
> >  arch/arm64/include/asm/kvm_mmu.h |  5 +++--
> >  arch/ia64/kvm/kvm-ia64.c         |  2 +-
> >  arch/x86/kvm/mmu.c               |  6 +++---
> >  include/linux/kvm_host.h         |  3 ++-
> >  virt/kvm/arm/vgic.c              | 20 +++++++++++++-------
> >  virt/kvm/kvm_main.c              | 16 ++++++++--------
> >  9 files changed, 69 insertions(+), 37 deletions(-)
> > 
> 
> No dirty bitmap yet?  You still have one week, I'm okay with a late
> addition.
> 
No, we spotted a bug in the last revision and I prefer not merging it at
this short notice, because I won't have proper time to test the stuff.

The plan is to put it in kvmarm/next right after the merge window
closes.

-Christoffer
Paolo Bonzini Dec. 11, 2014, 11:52 a.m. UTC | #6
On 09/12/2014 12:25, Christoffer Dall wrote:
>   git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm-for-3.19

Pulled, thanks.

(In case you're wondering, this merge window I'll send the pull request
late to avoid multiple conflicts with the ia64 removal).

Paolo
Paolo Bonzini Dec. 11, 2014, 11:54 a.m. UTC | #7
On 11/12/2014 10:47, Christoffer Dall wrote:
> On Tue, Dec 09, 2014 at 08:39:39PM +0100, Paolo Bonzini wrote:
>>
>>
>> On 09/12/2014 12:25, Christoffer Dall wrote:
>>> Hi Paolo,
>>>
>>> The following changes since commit f62c95fd4041d669159dd76ac0bb2a7f86b5b05d:
>>>
>>>   Merge tag 'kvm-s390-next-20141028' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD (2014-10-29 13:31:32 +0100)
>>>
>>> are available in the git repository at:
>>>
>>>   git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm-for-3.19
>>>
>>> for you to fetch changes up to 016ed39c54b8a3db680e5c6a43419f806133caf2:
>>>
>>>   arm/arm64: KVM: vgic: kick the specific vcpu instead of iterating through all (2014-11-26 10:19:37 +0000)
>>>
>>> Thanks,
>>> -Christoffer
>>>
>>> ----------------------------------------------------------------
>>> Changes for KVM for arm/arm64 for v3.19 including mmio mapping fixups
>>> (already in kvm/next, apologies about duplicate commits), vgic cleanup
>>> and optimizations, and an MMIO path cleanup.
>>>
>>> ----------------------------------------------------------------
>>>
>>>
>>> Andre Przywara (1):
>>>   arm/arm64: KVM: avoid unnecessary guest register mangling on MMIO read
>>>
>>> Ard Biesheuvel (4):
>>>   arm/arm64: kvm: drop inappropriate use of kvm_is_mmio_pfn()
>>>   kvm: fix kvm_is_mmio_pfn() and rename to kvm_is_reserved_pfn()
>>>   kvm: add a memslot flag for incoherent memory regions
>>>   arm, arm64: KVM: handle potential incoherency of readonly memslots
>>>
>>> Christoffer Dall (1):
>>>   arm/arm64: vgic: Remove unreachable irq_clear_pending
>>>
>>> Laszlo Ersek (1):
>>>   arm, arm64: KVM: allow forced dcache flush on page faults
>>>
>>> Shannon Zhao (1):
>>>   arm/arm64: KVM: vgic: kick the specific vcpu instead of iterating
>>>     through all
>>>
>>> wanghaibin (1):
>>>   KVM: ARM: VGIC: Optimize the vGIC vgic_update_irq_pending function.
>>>
>>>  arch/arm/include/asm/kvm_mmu.h   |  5 +++--
>>>  arch/arm/kvm/mmio.c              | 15 +++++++++------
>>>  arch/arm/kvm/mmu.c               | 34 +++++++++++++++++++++++++++-------
>>>  arch/arm64/include/asm/kvm_mmu.h |  5 +++--
>>>  arch/ia64/kvm/kvm-ia64.c         |  2 +-
>>>  arch/x86/kvm/mmu.c               |  6 +++---
>>>  include/linux/kvm_host.h         |  3 ++-
>>>  virt/kvm/arm/vgic.c              | 20 +++++++++++++-------
>>>  virt/kvm/kvm_main.c              | 16 ++++++++--------
>>>  9 files changed, 69 insertions(+), 37 deletions(-)
>>>
>>
>> No dirty bitmap yet?  You still have one week, I'm okay with a late
>> addition.
>>
> No, we spotted a bug in the last revision and I prefer not merging it at
> this short notice, because I won't have proper time to test the stuff.
> 
> The plan is to put it in kvmarm/next right after the merge window
> closes.

Since there are x86 bits, please send an "unusual" kvmarm/next pull
request as soon as it's ready.  This way the 3.20 kvm/next and
kvmarm/next trees can both include it.

Paolo
Christoffer Dall Dec. 11, 2014, 11:59 a.m. UTC | #8
On Thu, Dec 11, 2014 at 12:52:37PM +0100, Paolo Bonzini wrote:
> 
> 
> On 09/12/2014 12:25, Christoffer Dall wrote:
> >   git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm-for-3.19
> 
> Pulled, thanks.
> 
> (In case you're wondering, this merge window I'll send the pull request
> late to avoid multiple conflicts with the ia64 removal).
> 
ok, we are considering sending the regression fix for the vgic init
stuff as an additional pull request next week, depending on available
cycles for reviewing an testing:

https://lists.cs.columbia.edu/pipermail/kvmarm/2014-December/012743.html

We also have a series which clarifies the ABI and fixes guest reboot
issues and guest UEFI issues, which seems to be quieting down.  Since
that is technically a fix, we could merge that for -rc2?

https://lists.cs.columbia.edu/pipermail/kvmarm/2014-December/012635.html

Would both be ok with you?

-Christoffer
Christoffer Dall Dec. 11, 2014, 12:02 p.m. UTC | #9
On Thu, Dec 11, 2014 at 12:54:30PM +0100, Paolo Bonzini wrote:
> 
> 
> On 11/12/2014 10:47, Christoffer Dall wrote:
> > On Tue, Dec 09, 2014 at 08:39:39PM +0100, Paolo Bonzini wrote:
> >>
> >>
> >> On 09/12/2014 12:25, Christoffer Dall wrote:
> >>> Hi Paolo,
> >>>
> >>> The following changes since commit f62c95fd4041d669159dd76ac0bb2a7f86b5b05d:
> >>>
> >>>   Merge tag 'kvm-s390-next-20141028' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD (2014-10-29 13:31:32 +0100)
> >>>
> >>> are available in the git repository at:
> >>>
> >>>   git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm-for-3.19
> >>>
> >>> for you to fetch changes up to 016ed39c54b8a3db680e5c6a43419f806133caf2:
> >>>
> >>>   arm/arm64: KVM: vgic: kick the specific vcpu instead of iterating through all (2014-11-26 10:19:37 +0000)
> >>>
> >>> Thanks,
> >>> -Christoffer
> >>>
> >>> ----------------------------------------------------------------
> >>> Changes for KVM for arm/arm64 for v3.19 including mmio mapping fixups
> >>> (already in kvm/next, apologies about duplicate commits), vgic cleanup
> >>> and optimizations, and an MMIO path cleanup.
> >>>
> >>> ----------------------------------------------------------------
> >>>
> >>>
> >>> Andre Przywara (1):
> >>>   arm/arm64: KVM: avoid unnecessary guest register mangling on MMIO read
> >>>
> >>> Ard Biesheuvel (4):
> >>>   arm/arm64: kvm: drop inappropriate use of kvm_is_mmio_pfn()
> >>>   kvm: fix kvm_is_mmio_pfn() and rename to kvm_is_reserved_pfn()
> >>>   kvm: add a memslot flag for incoherent memory regions
> >>>   arm, arm64: KVM: handle potential incoherency of readonly memslots
> >>>
> >>> Christoffer Dall (1):
> >>>   arm/arm64: vgic: Remove unreachable irq_clear_pending
> >>>
> >>> Laszlo Ersek (1):
> >>>   arm, arm64: KVM: allow forced dcache flush on page faults
> >>>
> >>> Shannon Zhao (1):
> >>>   arm/arm64: KVM: vgic: kick the specific vcpu instead of iterating
> >>>     through all
> >>>
> >>> wanghaibin (1):
> >>>   KVM: ARM: VGIC: Optimize the vGIC vgic_update_irq_pending function.
> >>>
> >>>  arch/arm/include/asm/kvm_mmu.h   |  5 +++--
> >>>  arch/arm/kvm/mmio.c              | 15 +++++++++------
> >>>  arch/arm/kvm/mmu.c               | 34 +++++++++++++++++++++++++++-------
> >>>  arch/arm64/include/asm/kvm_mmu.h |  5 +++--
> >>>  arch/ia64/kvm/kvm-ia64.c         |  2 +-
> >>>  arch/x86/kvm/mmu.c               |  6 +++---
> >>>  include/linux/kvm_host.h         |  3 ++-
> >>>  virt/kvm/arm/vgic.c              | 20 +++++++++++++-------
> >>>  virt/kvm/kvm_main.c              | 16 ++++++++--------
> >>>  9 files changed, 69 insertions(+), 37 deletions(-)
> >>>
> >>
> >> No dirty bitmap yet?  You still have one week, I'm okay with a late
> >> addition.
> >>
> > No, we spotted a bug in the last revision and I prefer not merging it at
> > this short notice, because I won't have proper time to test the stuff.
> > 
> > The plan is to put it in kvmarm/next right after the merge window
> > closes.
> 
> Since there are x86 bits, please send an "unusual" kvmarm/next pull
> request as soon as it's ready.  This way the 3.20 kvm/next and
> kvmarm/next trees can both include it.
> 
Yes, that's what I meant actually, we'd put it in kvm/arm next as soon
as you've rebased kvm/next and send a pull request immediately, sorry
for being unclear.

-Christoffer
Paolo Bonzini Dec. 11, 2014, 12:04 p.m. UTC | #10
On 11/12/2014 12:59, Christoffer Dall wrote:
>> > 
> ok, we are considering sending the regression fix for the vgic init
> stuff as an additional pull request next week, depending on available
> cycles for reviewing an testing:
> 
> https://lists.cs.columbia.edu/pipermail/kvmarm/2014-December/012743.html
> 
> We also have a series which clarifies the ABI and fixes guest reboot
> issues and guest UEFI issues, which seems to be quieting down.  Since
> that is technically a fix, we could merge that for -rc2?
> 
> https://lists.cs.columbia.edu/pipermail/kvmarm/2014-December/012635.html

Both are okay for -rc.

Paolo