xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Juergen Gross <jgross@suse.com>
To: Zhigang Wang <zhigang.x.wang@oracle.com>,
	Ian Campbell <ian.campbell@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Cc: ian.jackson@eu.citrix.com, xen-devel@lists.xen.org,
	Wei Liu <wei.liu2@citrix.com>,
	stefano.stabellini@eu.citrix.com
Subject: Re: [PATCH] tools: remove unused wrappers for python
Date: Fri, 9 Oct 2015 06:42:08 +0200	[thread overview]
Message-ID: <561745A0.9080207@suse.com> (raw)
In-Reply-To: <56169AAC.5000502@oracle.com>

On 10/08/2015 06:32 PM, Zhigang Wang wrote:
> On 10/08/2015 11:27 AM, Ian Campbell wrote:
>> On Thu, 2015-10-08 at 11:09 -0400, Zhigang Wang wrote:
>>> On 10/08/2015 10:38 AM, Ian Campbell wrote:
>>>> On Tue, 2015-10-06 at 11:24 -0400, Zhigang Wang wrote:
>>>>> We use these extentions along with xend XMLRPC API/xm. Even when move
>>>>> to
>>>>> xl, this will give us a choice to reserve some logic.
>>>>
>>>> There are a lot of interfaces here, are you using all of them? If not
>>>> then
>>>> could you enumerate the ones you care about please.
>>>
>>> Currently we are using:
>>>
>>>   xc.getcpuinfo()
>>>   xc.domain_getinfo()
>>
>> Thanks.
>>
>>> But after switching to xl, we cannot get info from xend any more, then some of
>>> these interfaces may be helpful.
>>
>> Do you have any insight into what info you currently get from xend which
>> you don't think you can get from xl?
>>
>> It may be that there are gaps in the xl functionality which should be
>> filled, rather than keeping the Python xc bindings around (equally there
>> may be things where those bindings are the best solution).
>
> We mainly use these APIs for domain statistics, like:
>
>    ============================ ===== ==== ===================================
>    Statistic                    Type  Unit Note
>    ============================ ===== ==== ===================================
>    cpuMap                       int        VM vcpus to physical cpus map list.
>    cpuTime                      float Sec  VM accumulated CPU time.
>    cpuUtil                      float      VM CPU average utilization.
>                                            Range: 0.0 - 1.0.
>    currentMemory                long  MiB  VM current memory.
>    domainId                     int        VM domain ID.
>    ephemeralTranscendentMemory  long  MiB  VM Ephemeral tmem.
>    maxMemory                    long  MiB  VM maximum memory.
>    onlineVcpus                  int        VM online VCPUs.
>    persistentTranscendentMemory long  MiB  VM persistent tmem.
>    targetMemory                 long  MiB  VM target memory.
>    ============================ ===== ==== ===================================
>
> I have a POC implementation of these statistics using xl, the only needed APIs are:
>
>    xc.getcpuinfo()
>    xc.domain_getinfo()
>    xc.tmem_control()
>
> I haven't checked whether xl CLI has alternatives for all of these. These xc APIs
> seem fit our need.

Okay, so there are confirmed users of:

     xc.getcpuinfo()
     xc.domain_getinfo()
     xc.tmem_control()

and no known users of:

     xc.domain_create()
     xc.domain_max_vcpus()
     xc.domain_dumpcore()
     xc.domain_pause()
     xc.domain_unpause()
     xc.domain_destroy()
     xc.domain_destroy_hook()
     xc.domain_resume()
     xc.domain_shutdown()
     xc.vcpu_setaffinity()
     xc.domain_sethandle()
     xc.vcpu_getinfo()
     xc.linux_build()
     xc.getBitSize()
     xc.gnttab_hvm_seed()
     xc.hvm_get_param()
     xc.hvm_set_param()
     xc.get_device_group()
     xc.test_assign_device()
     xc.assign_device()
     xc.deassign_device()
     xc.sched_id_get()
     xc.sched_credit_domain_set()
     xc.sched_credit_domain_get()
     xc.sched_credit2_domain_set()
     xc.sched_credit2_domain_get()
     xc.evtchn_alloc_unbound()
     xc.evtchn_reset()
     xc.physdev_map_pirq()
     xc.physdev_pci_access_modify()
     xc.readconsolering()
     xc.physinfo()
     xc.topologyinfo()
     xc.numainfo()
     xc.xeninfo()
     xc.shadow_control()
     xc.shadow_mem_control()
     xc.domain_setmaxmem()
     xc.domain_set_target_mem()
     xc.domain_set_memmap_limit()
     xc.domain_ioport_permission()
     xc.domain_irq_permission()
     xc.domain_iomem_permission()
     xc.pages_to_kib()
     xc.domain_set_time_offset()
     xc.domain_set_tsc_info()
     xc.domain_disable_migrate()
     xc.domain_send_trigger()
     xc.send_debug_keys()
     xc.domain_check_cpuid()
     xc.domain_set_cpuid()
     xc.domain_set_policy_cpuid()
     xc.domain_set_machine_address_size()
     xc.domain_suppress_spurious_page_faults()
     xc.tmem_shared_auth()
     xc.dom_set_memshr()
     xc.cpupool_create()
     xc.cpupool_destroy()
     xc.cpupool_getinfo()
     xc.cpupool_addcpu()
     xc.cpupool_removecpu()
     xc.cpupool_movedomain()
     xc.cpupool_freeinfo()
     xc.flask_context_to_sid()
     xc.flask_sid_to_context()
     xc.flask_load()
     xc.flask_getenforce()
     xc.flask_setenforce()
     xc.flask_access()

Andrew, which of those does your xen_bugtool use?

Is it okay to remove all of the unused bindings?


Juergen

  parent reply	other threads:[~2015-10-09  4:42 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-06 10:46 [PATCH] tools: remove unused wrappers for python Juergen Gross
2015-10-06 11:18 ` Wei Liu
2015-10-06 11:33   ` Juergen Gross
2015-10-06 11:39     ` Wei Liu
2015-10-06 13:40       ` Ian Campbell
2015-10-06 14:51         ` Juergen Gross
2015-10-06 15:11           ` Ian Campbell
2015-10-06 15:21             ` Juergen Gross
2015-10-06 15:26               ` Ian Campbell
2015-10-06 15:30                 ` Zhigang Wang
2015-10-06 15:45                   ` Ian Campbell
2015-10-06 16:14                     ` Juergen Gross
2015-10-06 16:24                       ` Ian Campbell
2015-10-08  1:10                         ` Konrad Rzeszutek Wilk
2015-10-08  4:16                           ` Juergen Gross
2015-10-08 14:30                             ` Ian Campbell
2015-10-06 15:38                 ` Andrew Cooper
2015-10-06 16:31                   ` Wei Liu
2015-10-06 16:38                     ` Ian Campbell
2015-10-06 16:42                       ` Wei Liu
2015-10-06 15:24           ` Zhigang Wang
2015-10-08 14:38             ` Ian Campbell
2015-10-08 15:09               ` Zhigang Wang
2015-10-08 15:27                 ` Ian Campbell
2015-10-08 16:32                   ` Zhigang Wang
2015-10-08 16:58                     ` Wei Liu
2015-10-09  4:42                     ` Juergen Gross [this message]
2015-10-09  9:43                       ` Ian Campbell
2015-10-09 10:16                         ` Juergen Gross
2015-10-09 13:29                       ` Andrew Cooper
2015-10-07  2:58   ` Marek Marczykowski-Górecki

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=561745A0.9080207@suse.com \
    --to=jgross@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=ian.campbell@citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    --cc=zhigang.x.wang@oracle.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).