* [PATCH 0/7][RFC] Enable kvm/ia-64 to build kvm components in userspace.
@ 2008-07-04 2:16 Zhang, Xiantao
2008-07-05 9:18 ` Avi Kivity
0 siblings, 1 reply; 7+ messages in thread
From: Zhang, Xiantao @ 2008-07-04 2:16 UTC (permalink / raw)
To: kvm-ia64, kvm, avi
Hi, Avi
This patchset intends to enable kvm/ia-64 to build kvm components
in userspace. You know, current userspace code only supports x86 to
build kvm components, but kvm/ia64 have to build kvm modules and qemu
separately. In this way, it is not conveninent for user-ends, and kvm's
release package can't include kvm/ia64 bits. To make kvm userspace
more friendly and common, I re-organize the kernel directory of
kvm-userspace.git, and create two sub-directory (x86 and ia64)to hold
arch-specific source files. With its support, ia64's end-users can build
kvm/ia64 components in the same way with ia32 side, and future kvm's
release packages are also capable to include ia64 bits. Appreicate any
review comments!
PS: To make it reviewable, I splited it into small patches. The first
five patches intends to move x86 specific files to x86 directory, the
sixth one for enabling Kbuild in new laylout. The last one makes
kvm/ia64 build components in userspace.
Thanks
Xiantao
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH 0/7][RFC] Enable kvm/ia-64 to build kvm components in userspace. 2008-07-04 2:16 [PATCH 0/7][RFC] Enable kvm/ia-64 to build kvm components in userspace Zhang, Xiantao @ 2008-07-05 9:18 ` Avi Kivity 2008-07-05 10:02 ` Zhang, Xiantao 0 siblings, 1 reply; 7+ messages in thread From: Avi Kivity @ 2008-07-05 9:18 UTC (permalink / raw) To: Zhang, Xiantao; +Cc: kvm-ia64, kvm Zhang, Xiantao wrote: > Hi, Avi > This patchset intends to enable kvm/ia-64 to build kvm components > in userspace. You know, current userspace code only supports x86 to > build kvm components, but kvm/ia64 have to build kvm modules and qemu > separately. In this way, it is not conveninent for user-ends, and kvm's > release package can't include kvm/ia64 bits. To make kvm userspace > more friendly and common, I re-organize the kernel directory of > kvm-userspace.git, and create two sub-directory (x86 and ia64)to hold > arch-specific source files. With its support, ia64's end-users can build > kvm/ia64 components in the same way with ia32 side, and future kvm's > release packages are also capable to include ia64 bits. Appreicate any > review comments! > > While I have no objection in principle, I don't understand the motivation. kvm ia64 cannot be retrofitted to older kernels (since some symbols are not exported). Why is it not sufficient to use the kernel module from the kernel tree? Eventually, the x86 external module support will be dropped as well. Most noncommercial distributions already have good kvm support; the only questions is what to do with RHEL/SLES/CentOs users -- wait until the next major release, or wait until ovirt starts shipping? Note that mmu notifiers further reduce the attractiveness of the external module, unless someone manages to backport it to older kernels. > PS: To make it reviewable, I splited it into small patches. The first > five patches intends to move x86 specific files to x86 directory, the > sixth one for enabling Kbuild in new laylout. The last one makes > kvm/ia64 build components in userspace. > Please generate patches with the '-M' option (or set the 'diff.renames' config option) so file movement patches show up as such. -- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain. ^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH 0/7][RFC] Enable kvm/ia-64 to build kvm components in userspace. 2008-07-05 9:18 ` Avi Kivity @ 2008-07-05 10:02 ` Zhang, Xiantao 2008-07-05 10:21 ` Avi Kivity 0 siblings, 1 reply; 7+ messages in thread From: Zhang, Xiantao @ 2008-07-05 10:02 UTC (permalink / raw) To: Avi Kivity; +Cc: kvm-ia64, kvm Avi Kivity wrote: > Zhang, Xiantao wrote: >> Hi, Avi >> This patchset intends to enable kvm/ia-64 to build kvm >> components in userspace. You know, current userspace code only >> supports x86 to build kvm components, but kvm/ia64 have to build kvm >> modules and qemu separately. In this way, it is not conveninent for >> user-ends, and kvm's release package can't include kvm/ia64 bits. >> To make kvm userspace more friendly and common, I re-organize the >> kernel directory of kvm-userspace.git, and create two sub-directory >> (x86 and ia64)to hold arch-specific source files. With its support, >> ia64's end-users can build kvm/ia64 components in the same way with >> ia32 side, and future kvm's release packages are also capable to >> include ia64 bits. Appreicate any review comments! >> >> > > While I have no objection in principle, I don't understand the > motivation. kvm ia64 cannot be retrofitted to older kernels (since > some symbols are not exported). Why is it not sufficient to use the > kernel module from the kernel tree? The motivation is that developers and testers have to upgrade their kernels if kernel's minor version changed, otherwise the module formats would be incompatible. Especially it is not convenient for some auto testing systems, because the upgrading kernel process would be more complex. In addition, we can't alwasys require the end-users to use the lastest kvm.git bits as host kernels, especially for servers which may disallow to do a restart after enabling kvm on it. > Eventually, the x86 external module support will be dropped as well. > Most noncommercial distributions already have good kvm support; the > only questions is what to do with RHEL/SLES/CentOs users -- wait > until the next major release, or wait until ovirt starts shipping? > Note that mmu notifiers further reduce the attractiveness of the > external module, unless someone manages to backport it to older > kernels. Yes, that maybe a big problem for external module. But for ia64, we don't want to support kernels whose version is less than 2.6.26. However, when kernel's version grows to 2.6.27 or bigger, we have to provide the backward compatiblity for 2.6.26. Agree? Moreover, the users are using Linux-2.6.26, and don't want to upgrade their kernels, but they want to use latest kvm bits to run guests. How to meet such the requirement in a easy way? So, I think external module should be a better way to adopt. >> PS: To make it reviewable, I splited it into small patches. The >> first five patches intends to move x86 specific files to x86 >> directory, the sixth one for enabling Kbuild in new laylout. The >> last one makes kvm/ia64 build components in userspace. >> > > Please generate patches with the '-M' option (or set the > 'diff.renames' config option) so file movement patches show up as > such. Good idea! Thanks Xiantao ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0/7][RFC] Enable kvm/ia-64 to build kvm components in userspace. 2008-07-05 10:02 ` Zhang, Xiantao @ 2008-07-05 10:21 ` Avi Kivity 2008-07-07 9:48 ` Zhang, Xiantao 0 siblings, 1 reply; 7+ messages in thread From: Avi Kivity @ 2008-07-05 10:21 UTC (permalink / raw) To: Zhang, Xiantao; +Cc: kvm-ia64, kvm Zhang, Xiantao wrote: > Avi Kivity wrote: > >> Zhang, Xiantao wrote: >> >>> Hi, Avi >>> This patchset intends to enable kvm/ia-64 to build kvm >>> components in userspace. You know, current userspace code only >>> supports x86 to build kvm components, but kvm/ia64 have to build kvm >>> modules and qemu separately. In this way, it is not conveninent for >>> user-ends, and kvm's release package can't include kvm/ia64 bits. >>> To make kvm userspace more friendly and common, I re-organize the >>> kernel directory of kvm-userspace.git, and create two sub-directory >>> (x86 and ia64)to hold arch-specific source files. With its support, >>> ia64's end-users can build kvm/ia64 components in the same way with >>> ia32 side, and future kvm's release packages are also capable to >>> include ia64 bits. Appreicate any review comments! >>> >>> >>> >> While I have no objection in principle, I don't understand the >> motivation. kvm ia64 cannot be retrofitted to older kernels (since >> some symbols are not exported). Why is it not sufficient to use the >> kernel module from the kernel tree? >> > > The motivation is that developers and testers have to upgrade their > kernels if kernel's minor version changed, otherwise the module formats > would be incompatible. I do this all the time; this isn't a problem for developers. > Especially it is not convenient for some auto > testing systems, because the upgrading kernel process would be more > complex. I agree that for automatic testing it's more of a burden; but it needs to be done, especially as some kvm features are only enabled on newer kernels. The external module is convenient, but it's not a substitute for the real thing. > In addition, we can't alwasys require the end-users to use > the lastest kvm.git bits as host kernels, especially for servers which > may disallow to do a restart after enabling kvm on it. > If the server is used primarily for virtualization, you will need to stop all guests anyway. kvm.git is certainly not suitable for end-users; they should use a supported Linux distribution. The distro can choose whether to include the upstream kvm, or it can backport kvm.git into its kernel if it wants newer features. >> Eventually, the x86 external module support will be dropped as well. >> Most noncommercial distributions already have good kvm support; the >> only questions is what to do with RHEL/SLES/CentOs users -- wait >> until the next major release, or wait until ovirt starts shipping? >> > > > >> Note that mmu notifiers further reduce the attractiveness of the >> external module, unless someone manages to backport it to older >> kernels. >> > Yes, that maybe a big problem for external module. But for ia64, we > don't want to support kernels whose version is less than 2.6.26. > However, when kernel's version grows to 2.6.27 or bigger, we have to > provide the backward compatiblity for 2.6.26. Agree? > 2.6.26 has not been released! Is this a real problem or a theoretical problem? > Moreover, the users are using Linux-2.6.26, and don't want to upgrade > their kernels, but they want to use latest kvm bits to run guests. How > to meet such the requirement in a easy way? So, I think external module > should be a better way to adopt. > Well the same problem exists for network drivers. The kernel.org solution is to use the newer kernel, the distro solution is to backport the changes to the older kernel, if there is user demand. As I mentioned, I'm not opposed in principle, but I want to be sure we're solving a real problem, since external module maintenance is not trivial. -- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain. ^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH 0/7][RFC] Enable kvm/ia-64 to build kvm components in userspace. 2008-07-05 10:21 ` Avi Kivity @ 2008-07-07 9:48 ` Zhang, Xiantao 2008-07-10 14:52 ` Avi Kivity 0 siblings, 1 reply; 7+ messages in thread From: Zhang, Xiantao @ 2008-07-07 9:48 UTC (permalink / raw) To: Avi Kivity; +Cc: kvm-ia64, kvm Avi Kivity wrote: > Zhang, Xiantao wrote: >> Avi Kivity wrote: >> >>> Zhang, Xiantao wrote: >>> >>>> Hi, Avi >>>> This patchset intends to enable kvm/ia-64 to build kvm >>>> components in userspace. You know, current userspace code only >>>> supports x86 to build kvm components, but kvm/ia64 have to build >>>> kvm modules and qemu separately. In this way, it is not >>>> conveninent for user-ends, and kvm's release package can't >>>> include kvm/ia64 bits. To make kvm userspace more friendly and >>>> common, I re-organize the kernel directory of kvm-userspace.git, >>>> and create two sub-directory (x86 and ia64)to hold arch-specific >>>> source files. With its support, ia64's end-users can build >>>> kvm/ia64 components in the same way with ia32 side, and future >>>> kvm's release packages are also capable to include ia64 bits. >>>> Appreicate any review comments! >>>> >>>> >>>> >>> While I have no objection in principle, I don't understand the >>> motivation. kvm ia64 cannot be retrofitted to older kernels (since >>> some symbols are not exported). Why is it not sufficient to use the >>> kernel module from the kernel tree? >>> >> >> The motivation is that developers and testers have to upgrade their >> kernels if kernel's minor version changed, otherwise the module >> formats would be incompatible. > > I do this all the time; this isn't a problem for developers. Actually, so do I. But for testers or new comers, it maybe a big problem. >> Especially it is not convenient for some auto >> testing systems, because the upgrading kernel process would be more >> complex. > > I agree that for automatic testing it's more of a burden; but it needs > to be done, especially as some kvm features are only enabled on newer > kernels. > > The external module is convenient, but it's not a substitute for the > real thing. So, I have a question here, When will you drop external module support? You know, it blocks our auto-testing system now, we have to re-evaulate the effort without external module support. If it won't be dropped in a few weeks, we are eager to get its support for kvm-ia64. >> In addition, we can't alwasys require the end-users to use >> the lastest kvm.git bits as host kernels, especially for servers >> which may disallow to do a restart after enabling kvm on it. >> > > If the server is used primarily for virtualization, you will need to > stop all guests anyway. Agree. But for new users, it maybe a potential restart required for upgrading kernel. > kvm.git is certainly not suitable for end-users; they should use a > supported Linux distribution. The distro can choose whether to > include the upstream kvm, or it can backport kvm.git into its kernel > if it wants newer features. Backport maybe need more effort once without external module support. >>> Eventually, the x86 external module support will be dropped as well. >>> Most noncommercial distributions already have good kvm support; the >>> only questions is what to do with RHEL/SLES/CentOs users -- wait >>> until the next major release, or wait until ovirt starts shipping? >>> >> >> >> >>> Note that mmu notifiers further reduce the attractiveness of the >>> external module, unless someone manages to backport it to older >>> kernels. >>> >> Yes, that maybe a big problem for external module. But for ia64, we >> don't want to support kernels whose version is less than 2.6.26. >> However, when kernel's version grows to 2.6.27 or bigger, we have to >> provide the backward compatiblity for 2.6.26. Agree? >> > > 2.6.26 has not been released! Is this a real problem or a theoretical > problem? >From the long run, the problem should exist. IMO, we had better provide external module support for some recent kernel versions, instead of canceling it. >> Moreover, the users are using Linux-2.6.26, and don't want to >> upgrade their kernels, but they want to use latest kvm bits to run >> guests. How to meet such the requirement in a easy way? So, I think >> external module should be a better way to adopt. >> > > Well the same problem exists for network drivers. The kernel.org > solution is to use the newer kernel, the distro solution is to > backport the changes to the older kernel, if there is user demand. > > As I mentioned, I'm not opposed in principle, but I want to be sure > we're solving a real problem, since external module maintenance is not > trivial. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0/7][RFC] Enable kvm/ia-64 to build kvm components in userspace. 2008-07-07 9:48 ` Zhang, Xiantao @ 2008-07-10 14:52 ` Avi Kivity 2008-07-11 0:43 ` Zhang, Xiantao 0 siblings, 1 reply; 7+ messages in thread From: Avi Kivity @ 2008-07-10 14:52 UTC (permalink / raw) To: Zhang, Xiantao; +Cc: kvm-ia64, kvm Zhang, Xiantao wrote: >> >> I agree that for automatic testing it's more of a burden; but it needs >> to be done, especially as some kvm features are only enabled on newer >> kernels. >> >> The external module is convenient, but it's not a substitute for the >> real thing. >> > > So, I have a question here, When will you drop external module support? > I don't really know. > You know, it blocks our auto-testing system now, we have to re-evaulate > the effort without external module support. > I think it's very worthwhile to update the autotester to be able to build kernels. kvm will soon depend on core functionality (mmu notifiers) and since currently kvm is the only user (well, gru will be added soon, but ...) we need to test it ourselves. > If it won't be dropped in a few weeks, we are eager to get its support > for kvm-ia64. > > Okay, please send the patches, but with diff -M so they're readable. -- error compiling committee.c: too many arguments to function ^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH 0/7][RFC] Enable kvm/ia-64 to build kvm components in userspace. 2008-07-10 14:52 ` Avi Kivity @ 2008-07-11 0:43 ` Zhang, Xiantao 0 siblings, 0 replies; 7+ messages in thread From: Zhang, Xiantao @ 2008-07-11 0:43 UTC (permalink / raw) To: Avi Kivity; +Cc: kvm-ia64, kvm Avi Kivity wrote: > Zhang, Xiantao wrote: >>> >>> I agree that for automatic testing it's more of a burden; but it >>> needs to be done, especially as some kvm features are only enabled >>> on newer kernels. >>> >>> The external module is convenient, but it's not a substitute for >>> the real thing. >>> >> >> So, I have a question here, When will you drop external module >> support? >> > > I don't really know. > >> You know, it blocks our auto-testing system now, we have to >> re-evaulate the effort without external module support. >> > > I think it's very worthwhile to update the autotester to be able to > build kernels. kvm will soon depend on core functionality (mmu > notifiers) and since currently kvm is the only user (well, gru will be > added soon, but ...) we need to test it ourselves. > >> If it won't be dropped in a few weeks, we are eager to get its >> support for kvm-ia64. >> >> > > Okay, please send the patches, but with diff -M so they're readable. OK, I will regenerate the patches. Thanks! Xiantao ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2008-07-11 0:43 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-07-04 2:16 [PATCH 0/7][RFC] Enable kvm/ia-64 to build kvm components in userspace Zhang, Xiantao 2008-07-05 9:18 ` Avi Kivity 2008-07-05 10:02 ` Zhang, Xiantao 2008-07-05 10:21 ` Avi Kivity 2008-07-07 9:48 ` Zhang, Xiantao 2008-07-10 14:52 ` Avi Kivity 2008-07-11 0:43 ` Zhang, Xiantao
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox