All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] KVM userspace interface updates for 2.6.21
@ 2007-02-21 18:11 ` Avi Kivity
  0 siblings, 0 replies; 22+ messages in thread
From: Avi Kivity @ 2007-02-21 18:11 UTC (permalink / raw)
  To: kvm-devel; +Cc: linux-kernel, Andrew Morton, Ingo Molnar

The following patchset moves the kvm userspace interface from having a 
single fd, to having three types of file descriptors:

- one fd returned by open("/dev/kvm") is used for generic access to the 
kvm driver, for example to get the API version and to create virtual 
machines
- when you create a virtual machine, you get back an fd that can be used 
to control vm-wide aspects, like guest memory configuratio
- when you create a virtual cpu, you get an fd that can be used to 
control the vcpu, for example getting and setting registers, and if 
you're really serious, running the guest

The motivation for this change is twofold:
- prevent having a 'struct inode' and 'struct file' with different file 
operation callbacks
- prevent cacheline bouncing of the 'struct file' when we support guest 
smp (by giving each vcpu its own file structure)

A side effect is that the code becomes somewhat cleaner, due to the vcpu 
number not being passed around and validated.

The change was discussed on kvm-devel some time ago.  Thanks to Arnd 
Bergmann for useful suggestions and to the epoll code for inspiration.

-- 
error compiling committee.c: too many arguments to function


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2007-02-25 11:48 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-21 18:11 [PATCH 0/6] KVM userspace interface updates for 2.6.21 Avi Kivity
2007-02-21 18:11 ` Avi Kivity
2007-02-21 18:13 ` [PATCH 1/6] KVM: Add internal filesystem for generating inodes Avi Kivity
2007-02-21 18:13   ` Avi Kivity
2007-02-21 18:14 ` [PATCH 2/6] KVM: Create an inode per virtual machine Avi Kivity
2007-02-21 18:14   ` Avi Kivity
2007-02-21 18:15 ` [PATCH 3/6] KVM: Rename some kvm_dev_ioctl_*() functions to kvm_vm_ioctl_*() Avi Kivity
2007-02-21 18:15   ` Avi Kivity
2007-02-21 18:16 ` [PATCH 4/6] KVM: Move kvm_vm_ioctl_create_vcpu() around Avi Kivity
2007-02-21 18:16   ` Avi Kivity
2007-02-21 18:17 ` [PATCH 5/6] KVM: Per-vcpu inodes Avi Kivity
2007-02-21 18:17   ` Avi Kivity
2007-02-21 18:18 ` [PATCH 6/6] KVM: Bump API version Avi Kivity
2007-02-21 18:18   ` Avi Kivity
2007-02-21 18:21 ` [PATCH 0/6] KVM userspace interface updates for 2.6.21 Avi Kivity
2007-02-21 18:21   ` Avi Kivity
2007-02-21 19:08   ` [kvm-devel] " Rusty Russell
2007-02-21 19:08     ` Rusty Russell
2007-02-25  9:58   ` Avi Kivity
2007-02-25  9:58     ` Avi Kivity
2007-02-25 11:47     ` Andrew Morton
2007-02-25 11:47       ` Andrew Morton

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.