Re: [GIT PULL] First batch of KVM changes for Linux 6.13 merge window

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/21/24 14:26, Nathan Chancellor wrote:
On Thu, Nov 21, 2024 at 07:56:23AM -0500, Sasha Levin wrote:
Hi Paolo,

On Wed, Nov 20, 2024 at 08:58:42AM -0500, Paolo Bonzini wrote:
      riscv: perf: add guest vs host distinction

When merging this PR into linus-next, I've started seeing build errors:

Looks like this is due to 2c47e7a74f44 ("perf/core: Correct perf
sampling with guest VMs") which went in couple of days ago through
Ingo's perf tree and changed the number of parameters for
perf_misc_flags().

Thanks Sasha. :(  Looks like Stephen does not build for risc-v.

There is a patch out to fix this but it seems like it needs to be
applied during this merge?

https://lore.kernel.org/20241116160506.5324-1-prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx/

Yes, this works.  To test it after the merge I did it.

  curl https://lore.kernel.org/linux-riscv/20241116160506.5324-1-prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx/raw | patch -p1
  git add -p
  git commit --amend


This should have been handled with a topic branch, and there is another
nontrivial conflict with Catalin's tree that should have been handled
with a topic branch.  (I knew about that one, but his topic branch also
had a conflict with something else; so I un-pulled it and then forgot
about it).


Linus,

if you prefer to get a reviewed pull request with the topic branches
included, then the changes since commit 2c47e7a74f445426d156278e339b7abb259e50de:

  perf/core: Correct perf sampling with guest VMs (2024-11-14 10:40:01 +0100)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/for-linus-with-topic-branches-6.13

for you to fetch changes up to bde387a8d81735a93c115ee4f1bd99718e5d30b0:

  Merge branch 'for-next/mte' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux into HEAD (2024-11-21 08:53:23 -0500)


Alternatively,

the best way to get the RISC-V fix is the curl invocation above, and after
my signature is the conflict resolution for Catalin's tree.


Thanks,

Paolo


diff --cc arch/arm64/kvm/guest.c
index 4cd7ffa76794,e738a353b20e..12dad841f2a5
--- a/arch/arm64/kvm/guest.c
+++ b/arch/arm64/kvm/guest.c
@@@ -1051,11 -1051,13 +1051,12 @@@ int kvm_vm_ioctl_mte_copy_tags(struct k
  	}
while (length > 0) {
 -		kvm_pfn_t pfn = gfn_to_pfn_prot(kvm, gfn, write, NULL);
 +		struct page *page = __gfn_to_page(kvm, gfn, write);
  		void *maddr;
  		unsigned long num_tags;
 -		struct page *page;
+ 		struct folio *folio;
- if (is_error_noslot_pfn(pfn)) {
 +		if (!page) {
  			ret = -EFAULT;
  			goto out;
  		}
@@@ -1090,8 -1099,12 +1097,12 @@@
  			/* uaccess failed, don't leave stale tags */
  			if (num_tags != MTE_GRANULES_PER_PAGE)
  				mte_clear_page_tags(maddr);
- 			set_page_mte_tagged(page);
+ 			if (folio_test_hugetlb(folio))
+ 				folio_set_hugetlb_mte_tagged(folio);
+ 			else
+ 				set_page_mte_tagged(page);
+
 -			kvm_release_pfn_dirty(pfn);
 +			kvm_release_page_dirty(page);
  		}
if (num_tags != MTE_GRANULES_PER_PAGE) {





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux