[libvirt] [PATCH] Extend l3 cache to nodeinfo
Martin Kletzander
mkletzan at redhat.com
Wed Jan 11 10:24:47 UTC 2017
On Wed, Jan 11, 2017 at 10:08:25AM +0000, Daniel P. Berrange wrote:
>On Wed, Jan 11, 2017 at 05:48:34PM +0800, 乔立勇 wrote:
>> 2017-01-11 17:34 GMT+08:00 Daniel P. Berrange <berrange at redhat.com>:
>>
>> > On Wed, Jan 11, 2017 at 09:31:04AM +0000, Qiao, Liyong wrote:
>> > > Hi Daniel,
>> > >
>> > > I agree that to expose othe level cache but the only can be tuned
>> > (allocation). If we expose such kinds of information, the host should have
>> > ability to control such kinds of resources.
>> > >
>> > > In another thread, Martin told that there are cases which multiple
>> > sockets may has different values, I kinds of agree(but I don’t see that
>> > case), I agree to expose cache per socket, just wonder if
>> > >
>> > > cell == socket in libvirt? In my environment, I can see all socket_id in
>> > a cell are the same, wonder if I can extend cache information to cell node?
>> >
>> > No, cell == NUMA node. There can be multiple sockets per NUMA node. If
>> > you
>> > see multiple CPUs with the same socket_id, this indicates they are cores
>> > within the same CPU socket.
>> >
Also don't forget you can have multiple NUMA nodes in one socket. Be it
for example AMD Bulldozer and similar or kernel's fake NUMA.
>> >
>> > Hi Daniel,
>>
>> This's Eli again(gmail is better with formate)
>>
>> thanks for your reply,
>>
>> hmm... if so, we want to expose cache information though capabilities, we
>> need another topology to expose all sockets
>>
>> such as
>>
>> <host>
>> <uuid>f481c038-bb08-42e1-aa5f-f008a27e7050</uuid>
>> <cpu>
>> ...
>> <cache>
>> <sockets num = '2'>
>> <socket id=0>
>> <l3_cache unit='KiB'
>> support_allocation='yes'>56320</l3_cache>
>> <l2_cache unit='KiB'''>256</l2_cache>
>> </socket>
>> <socket id=1>
>> <l3_cache unit='KiB'
>> support_allocation='yes'>56320</l3_cache>
>> <l2_cache unit='KiB'''>256</l2_cache>
>> </socket>
>> </sockets>
>> </cache>
>> </cpu>
>
>That's one possible option - I suggested another here:
>
> https://www.redhat.com/archives/libvir-list/2017-January/msg00489.html
>
>I'm not sure whether it is better to do a nested structure as you have,
>or a flat structure as I did. In particular I'm wondering if we can
>assume caches are strictly hierarchical (in which case nested will work),
>or whether there can be sharing across branches (in which case flat will
>be needed).
>
I like your idea better. It doesn't have to be necessarily flat (you
can group some parts of it), but I don't really care that much about how
flat it is. I like it better because you can represent any split/shared
caches. And being prepared for any cache layout is what I cared about.
>Regards,
>Daniel
>--
>|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
>|: http://libvirt.org -o- http://virt-manager.org :|
>|: http://entangle-photo.org -o- http://search.cpan.org/~danberr/ :|
>
>--
>libvir-list mailing list
>libvir-list at redhat.com
>https://www.redhat.com/mailman/listinfo/libvir-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20170111/e27c6cd1/attachment-0001.sig>
More information about the libvir-list
mailing list