lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 24 Mar 2010 06:57:47 +0200
From:	Avi Kivity <avi@...hat.com>
To:	Joerg Roedel <joro@...tes.org>
CC:	Anthony Liguori <anthony@...emonkey.ws>,
	Ingo Molnar <mingo@...e.hu>,
	Pekka Enberg <penberg@...helsinki.fi>,
	"Zhang, Yanmin" <yanmin_zhang@...ux.intel.com>,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>,
	Sheng Yang <sheng@...ux.intel.com>,
	linux-kernel@...r.kernel.org, kvm@...r.kernel.org,
	Marcelo Tosatti <mtosatti@...hat.com>,
	Jes Sorensen <Jes.Sorensen@...hat.com>,
	Gleb Natapov <gleb@...hat.com>,
	Zachary Amsden <zamsden@...hat.com>, ziteng.huang@...el.com,
	Arnaldo Carvalho de Melo <acme@...hat.com>,
	Fr?d?ric Weisbecker <fweisbec@...il.com>,
	Gregory Haskins <ghaskins@...ell.com>
Subject: Re: [RFC] Unify KVM kernel-space and user-space code into a single
 project

On 03/23/2010 08:21 PM, Joerg Roedel wrote:
> On Tue, Mar 23, 2010 at 06:39:58PM +0200, Avi Kivity wrote:
>    
>> On 03/23/2010 04:06 PM, Joerg Roedel wrote:
>>      
>    
>>> And this system wide entity is the kvm module. It creates instances of
>>> 'struct kvm' and destroys them. I see no problem if we just attach a
>>> name to every instance with a good default value like kvm0, kvm1 ... or
>>> guest0, guest1 ... User-space can override the name if it wants. The kvm
>>> module takes care about the names being unique.
>>>
>>>        
>> So, two users can't have a guest named MyGuest each?  What about
>> namespace support?  There's a lot of work in virtualizing all kernel
>> namespaces, you're adding to that.
>>      
> This enumeration is a very small and non-intrusive feature. Making it
> aware of namespaces is easy too.
>    

It's easier (and safer and all the other boring bits) not to do it at 
all in the kernel.

>> What about notifications when guests  are added or removed?
>>      
> Who would be the consumer of such notifications? A 'perf kvm list' can
> live without I guess. If we need them later we can still add them.
>    

System-wide monitoring needs to work equally well for guests started 
before or after the monitor.  Even disregarding that, if you introduce 
an API, people will start using it and complaining if it's incomplete.

The equivalent functionality for network interfaces is in netlink.

>>> This is very much the same as network card numbering is implemented in
>>> the kernel.
>>> Forcing perf to talk to qemu or even libvirt produces to much overhead
>>> imho. Instrumentation only produces useful results with low overhead.
>>>
>>>        
>> It's a setup cost only.
>>      
> My statement was not limited to enumeration, I should have been more
> clear about that. The guest filesystem access-channel is another
> affected part. The 'perf kvm top' command will access the guest
> filesystem regularly and going over qemu would be more overhead here.
>    

Why?  Also, the real cost would be accessing the filesystem, not copying 
data over qemu.

> Providing this in the KVM module directly also has the benefit that it
> would work out-of-the-box with different userspaces too.  Or do we want
> to limit 'perf kvm' to the libvirt-qemu-kvm software stack?
>    

Other userspaces can also provide this functionality, like they have to 
provide disk, network, and display emulation.  The kernel is not a huge 
library.

> Sidenote: I really think we should come to a conclusion about the
>            concept. KVM integration into perf is very useful feature to
> 	  analyze virtualization workloads.
>
>    

Agreed.

-- 
Do not meddle in the internals of kernels, for they are subtle and quick to panic.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ