RE: [Xen-ia64-devel] [PATCH] [RESEND] domU destroy page ref counter

2006-03-13 Thread Akio Takebe
Hi, Kevin and Anthony

Thank you for your comments.

For refcount:
- You may want to change PGT_va_shift to 32 like x86-64 since unsigned 
long type_info is 64bit width on IA64. Or you either can define it as u32 
type_info to save space since higher half is not used by your patch.

I thought I wanted to be the same struct page as x86.
So I think changing PGT_va_shift to 32 is better 
since u32 type_info cannot be saved space.
(because inuse and free are union.)

For domain destroy:
- Also need to free metaphysical rid, which is null by far. Current 
metaphysical rid allocation policy is monotonic-incremental-allocation-no-
free
 style. Though it's unlikely to see exhaust of this area (one block 
reserved by
 far), it's better to change it to a cleaner, more efficient policy. You 
may at 
least put a call there if delayed with lower priority.

As you said, VHPT and TLB flush may be not necessary,
but we use these flush for safe destroy.
So Kan made a feature of allocating rid, then we may be able to remove 
these flush.

Best Regards,

Akio Takebe


___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel


RE: [Xen-ia64-devel] [PATCH] [RESEND] domU destroy page ref counter

2006-03-13 Thread Tian, Kevin
From: Akio Takebe [mailto:[EMAIL PROTECTED]
Sent: 2006年3月13日 17:45
For refcount:
- You may want to change PGT_va_shift to 32 like x86-64 since
unsigned
long type_info is 64bit width on IA64. Or you either can define it as
u32
type_info to save space since higher half is not used by your patch.

I thought I wanted to be the same struct page as x86.
So I think changing PGT_va_shift to 32 is better
since u32 type_info cannot be saved space.
(because inuse and free are union.)

Correct.


For domain destroy:
- Also need to free metaphysical rid, which is null by far. Current
metaphysical rid allocation policy is
monotonic-incremental-allocation-no-
free
 style. Though it's unlikely to see exhaust of this area (one block
reserved by
 far), it's better to change it to a cleaner, more efficient policy. You
may at
least put a call there if delayed with lower priority.

As you said, VHPT and TLB flush may be not necessary,
but we use these flush for safe destroy.
So Kan made a feature of allocating rid, then we may be able to remove
these flush.


Great.

Thanks,
Kevin

___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel


RE: [Xen-ia64-devel] [PATCH] [RESEND] domU destroy page ref counter

2006-03-13 Thread Dong, Eddie
Really a good job!
A minor suggestion for next in my mind is that we may add a simple
COMPILE option in Makefile or some .h file to be able to choice 1/3 byte
swap or 1/2 byte swap. People has some thoughts that 1/2 byte swap may
have better hash locality. 

Eddie.

___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel


RE: [Xen-ia64-devel] [PATCH] [RESEND] domU destroy page ref counter

2006-03-13 Thread Xu, Anthony
From: Dong, Eddie
Sent: 2006年3月13日 22:12
A minor suggestion for next in my mind is that we may add a simple COMPILE 
option
in Makefile or some .h file to be able to choice 1/3 byte swap or 1/2 byte 
swap.
People has some thoughts that 1/2 byte swap may have better hash locality.

Eddie.
I second Eddie,

I have some observations about this.
Usually guest applications use almost the address space, the only different is 
rid. What I observed was if the lowest 17 bits of rid are same, the hash 
address 
is same. If we swap 1/3 byte, applications use the same address space but 
different 
rid may have the hash address in a majority of situations, which may make some 
collision chains very long.

These are just some observations, I don't mean 1/2 byte swap is better than 1/3 
byte swap.I think we need to add COMPILE option to get benchmark data first, 
and 
then make the decision.

It's obviously not a big task but deserve to do. One thing we need to pay extra
attention is the rid byte swap is done in assembly code in some 
fast_hyperpriops.

Thanks,
Anthony

___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel


RE: [Xen-ia64-devel] [PATCH] [RESEND] domU destroy page ref counter

2006-03-13 Thread Magenheimer, Dan (HP Labs Fort Collins)
Rid mangling change has been discussed many times on the list,
most recently:

http://lists.xensource.com/archives/html/xen-ia64-devel/2005-11/msg00282.html 

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf 
 Of Xu, Anthony
 Sent: Monday, March 13, 2006 6:37 PM
 To: Dong, Eddie; Tian, Kevin; Akio Takebe; Masaki Kanno; 
 xen-ia64-devel@lists.xensource.com
 Subject: RE: [Xen-ia64-devel] [PATCH] [RESEND] domU destroy  
 page ref counter
 
 From: Dong, Eddie
 Sent: 2006年3月13日 22:12
 A minor suggestion for next in my mind is that we may add a 
 simple COMPILE option
 in Makefile or some .h file to be able to choice 1/3 byte 
 swap or 1/2 byte swap.
 People has some thoughts that 1/2 byte swap may have better 
 hash locality.
 
 Eddie.
 I second Eddie,
 
 I have some observations about this.
 Usually guest applications use almost the address space, the 
 only different is 
 rid. What I observed was if the lowest 17 bits of rid are 
 same, the hash address 
 is same. If we swap 1/3 byte, applications use the same 
 address space but different 
 rid may have the hash address in a majority of situations, 
 which may make some 
 collision chains very long.
 
 These are just some observations, I don't mean 1/2 byte swap 
 is better than 1/3 
 byte swap.I think we need to add COMPILE option to get 
 benchmark data first, and 
 then make the decision.
 
 It's obviously not a big task but deserve to do. One thing we 
 need to pay extra
 attention is the rid byte swap is done in assembly code in 
 some fast_hyperpriops.
 
 Thanks,
 Anthony
 
 ___
 Xen-ia64-devel mailing list
 Xen-ia64-devel@lists.xensource.com
 http://lists.xensource.com/xen-ia64-devel
 
___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel

RE: [Xen-ia64-devel] [PATCH] [RESEND] domU destroy page ref counter

2006-03-13 Thread Dong, Eddie
Yes, I remembered your suggestion. That is why I suggest to
enable a compile option so that somebody can start formal benchmark measurement 
:-)
Eddie

Magenheimer, Dan (HP Labs Fort Collins) wrote:
 Rid mangling change has been discussed many times on the list,
 most recently:
 
 http://lists.xensource.com/archives/html/xen-ia64-devel/2005-11/msg00282.html
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Xu,
 Anthony Sent: Monday, March 13, 2006 6:37 PM
 To: Dong, Eddie; Tian, Kevin; Akio Takebe; Masaki Kanno;
 xen-ia64-devel@lists.xensource.com
 Subject: RE: [Xen-ia64-devel] [PATCH] [RESEND] domU destroy  page
 ref counter 
 
 From: Dong, Eddie
 Sent: 2006年3月13日 22:12
 A minor suggestion for next in my mind is that we may add a simple
 COMPILE option in Makefile or some .h file to be able to choice 1/3
 byte swap or 1/2 byte swap. People has some thoughts that 1/2 byte
 swap may have better hash locality. 
 
 Eddie.
 I second Eddie,
 
 I have some observations about this.
 Usually guest applications use almost the address space, the only
 different is rid. What I observed was if the lowest 17 bits of rid
 are same, the hash address is same. If we swap 1/3 byte,
 applications use the same address space but different rid may have
 the hash address in a majority of situations, which may make some
 collision chains very long. 
 
 These are just some observations, I don't mean 1/2 byte swap is
 better than 1/3 byte swap.I think we need to add COMPILE option to
 get benchmark data first, and then make the decision.
 
 It's obviously not a big task but deserve to do. One thing we need
 to pay extra attention is the rid byte swap is done in assembly code
 in some fast_hyperpriops. 
 
 Thanks,
 Anthony
 
 ___
 Xen-ia64-devel mailing list
 Xen-ia64-devel@lists.xensource.com
 http://lists.xensource.com/xen-ia64-devel


___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel


RE: [Xen-ia64-devel] [PATCH] [RESEND] domU destroy page ref counter

2006-03-12 Thread Tian, Kevin
From: Masaki Kanno
Sent: 2006年3月10日 9:38
Hi,

We resend these patches. We made these patches to the latest
changeset:9161,
and reflected comments.
We tested the creation and the destruction of domU repeatedly 100 times.
As a result, there was not the memory which was not freed in xen/ia64.
Please apply these patches to the xen-ia64-unstable tree.

Signed-off-by: Akio Takebe [EMAIL PROTECTED]
Signed-off-by: Masaki Kanno [EMAIL PROTECTED]

Best regards,
 Kan, and Fujitsu team

Hi, Kan and Akio,
Good work to see it in tree now. Now several minor comments :-)

For refcount:
- You may want to change PGT_va_shift to 32 like x86-64 since unsigned 
long type_info is 64bit width on IA64. Or you either can define it as u32 
type_info to save space since higher half is not used by your patch.

For domain destroy:
- Also need to free metaphysical rid, which is null by far. Current 
metaphysical rid allocation policy is monotonic-incremental-allocation-no-free
 style. Though it's unlikely to see exhaust of this area (one block reserved by
 far), it's better to change it to a cleaner, more efficient policy. You may at 
least put a call there if delayed with lower priority.

- Maybe you can use xenpage_list to track p2m pages instead of adding a 
new pg_list and BUG_ON for the former?

More to consider for future of inter-domain reference:
I haven't looked into Isaku's p2m implementation yet. However when 
dom0 is converted without p==m, foreign page map will also trap into 
Xen for inc/dec refcount of foreign pages. You may co-work with Isaku to 
see whether similar issue can be addressed.

Thanks,
Kevin


___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel


Re: [Xen-ia64-devel] [PATCH] [RESEND] domU destroy page ref counter

2006-03-10 Thread Alex Williamson
On Fri, 2006-03-10 at 10:37 +0900, Masaki Kanno wrote:
 Hi,
 
 We resend these patches. We made these patches to the latest changeset:9161, 
 and reflected comments.
 We tested the creation and the destruction of domU repeatedly 100 times. 
 As a result, there was not the memory which was not freed in xen/ia64.
 Please apply these patches to the xen-ia64-unstable tree.

   Applied.

-- 
Alex Williamson HP Linux  Open Source Lab


___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel


Re: [Xen-ia64-devel] [PATCH] [RESEND] domU destroy page ref counter

2006-03-10 Thread Masaki Kanno
Hi Anthony,

Thanks for your comments.

Xu, Anthony wrote:
This patch is really good, community has been waiting domain destroy patch for 
a long time.

Is it appropriate time to flush vhpt and machine tlb when destroying domain?
I have below concerns,

In fact, I have concerns same as you.

1. This may counteract the benefit of rid partition. In my mind these flushes 
are done only when rid reuse happens when allocating rid for a new domain.

As for this patch, page faults occurs in living domains to flush all VHPT 
and all TBL. That is I think that performance of living domains becomes bad 
temporarily. However, I thought that a serious problem did not occur so that 
entries was inserted in VHPT and TLB again.
Because xen/ia64 was not able to destroy a domain for a long time, I made 
this patch to be able to destroy a domain as possible simply.
I think that I have to remake an allocation logic of RID to take the benefit 
of RID partition. I think that this remaking is assignment given me.

Best regards,
 Kan

2. When migration is enabled, VMM may need to flush vhpt and TC in all 
processors.

Thanks,
-Anthony 

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Masaki Kanno
Sent: 2006定3埖10晩 9:38
To: xen-ia64-devel@lists.xensource.com
Subject: [Xen-ia64-devel] [PATCH] [RESEND] domU destroy  page ref counter

Hi,

We resend these patches. We made these patches to the latest changeset:9161,
and reflected comments.
We tested the creation and the destruction of domU repeatedly 100 times.
As a result, there was not the memory which was not freed in xen/ia64.
Please apply these patches to the xen-ia64-unstable tree.

Signed-off-by: Akio Takebe [EMAIL PROTECTED]
Signed-off-by: Masaki Kanno [EMAIL PROTECTED]

Best regards,
 Kan, and Fujitsu team




___
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel