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

[Xen-devel] Re: Xen-devel Digest, Vol 52, Issue 178



Hi, all
        I want to reduce the checkpoint size of a VM by memory exclusion. I try to find out all the free pages by reference count at VMM-level, As they declared that:
         /* Page is on a free list: ((count_info & PGC_count_mask) == 0). */ , in struct page_info which is defined in /xen/include/asm-x86/mm.h, but  unfortunately, all the pages in a idle VM accords with this condition. I  prints out  the reference count of all memory pages, all of them are  equal to or bigger than 2. Anyone can tell me the reason? and how can I find out the free pages in a guest OS?
 
 
best regards

haikun liu
2009-07-16

发件人: xen-devel-request@xxxxxxxxxxxxxxxxxxx
发送时间: 2009-06-17 19:45:40
收件人: xen-devel@xxxxxxxxxxxxxxxxxxx
抄送:
主题: Xen-devel Digest, Vol 52, Issue 178
 
Send Xen-devel mailing list submissions to
xen-devel@xxxxxxxxxxxxxxxxxxx
 
To subscribe or unsubscribe via the World Wide Web, visit
or, via email, send a message with subject or body 'help' to
xen-devel-request@xxxxxxxxxxxxxxxxxxx
 
You can reach the person managing the list at
xen-devel-owner@xxxxxxxxxxxxxxxxxxx
 
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Xen-devel digest..."
 
 
Today's Topics:
 
   1. Qemu nic rate limit (=?gb2312?B?yfLG9MH6?=)
   2. [PATCH] xend: pci: find_parent: should return string rather
      than int (Cui, Dexuan)
   3. Re: [PATCH] xend: pci: find_parent: should return string
      rather than int (Simon Horman)
   4. RE: [PATCH] xend: pci: find_parent: should return string
      rather than int (Cui, Dexuan)
 
 
----------------------------------------------------------------------
 
Message: 1
Date: Wed, 17 Jun 2009 17:40:35 +0800
From: =?gb2312?B?yfLG9MH6?=  <shen.qilong@xxxxxxxxxxxx >
Subject: [Xen-devel] Qemu nic rate limit
To:  <xen-devel@xxxxxxxxxxxxxxxxxxx >
Message-ID:  <002801c9ef2f$aa158c10$0138a8c0@freecloud >
Content-Type: text/plain; charset="gb2312"
 
 
 
I want to limit my NIC rate in DomU. I had found some paper and done some
test. Now I can limit NIC rate in DomU which had installed PV driver, but I
can’t limit NIC rate in DomU which had the NIC emulated by qemu.
 
Can anyone help me to limit the nic (qemu created) rate in domU.
 
 
 
-------------- next part --------------
An HTML attachment was scrubbed...
 
------------------------------
 
Message: 2
Date: Wed, 17 Jun 2009 19:02:27 +0800
From: "Cui, Dexuan"  <dexuan.cui@xxxxxxxxx >
Subject: [Xen-devel] [PATCH] xend: pci: find_parent: should return
string rather than int
To: Keir Fraser  <keir.fraser@xxxxxxxxxxxxx >, Simon Horman
<horms@xxxxxxxxxxxx >
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx"  <xen-devel@xxxxxxxxxxxxxxxxxxx >
Message-ID:
<EADF0A36011179459010BDF5142A457501C9E2AFB5@xxxxxxxxxxxxxxxxxxxxxxxxxxxx >
Content-Type: text/plain; charset="gb2312"
 
Using changeset 19783: 61ec78692b13, device assignment can't work: 
e.g., in find_the_uppermost_pci_bridge(), 
 parent = dev_parent.find_parent()
...
 dev_parent = PciDevice(parent),
we can see parent['domain'] is int and in PciDevice's __init__, int(dev['domain'], 16) would fail:
TypeError: int() can't convert non-string with explicit base
 
The patch fixes the issue.
 
Signed-off-by: Dexuan Cui  <dexuan.cui@xxxxxxxxx >
 
diff -r 61ec78692b13 tools/python/xen/util/pci.py
--- a/tools/python/xen/util/pci.py  Wed Jun 17 07:39:27 2009 +0100
+++ b/tools/python/xen/util/pci.py  Wed Jun 17 18:35:31 2009 +0800
@@ -547,12 +547,12 @@ class PciDevice:
             else:
                 dev = {}
                 lst = parent.split(':')
-                dev['domain'] = int(lst[0], 16)
-                dev['bus'] = int(lst[1], 16)
+                dev['domain'] = '%04x' % int(lst[0], 16)
+                dev['bus'] = '%02x' % int(lst[1], 16)
                 lst = lst[2]
                 lst = lst.split('.')
-                dev['slot'] = int(lst[0], 16)
-                dev['func'] = int(lst[1], 16)
+                dev['slot'] = '%02x' % int(lst[0], 16)
+                dev['func'] = '%x' % int(lst[1], 16)
             return dev
         except OSError, (errno, strerr):
             raise PciDeviceParseError('Can not locate the parent of %s',
 
------------------------------
 
Message: 3
Date: Wed, 17 Jun 2009 21:31:08 +1000
From: Simon Horman  <horms@xxxxxxxxxxxx >
Subject: [Xen-devel] Re: [PATCH] xend: pci: find_parent: should return
string rather than int
To: "Cui, Dexuan"  <dexuan.cui@xxxxxxxxx >
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx"  <xen-devel@xxxxxxxxxxxxxxxxxxx >,
Keir Fraser  <keir.fraser@xxxxxxxxxxxxx >
Message-ID:  <20090617113102.GA3504@xxxxxxxxxxxx >
Content-Type: text/plain; charset=us-ascii
 
On Wed, Jun 17, 2009 at 07:02:27PM +0800, Cui, Dexuan wrote:
> Using changeset 19783: 61ec78692b13, device assignment can't work: 
> e.g., in find_the_uppermost_pci_bridge(), 
>  parent = dev_parent.find_parent()
> ...
>  dev_parent = PciDevice(parent),
> we can see parent['domain'] is int and in PciDevice's __init__, int(dev['domain'], 16) would fail:
> TypeError: int() can't convert non-string with explicit base
> The patch fixes the issue.
 
Hi Dexuan,
 
sorry about that. The fix looks good to me.
 
Could you tell me a bit about what config/command you
ran to produce this problem? I'd like to add something
to the tests that I run.
 
Acked-by: Simon Horman  <horms@xxxxxxxxxxxx >
 
> diff -r 61ec78692b13 tools/python/xen/util/pci.py
> --- a/tools/python/xen/util/pci.py  Wed Jun 17 07:39:27 2009 +0100
> +++ b/tools/python/xen/util/pci.py  Wed Jun 17 18:35:31 2009 +0800
> @@ -547,12 +547,12 @@ class PciDevice:
>              else:
>                  dev = {}
>                  lst = parent.split(':')
> -                dev['domain'] = int(lst[0], 16)
> -                dev['bus'] = int(lst[1], 16)
> +                dev['domain'] = '%04x' % int(lst[0], 16)
> +                dev['bus'] = '%02x' % int(lst[1], 16)
>                  lst = lst[2]
>                  lst = lst.split('.')
> -                dev['slot'] = int(lst[0], 16)
> -                dev['func'] = int(lst[1], 16)
> +                dev['slot'] = '%02x' % int(lst[0], 16)
> +                dev['func'] = '%x' % int(lst[1], 16)
>              return dev
>          except OSError, (errno, strerr):
>              raise PciDeviceParseError('Can not locate the parent of %s',
 
 
 
------------------------------
 
Message: 4
Date: Wed, 17 Jun 2009 19:40:47 +0800
From: "Cui, Dexuan"  <dexuan.cui@xxxxxxxxx >
Subject: [Xen-devel] RE: [PATCH] xend: pci: find_parent: should return
string rather than int
To: Simon Horman  <horms@xxxxxxxxxxxx >
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx"  <xen-devel@xxxxxxxxxxxxxxxxxxx >,
Keir Fraser  <keir.fraser@xxxxxxxxxxxxx >
Message-ID:
<EADF0A36011179459010BDF5142A457501C9E2AFB7@xxxxxxxxxxxxxxxxxxxxxxxxxxxx >
Content-Type: text/plain; charset="us-ascii"
 
Hi Simon,
Attached is my host info of 'lspci'.
I pciback.hide 01:00.0 and 00:1b.0 and when I tried to statically assign 01:00.0 to guest, I got the " TypeError: int() can't convert non-string with explicit base".
 
Thanks,
-- Dexuan
 
 
 
-----Original Message-----
From: Simon Horman [mailto:horms@xxxxxxxxxxxx] 
Sent: 2009?6?17? 19:31
To: Cui, Dexuan
Cc: Keir Fraser; xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [PATCH] xend: pci: find_parent: should return string rather than int
 
On Wed, Jun 17, 2009 at 07:02:27PM +0800, Cui, Dexuan wrote:
> Using changeset 19783: 61ec78692b13, device assignment can't work: 
> e.g., in find_the_uppermost_pci_bridge(), 
>  parent = dev_parent.find_parent()
> ...
>  dev_parent = PciDevice(parent),
> we can see parent['domain'] is int and in PciDevice's __init__, int(dev['domain'], 16) would fail:
> TypeError: int() can't convert non-string with explicit base
> The patch fixes the issue.
 
Hi Dexuan,
 
sorry about that. The fix looks good to me.
 
Could you tell me a bit about what config/command you
ran to produce this problem? I'd like to add something
to the tests that I run.
 
Acked-by: Simon Horman  <horms@xxxxxxxxxxxx >
 
> diff -r 61ec78692b13 tools/python/xen/util/pci.py
> --- a/tools/python/xen/util/pci.py  Wed Jun 17 07:39:27 2009 +0100
> +++ b/tools/python/xen/util/pci.py  Wed Jun 17 18:35:31 2009 +0800
> @@ -547,12 +547,12 @@ class PciDevice:
>              else:
>                  dev = {}
>                  lst = parent.split(':')
> -                dev['domain'] = int(lst[0], 16)
> -                dev['bus'] = int(lst[1], 16)
> +                dev['domain'] = '%04x' % int(lst[0], 16)
> +                dev['bus'] = '%02x' % int(lst[1], 16)
>                  lst = lst[2]
>                  lst = lst.split('.')
> -                dev['slot'] = int(lst[0], 16)
> -                dev['func'] = int(lst[1], 16)
> +                dev['slot'] = '%02x' % int(lst[0], 16)
> +                dev['func'] = '%x' % int(lst[1], 16)
>              return dev
>          except OSError, (errno, strerr):
>              raise PciDeviceParseError('Can not locate the parent of %s',
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lspci.log
Type: application/octet-stream
Size: 38257 bytes
Desc: lspci.log
 
------------------------------
 
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
 
 
End of Xen-devel Digest, Vol 52, Issue 178
******************************************
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.