All of lore.kernel.org
 help / color / mirror / Atom feed
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	ian.jackson@eu.citrix.com, ian.campbell@citrix.com,
	wei.liu2@citrix.com, stefano.stabellini@eu.citrix.com,
	dgdegra@tycho.nsa.gov, jbeulich@suse.com, keir@xen.org
Cc: elena.ufimtseva@oracle.com, dario.faggioli@citrix.com,
	xen-devel@lists.xen.org
Subject: Re: [PATCH v6 1/5] sysctl: Make XEN_SYSCTL_numainfo a little more efficient
Date: Tue, 07 Apr 2015 13:28:53 -0400	[thread overview]
Message-ID: <552413D5.9040705@oracle.com> (raw)
In-Reply-To: <55240E2D.4050900@citrix.com>

On 04/07/2015 01:04 PM, Andrew Cooper wrote:
> On 07/04/15 17:57, Boris Ostrovsky wrote:
>> On 04/07/2015 12:04 PM, Andrew Cooper wrote:
>>> On 06/04/15 23:12, Boris Ostrovsky wrote:
>>>> A number of changes to XEN_SYSCTL_numainfo interface:
>>>>
>>>> * Make sysctl NUMA topology query use fewer copies by combining some
>>>>     fields into a single structure and copying distances for each node
>>>>     in a single copy.
>>>> * NULL meminfo and distance handles are a request for maximum number
>>>>     of nodes (num_nodes). If those handles are valid and num_nodes is
>>>>     is smaller than the number of nodes in the system then -ENOBUFS is
>>>>     returned (and correct num_nodes is provided)
>>>> * Instead of using max_node_index for passing number of nodes keep this
>>>>     value in num_nodes: almost all uses of max_node_index required
>>>> adding
>>>>     or subtracting one to eventually get to number of nodes anyway.
>>>> * Replace INVALID_NUMAINFO_ID with XEN_INVALID_MEM_SZ and add
>>>>     XEN_INVALID_NODE_DIST.
>>>>
>>>> Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
>>>> Acked-by: Ian Campbell <ian.campbell@citrix.com>
>>> This subtly changes the behaviour of XEN_SYSCTL_numainfo with regards to
>>> NULL guest handles.
>>>
>>> Previously, a caller was able to select which information they wanted by
>>> choosing which guest handles were non-NULL.
>>>
>>> With the new semantics, the caller must pass both ni->meminfo and
>>> ni->distance to get either bit of information.  Each
>>> copy_to_guest_offset() should be gated on a !guest_handle_is_null() so a
>>> caller can request meminfo information without distance information.
>>
>> Currently the caller, in fact, can have either of three pointers
>> (node_to_memsize, node_to_memfree or node_to_node_distance) as NULL
>> and the hypervisor will fill whichever pointer is valid. Because I put
>> the first two together into a struct we are already changing behavior
>> in that regard. Not to mention that having all three as NULL now has
>> new meaning as well.
>>
>> I thought that either both pointers should be valid or neither. If
>> people disagree I can change this.
> I have a usecase (hwloc) which wants meminfo but not distance.  In such
> a case, the inner for loop can be skipped which is an advantage for Xen.

Are you planning on calling sysctls directly from your hwloc extension? 
Why not go via libxl which is a stable interface AFAIUI.


-boris

  reply	other threads:[~2015-04-07 17:28 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-06 22:12 [PATCH v6 0/5] Display IO topology when PXM data is available (plus some cleanup) Boris Ostrovsky
2015-04-06 22:12 ` [PATCH v6 1/5] sysctl: Make XEN_SYSCTL_numainfo a little more efficient Boris Ostrovsky
2015-04-07 16:04   ` Andrew Cooper
2015-04-07 16:57     ` Boris Ostrovsky
2015-04-07 17:04       ` Andrew Cooper
2015-04-07 17:28         ` Boris Ostrovsky [this message]
2015-04-08 16:31           ` Andrew Cooper
2015-04-13 15:52       ` Jan Beulich
2015-04-15 12:29         ` Ian Campbell
2015-04-06 22:12 ` [PATCH v6 2/5] sysctl: Add sysctl interface for querying PCI topology Boris Ostrovsky
2015-04-07 16:09   ` Andrew Cooper
2015-04-07 17:05     ` Boris Ostrovsky
2015-04-07 17:22   ` Daniel De Graaf
2015-04-06 22:12 ` [PATCH v6 3/5] libxl/libxc: Move libxl_get_cpu_topology()'s hypercall buffer management to libxc Boris Ostrovsky
2015-04-15 12:31   ` Ian Campbell
2015-04-06 22:12 ` [PATCH v6 4/5] libxl/libxc: Move libxl_get_numainfo()'s " Boris Ostrovsky
2015-04-15 12:33   ` Ian Campbell
2015-04-06 22:12 ` [PATCH v6 5/5] libxl: Add interface for querying hypervisor about PCI topology Boris Ostrovsky
2015-04-15 12:35   ` Ian Campbell

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=552413D5.9040705@oracle.com \
    --to=boris.ostrovsky@oracle.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=dario.faggioli@citrix.com \
    --cc=dgdegra@tycho.nsa.gov \
    --cc=elena.ufimtseva@oracle.com \
    --cc=ian.campbell@citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=jbeulich@suse.com \
    --cc=keir@xen.org \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.