* Re: [kvm-ia64-devel] kvm/ia64 TODO List. (Draft).
2008-07-08 2:00 kvm/ia64 TODO List. (Draft) Zhang, Xiantao
@ 2008-07-08 2:50 ` Akio Takebe
2008-07-08 2:54 ` Zhang, Xiantao
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Akio Takebe @ 2008-07-08 2:50 UTC (permalink / raw)
To: kvm-ia64
[-- Attachment #1: Mail message body --]
[-- Type: text/plain, Size: 2496 bytes --]
Hi, Xiantao
I want to add supporting windows2008.
Thank you for your good proposal.
I tried to boot windows2008 with supporting more pal calls before,
I couldn't do it. I'm not sure the casuse yet.
FYI, I attached the patch.
Best Regards,
Akio Takebe
>Hi, folks
>In the past months, kvm/ia64 has been merged into linux mainline kernel
>with the help from community, and also get a relatively stable status.
>Cheers! Thanks for your effort!! You know, kvm/ia64 bits will be
>included in Linux-2.6.26 release.
>In the next stage, kvm/ia64 may be integrated into some commercial Linux
>OS, and before that, we need to ensure its stability and greats feature
>enabled for it. So, now we need your hands to join in the development
>for enhancing the features, and make it more and more stable in the next
>weeks.
>But compared with x86 side, we still have some good features to catch
>up. In this mail, I will list them and their dependcies in detail. If
>you are interest in one or more tasks, please reply the mail directly
>and let other guys to track their progress and know the task's holders.
>Welcome to join us!! Appreciate any effort from you!
>
>TODO List (draft):
>
>1. Live Migration and Save restore. (Xiantao is working on it.)
>2. Host-memory swapping. (Good and urgent feature to catch up.)
>3. virto-io enabling. (Fast IO for kvm guests.)
>4. Guest reboot and shutdown support. (Basic feature)
>5. vt-d enabling. (Maybe share the code with x86 side, but only to
>implement ia64-specific side. Depend on VT-d platform for ia64)
>6. superpage support for guest.
>7. kvm trace enabling.
>
>If I omit some good features or you have some good proposals, please
>feel free to bring forward them! Thanks in advace for your support! :-)
>
>
>BTW. Kvm/ia64 mailing list has switched to kernel.org, and the
>sourceforge list has been dropped from now on. Please subscribe the new
>one from http://vger.kernel.org/vger-lists.html.
>
>Xiantao
>
>-------------------------------------------------------------------------
>Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
>Studies have shown that voting for your favorite open source project,
>along with a healthy diet, reduces your potential for chronic lameness
>and boredom. Vote Now at http://www.sourceforge.net/community/cca08
>_______________________________________________
>kvm-ia64-devel mailing list
>kvm-ia64-devel@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/kvm-ia64-devel
[-- Attachment #2: support_more_palcall.patch --]
[-- Type: application/octet-stream, Size: 3597 bytes --]
diff --git a/arch/ia64/kvm/kvm_fw.c b/arch/ia64/kvm/kvm_fw.c
index 091f936..c29a3ea 100644
--- a/arch/ia64/kvm/kvm_fw.c
+++ b/arch/ia64/kvm/kvm_fw.c
@@ -112,6 +112,19 @@ static void remote_pal_cache_flush(void *data)
args->status = status;
}
+static void
+remote_pal_prefetch_visibility(void *v)
+{
+ s64 trans_type = (s64)v;
+ ia64_pal_prefetch_visibility(trans_type);
+}
+
+static void
+remote_pal_mc_drain(void *v)
+{
+ ia64_pal_mc_drain();
+}
+
static struct ia64_pal_retval pal_cache_flush(struct kvm_vcpu *vcpu)
{
u64 gr28, gr29, gr30, gr31;
@@ -158,6 +171,38 @@ static struct ia64_pal_retval pal_cache_flush(struct kvm_vcpu *vcpu)
return result;
}
+static struct ia64_pal_retval pal_prefetch_visibility(struct kvm_vcpu *vcpu)
+{
+ struct ia64_pal_retval result = {0, 0, 0, 0};
+ unsigned long in0, in1, in2, in3;
+ kvm_get_pal_call_data(vcpu, &in0, &in1, &in2, &in3);
+ result.status = ia64_pal_prefetch_visibility(in1);
+ if (result.status == 0) {
+ /* must be performed on all remote processors
+ in the coherence domain. */
+ smp_call_function(remote_pal_prefetch_visibility,
+ (void *)in1, 1, 1);
+ /* no more necessary on remote processor */
+ result.status = 1;
+ }
+ return result;
+}
+
+static struct ia64_pal_retval pal_get_brand_info(struct kvm_vcpu *vcpu)
+{
+ struct ia64_pal_retval result = {0, 0, 0, 0};
+ unsigned long in0, in1, in2, in3;
+ kvm_get_pal_call_data(vcpu, &in0, &in1, &in2, &in3);
+ if (in1 == 0) {
+ char brand_info[128];
+ result.status = ia64_pal_get_brand_info(brand_info);
+ if (result.status == PAL_STATUS_SUCCESS)
+ copy_to_user((void *)in2, brand_info, 128);
+ } else {
+ result.status = PAL_STATUS_EINVAL;
+ }
+ return result;
+}
struct ia64_pal_retval pal_cache_summary(struct kvm_vcpu *vcpu)
{
@@ -241,6 +286,24 @@ static struct ia64_pal_retval pal_cache_info(struct kvm_vcpu *vcpu)
return ((struct ia64_pal_retval){status, r9, r10, 0});
}
+static struct ia64_pal_retval pal_perf_mon_info(struct kvm_vcpu *vcpu)
+{
+ long status;
+ unsigned long in0, in1, in2, in3, r9;
+ unsigned long pm_buffer[16];
+
+ kvm_get_pal_call_data(vcpu, &in0, &in1, &in2, &in3);
+ status = ia64_pal_perf_mon_info( pm_buffer, (pal_perf_mon_info_u_t *) &r9);
+ if (status != 0) {
+ printk("PAL_PERF_MON_INFO fails ret=%ld\n", status);
+ } else {
+ if (copy_to_user((void *)in1, pm_buffer, sizeof(pm_buffer))) {
+ status = PAL_STATUS_EINVAL;
+ }
+ }
+ return ((struct ia64_pal_retval){status, r9, 0, 0});
+}
+
#define GUEST_IMPL_VA_MSB 59
#define GUEST_RID_BITS 18
@@ -334,6 +397,9 @@ int kvm_pal_emul(struct kvm_vcpu *vcpu, struct kvm_run *run)
case PAL_PLATFORM_ADDR :
result = pal_platform_addr(vcpu);
break;
+ case PAL_PERF_MON_INFO:
+ result = pal_perf_mon_info(vcpu);
+ break;
case PAL_CACHE_INFO:
result = pal_cache_info(vcpu);
break;
@@ -366,6 +432,22 @@ int kvm_pal_emul(struct kvm_vcpu *vcpu, struct kvm_run *run)
result.status = PAL_STATUS_SUCCESS;
result.v0 = vcpu->vcpu_id;
break;
+ case PAL_PREFETCH_VISIBILITY:
+ result = pal_prefetch_visibility(vcpu);
+ break;
+ case PAL_MC_DRAIN:
+ result.status = ia64_pal_mc_drain();
+ /* FIXME: All vcpus likely call PAL_MC_DRAIN.
+ That causes the congestion. */
+ smp_call_function(remote_pal_mc_drain, NULL, 1, 1);
+ break;
+ case PAL_BRAND_INFO:
+ result = pal_get_brand_info(vcpu);
+ break;
+ case PAL_GET_PSTATE:
+ case PAL_CACHE_SHARED_INFO:
+ /* Optional, no need to complain about being unimplemented */
+ break;
default:
INIT_PAL_STATUS_UNIMPLEMENTED(result);
printk(KERN_WARNING"kvm: Unsupported pal call,"
^ permalink raw reply related [flat|nested] 11+ messages in thread* RE: [kvm-ia64-devel] kvm/ia64 TODO List. (Draft).
2008-07-08 2:00 kvm/ia64 TODO List. (Draft) Zhang, Xiantao
2008-07-08 2:50 ` [kvm-ia64-devel] " Akio Takebe
@ 2008-07-08 2:54 ` Zhang, Xiantao
2008-07-08 3:05 ` Zhang, Xiantao
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Zhang, Xiantao @ 2008-07-08 2:54 UTC (permalink / raw)
To: kvm-ia64
Akio Takebe wrote:
> Hi, Xiantao
>
> I want to add supporting windows2008.
>
> Thank you for your good proposal.
> I tried to boot windows2008 with supporting more pal calls before,
> I couldn't do it. I'm not sure the casuse yet.
> FYI, I attached the patch.
Hi, Akio
Thanks for your work! So, with the extra pal calls support, you
still can't boot windows 2008 ? :)
Xiantao
> Best Regards,
>
> Akio Takebe
>
>> Hi, folks
>> In the past months, kvm/ia64 has been merged into linux mainline
>> kernel with the help from community, and also get a relatively
>> stable status. Cheers! Thanks for your effort!! You know, kvm/ia64
>> bits will be included in Linux-2.6.26 release.
>> In the next stage, kvm/ia64 may be integrated into some commercial
>> Linux OS, and before that, we need to ensure its stability and
>> greats feature enabled for it. So, now we need your hands to join in
>> the development for enhancing the features, and make it more and
>> more stable in the next weeks. But compared with x86 side, we still
>> have some good features to catch up. In this mail, I will list them
>> and their dependcies in detail. If you are interest in one or more
>> tasks, please reply the mail directly and let other guys to track
>> their progress and know the task's holders. Welcome to join us!!
>> Appreciate any effort from you!
>>
>> TODO List (draft):
>>
>> 1. Live Migration and Save restore. (Xiantao is working on it.)
>> 2. Host-memory swapping. (Good and urgent feature to catch up.)
>> 3. virto-io enabling. (Fast IO for kvm guests.)
>> 4. Guest reboot and shutdown support. (Basic feature)
>> 5. vt-d enabling. (Maybe share the code with x86 side, but only to
>> implement ia64-specific side. Depend on VT-d platform for ia64)
>> 6. superpage support for guest.
>> 7. kvm trace enabling.
>>
>> If I omit some good features or you have some good proposals, please
>> feel free to bring forward them! Thanks in advace for your support!
>> :-)
>>
>>
>> BTW. Kvm/ia64 mailing list has switched to kernel.org, and the
>> sourceforge list has been dropped from now on. Please subscribe the
>> new one from http://vger.kernel.org/vger-lists.html.
>>
>> Xiantao
>>
>>
------------------------------------------------------------------------
-
>> Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
>> Studies have shown that voting for your favorite open source project,
>> along with a healthy diet, reduces your potential for chronic
>> lameness and boredom. Vote Now at
>> http://www.sourceforge.net/community/cca08
>> _______________________________________________
>> kvm-ia64-devel mailing list
>> kvm-ia64-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/kvm-ia64-devel
^ permalink raw reply [flat|nested] 11+ messages in thread* RE: [kvm-ia64-devel] kvm/ia64 TODO List. (Draft).
2008-07-08 2:00 kvm/ia64 TODO List. (Draft) Zhang, Xiantao
2008-07-08 2:50 ` [kvm-ia64-devel] " Akio Takebe
2008-07-08 2:54 ` Zhang, Xiantao
@ 2008-07-08 3:05 ` Zhang, Xiantao
2008-07-08 3:12 ` Akio Takebe
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Zhang, Xiantao @ 2008-07-08 3:05 UTC (permalink / raw)
To: kvm-ia64
Akio Takebe wrote:
> Hi, Xiantao
>
> I want to add supporting windows2008.
So, do you have time to work on it ? :)
Xiantao
> Thank you for your good proposal.
> I tried to boot windows2008 with supporting more pal calls before,
> I couldn't do it. I'm not sure the casuse yet.
> FYI, I attached the patch.
>
> Best Regards,
>
> Akio Takebe
>
>> Hi, folks
>> In the past months, kvm/ia64 has been merged into linux mainline
>> kernel with the help from community, and also get a relatively
>> stable status. Cheers! Thanks for your effort!! You know, kvm/ia64
>> bits will be included in Linux-2.6.26 release.
>> In the next stage, kvm/ia64 may be integrated into some commercial
>> Linux OS, and before that, we need to ensure its stability and
>> greats feature enabled for it. So, now we need your hands to join in
>> the development for enhancing the features, and make it more and
>> more stable in the next weeks. But compared with x86 side, we still
>> have some good features to catch up. In this mail, I will list them
>> and their dependcies in detail. If you are interest in one or more
>> tasks, please reply the mail directly and let other guys to track
>> their progress and know the task's holders. Welcome to join us!!
>> Appreciate any effort from you!
>>
>> TODO List (draft):
>>
>> 1. Live Migration and Save restore. (Xiantao is working on it.)
>> 2. Host-memory swapping. (Good and urgent feature to catch up.)
>> 3. virto-io enabling. (Fast IO for kvm guests.)
>> 4. Guest reboot and shutdown support. (Basic feature)
>> 5. vt-d enabling. (Maybe share the code with x86 side, but only to
>> implement ia64-specific side. Depend on VT-d platform for ia64)
>> 6. superpage support for guest.
>> 7. kvm trace enabling.
>>
>> If I omit some good features or you have some good proposals, please
>> feel free to bring forward them! Thanks in advace for your support!
>> :-)
>>
>>
>> BTW. Kvm/ia64 mailing list has switched to kernel.org, and the
>> sourceforge list has been dropped from now on. Please subscribe the
>> new one from http://vger.kernel.org/vger-lists.html.
>>
>> Xiantao
>>
>>
------------------------------------------------------------------------
-
>> Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
>> Studies have shown that voting for your favorite open source project,
>> along with a healthy diet, reduces your potential for chronic
>> lameness and boredom. Vote Now at
>> http://www.sourceforge.net/community/cca08
>> _______________________________________________
>> kvm-ia64-devel mailing list
>> kvm-ia64-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/kvm-ia64-devel
^ permalink raw reply [flat|nested] 11+ messages in thread* RE: [kvm-ia64-devel] kvm/ia64 TODO List. (Draft).
2008-07-08 2:00 kvm/ia64 TODO List. (Draft) Zhang, Xiantao
` (2 preceding siblings ...)
2008-07-08 3:05 ` Zhang, Xiantao
@ 2008-07-08 3:12 ` Akio Takebe
2008-07-08 3:14 ` Akio Takebe
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Akio Takebe @ 2008-07-08 3:12 UTC (permalink / raw)
To: kvm-ia64
Hi, Xiantao
>Akio Takebe wrote:
>> Hi, Xiantao
>>
>> I want to add supporting windows2008.
>>
>> Thank you for your good proposal.
>> I tried to boot windows2008 with supporting more pal calls before,
>> I couldn't do it. I'm not sure the casuse yet.
>> FYI, I attached the patch.
>
>Hi, Akio
> Thanks for your work! So, with the extra pal calls support, you
>still can't boot windows 2008 ? :)
>Xiantao
>
Yes, I couldn't boot it completely.
Windows 2008 installer hanged up if I applied the patch.
Best Regards,
Akio Takebe
^ permalink raw reply [flat|nested] 11+ messages in thread* RE: [kvm-ia64-devel] kvm/ia64 TODO List. (Draft).
2008-07-08 2:00 kvm/ia64 TODO List. (Draft) Zhang, Xiantao
` (3 preceding siblings ...)
2008-07-08 3:12 ` Akio Takebe
@ 2008-07-08 3:14 ` Akio Takebe
2008-07-08 3:19 ` Zhang, Xiantao
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Akio Takebe @ 2008-07-08 3:14 UTC (permalink / raw)
To: kvm-ia64
Hi, Xiantao
>Akio Takebe wrote:
>> Hi, Xiantao
>>
>> I want to add supporting windows2008.
>
>So, do you have time to work on it ? :)
>Xiantao
I don't have enough time now.
But I'm going to try while my rest time. :-)
Best Regards,
Akio Takebe
^ permalink raw reply [flat|nested] 11+ messages in thread* RE: [kvm-ia64-devel] kvm/ia64 TODO List. (Draft).
2008-07-08 2:00 kvm/ia64 TODO List. (Draft) Zhang, Xiantao
` (4 preceding siblings ...)
2008-07-08 3:14 ` Akio Takebe
@ 2008-07-08 3:19 ` Zhang, Xiantao
2008-07-28 12:50 ` Jes Sorensen
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Zhang, Xiantao @ 2008-07-08 3:19 UTC (permalink / raw)
To: kvm-ia64
Akio Takebe wrote:
> Hi, Xiantao
>
>> Akio Takebe wrote:
>>> Hi, Xiantao
>>>
>>> I want to add supporting windows2008.
>>
>> So, do you have time to work on it ? :)
>> Xiantao
> I don't have enough time now.
> But I'm going to try while my rest time. :-)
OK, Thank you! That shouldn't be a big problem. I will add it to the
TODO list and temporarily assign you as the owner :-)
Xiantao
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: kvm/ia64 TODO List. (Draft).
2008-07-08 2:00 kvm/ia64 TODO List. (Draft) Zhang, Xiantao
` (5 preceding siblings ...)
2008-07-08 3:19 ` Zhang, Xiantao
@ 2008-07-28 12:50 ` Jes Sorensen
2008-07-29 0:54 ` Zhang, Xiantao
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Jes Sorensen @ 2008-07-28 12:50 UTC (permalink / raw)
To: kvm-ia64
Zhang, Xiantao wrote:
> TODO List (draft):
>
> 1. Live Migration and Save restore. (Xiantao is working on it.)
> 2. Host-memory swapping. (Good and urgent feature to catch up.)
> 3. virto-io enabling. (Fast IO for kvm guests.)
> 4. Guest reboot and shutdown support. (Basic feature)
> 5. vt-d enabling. (Maybe share the code with x86 side, but only to
> implement ia64-specific side. Depend on VT-d platform for ia64)
> 6. superpage support for guest.
> 7. kvm trace enabling.
Hi,
IMHO there's other stuff we need to look at as well - I find KVM/ia64
really slow to boot, I don't know if it is my system, but it seems
frustratingly slow :-(
Otherwise I'd like to focus work on qemu and scalability, something we
really need, but which is also shared with x86.
Cheers,
Jes
^ permalink raw reply [flat|nested] 11+ messages in thread* RE: kvm/ia64 TODO List. (Draft).
2008-07-08 2:00 kvm/ia64 TODO List. (Draft) Zhang, Xiantao
` (6 preceding siblings ...)
2008-07-28 12:50 ` Jes Sorensen
@ 2008-07-29 0:54 ` Zhang, Xiantao
2008-07-29 9:11 ` Jes Sorensen
2008-07-29 10:57 ` Zhang, Xiantao
9 siblings, 0 replies; 11+ messages in thread
From: Zhang, Xiantao @ 2008-07-29 0:54 UTC (permalink / raw)
To: kvm-ia64
Jes Sorensen wrote:
> Zhang, Xiantao wrote:
>> TODO List (draft):
>>
>> 1. Live Migration and Save restore. (Xiantao is working on it.)
>> 2. Host-memory swapping. (Good and urgent feature to catch up.)
>> 3. virto-io enabling. (Fast IO for kvm guests.)
>> 4. Guest reboot and shutdown support. (Basic feature)
>> 5. vt-d enabling. (Maybe share the code with x86 side, but only to
>> implement ia64-specific side. Depend on VT-d platform for ia64)
>> 6. superpage support for guest.
>> 7. kvm trace enabling.
>
> Hi,
Hi, Jes
Thanks for your reply!
> IMHO there's other stuff we need to look at as well - I find KVM/ia64
> really slow to boot, I don't know if it is my system, but it seems
> frustratingly slow :-(
It is versy strange! We didn't meet this issue at our side. Maybe it is
caused by old PAL. Which version is the machine's PAL?
> Otherwise I'd like to focus work on qemu and scalability, something we
> really need, but which is also shared with x86.
Agree. We really need effort to identify such tasks and work on them.
Do you have some proposals on this area? :)
Xiantao
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: kvm/ia64 TODO List. (Draft).
2008-07-08 2:00 kvm/ia64 TODO List. (Draft) Zhang, Xiantao
` (7 preceding siblings ...)
2008-07-29 0:54 ` Zhang, Xiantao
@ 2008-07-29 9:11 ` Jes Sorensen
2008-07-29 10:57 ` Zhang, Xiantao
9 siblings, 0 replies; 11+ messages in thread
From: Jes Sorensen @ 2008-07-29 9:11 UTC (permalink / raw)
To: kvm-ia64
Zhang, Xiantao wrote:
> It is versy strange! We didn't meet this issue at our side. Maybe it is
> caused by old PAL. Which version is the machine's PAL?
Hi Xiantao,
This is the output from the host:
[root@mustafa ~]# cat /proc/pal/cpu0/version_info
PAL_vendor : 0xff (min=0xff)
PAL_A : 01.08 (min\x01.03)
PAL_B : 01.14 (min\x01.00)
>> Otherwise I'd like to focus work on qemu and scalability, something we
>> really need, but which is also shared with x86.
> Agree. We really need effort to identify such tasks and work on them.
> Do you have some proposals on this area? :)
There's a lot to do really, first priority is to get qemu and qemu-kvm
in sync. Then we need to look at making it more scalable for when
running on larger systems with many I/O devices presented to the guest.
I should have the hardware to work on that though, at some point :-)
Cheers,
Jes
^ permalink raw reply [flat|nested] 11+ messages in thread* RE: kvm/ia64 TODO List. (Draft).
2008-07-08 2:00 kvm/ia64 TODO List. (Draft) Zhang, Xiantao
` (8 preceding siblings ...)
2008-07-29 9:11 ` Jes Sorensen
@ 2008-07-29 10:57 ` Zhang, Xiantao
9 siblings, 0 replies; 11+ messages in thread
From: Zhang, Xiantao @ 2008-07-29 10:57 UTC (permalink / raw)
To: kvm-ia64
Jes Sorensen wrote:
> Zhang, Xiantao wrote:
>> It is versy strange! We didn't meet this issue at our side. Maybe
>> it is caused by old PAL. Which version is the machine's PAL?
>
> Hi Xiantao,
>
> This is the output from the host:
>
> [root@mustafa ~]# cat /proc/pal/cpu0/version_info
> PAL_vendor : 0xff (min=0xff)
> PAL_A : 01.08 (min\x01.03)
> PAL_B : 01.14 (min\x01.00)
The same dump info as following from my box. Seems your machine are
using the very old PAL which can't support VT-I friendly. Maybe you
need to upgrade it and try it again :)
[root@vti-xiantao ~]# cat /proc/pal/cpu0/version_info
PAL_vendor : 0xff (min=0xff)
PAL_A : 07.46 (min\a.00)
PAL_B : 09.68 (min\x05.00)
>>> Otherwise I'd like to focus work on qemu and scalability, something
>>> we really need, but which is also shared with x86.
>> Agree. We really need effort to identify such tasks and work on them.
>> Do you have some proposals on this area? :)
> There's a lot to do really, first priority is to get qemu and qemu-kvm
> in sync. Then we need to look at making it more scalable for when
> running on larger systems with many I/O devices presented to the
> guest. I should have the hardware to work on that though, at some
> point :-)
Yes. We do need to catch up some new features with x86 side in
userspace. Hope your machine to work well with VT-I after you upgrading
the PAL . You know, we still have a lot of work to do for getting a
production-level's kvm, and so we expect more hands to join the
development and contribute on it.
Xiantao
^ permalink raw reply [flat|nested] 11+ messages in thread