All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@siemens.com>
To: unlisted-recipients:; (no To-header on input)
Cc: "Xu, Jiajun" <jiajun.xu@intel.com>,
	kvm@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
	Avi Kivity <avi@qumranet.com>
Subject: [PATCH] add compat wrapper for get_user_pages_fast
Date: Thu, 18 Sep 2008 18:33:04 +0200	[thread overview]
Message-ID: <48D282C0.3050100@siemens.com> (raw)
In-Reply-To: <48D21065.5090602@siemens.com>

Jan Kiszka wrote:
> Xu, Jiajun wrote:
>> Hi,
>> Against latest kvm commit, 9644a6d164e3d6d0532ddb064393293134f31ab2. KVM
>> compile meet error on 2.6.26.2. 
>>
>> [root@kvm-build kernel]# make
>> rm -f include/asm
>> ln -sf asm-x86 include/asm
>> ln -sf asm-x86 include-compat/asm
>> make -C /lib/modules/2.6.26.2/build M=`pwd` \
>>                 LINUXINCLUDE="-I`pwd`/include -Iinclude
>> -Iarch/x86/include -I`pwd`/include-compat \
>>                 -include include/linux/autoconf.h \
>>                 -include `pwd`/x86/external-module-compat.h"
>> make[1]: Entering directory `/usr/src/redhat/BUILD/kernel-2.6.26.2'
>>   CC [M]  /home/build/gitrepo/test/kvm-userspace/kernel/x86/kvm_main.o
>> /home/build/gitrepo/test/kvm-userspace/kernel/x86/kvm_main.c: In
>> function 'gfn_to_pfn':
>> /home/build/gitrepo/test/kvm-userspace/kernel/x86/kvm_main.c:742: error:
>> implicit declaration of function 'get_user_pages_fast'
>> make[3]: ***
>> [/home/build/gitrepo/test/kvm-userspace/kernel/x86/kvm_main.o] Error 1
>> make[2]: *** [/home/build/gitrepo/test/kvm-userspace/kernel/x86] Error 2
>> make[1]: *** [_module_/home/build/gitrepo/test/kvm-userspace/kernel]
>> Error 2
>> make[1]: Leaving directory `/usr/src/redhat/BUILD/kernel-2.6.26.2'
>>
> 
> I can confirm this bug. Looks like Marcelo's get_user_pages_fast patches
> lack corresponding compat wrapping (in kvm-userspace)...

Not sure if this is correct, but here is at least a compile fix.

Note that the original mmem_map locking scope was partly far broader on
older kernels than with Marcelo's patch and this fix now. Could anyone
comment on the correctness?

---------

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/external-module-compat-comm.h |   17 +++++++++++++++++
 1 file changed, 17 insertions(+)

Index: b/kernel/external-module-compat-comm.h
===================================================================
--- a/kernel/external-module-compat-comm.h
+++ b/kernel/external-module-compat-comm.h
@@ -531,3 +531,20 @@ struct pci_dev;
 struct pci_dev *pci_get_bus_and_slot(unsigned int bus, unsigned int devfn);
 
 #endif
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
+
+static inline int get_user_pages_fast(unsigned long start, int nr_pages,
+				      int write, struct page **pages)
+{
+	int npages;
+
+	down_read(&current->mm->mmap_sem);
+	npages = get_user_pages(current, current->mm, start, nr_pages, write,
+				0, pages, NULL);
+	up_read(&current->mm->mmap_sem);
+
+	return npages;
+}
+
+#endif

  reply	other threads:[~2008-09-18 16:33 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-18  3:17 KVM Build error with 2.6.26 Xu, Jiajun
2008-09-18  8:25 ` Jan Kiszka
2008-09-18 16:33   ` Jan Kiszka [this message]
2008-09-18 22:30     ` [PATCH] add compat wrapper for get_user_pages_fast Marcelo Tosatti
2008-09-19 23:52     ` Avi Kivity

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=48D282C0.3050100@siemens.com \
    --to=jan.kiszka@siemens.com \
    --cc=avi@qumranet.com \
    --cc=jiajun.xu@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=mtosatti@redhat.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.