Prev: 2.6.34 Northbridge Chipset Errors on HP Proliant 4 x Opteron in x86_64 mode
Next: Add a pair of system calls to make extended file stats available
From: Chetan Loke on 29 Jun 2010 17:30 Hello, Requirement: I have the need to support my apps(running on a Linux VM) on different *nix hypervisors(ESX/Xen etc). I need to know on which hypervisor my app is running. I read the CPUID usage thread - http://thread.gmane.org/gmane.comp.emulators.kvm.devel/22643 but to be honest in the end I looked at http://lxr.linux.no/#linux+v2.6.34/arch/x86/kernel/cpu/vmware.c#L88 The vmware_platform() detection code is straight forward. Current-hack: As a quick hack we just grep lspci for VMware's pci-ids. Solution: I can write a bare minimal driver, check the cpu-id as VMware's balloon driver does and then emit a proc/sysfs node. The setup packages and the apps can then check for this node-string.I'm currently working on ESX and I am hoping that this thin-driver will work. Question: Q1)Is it possible to get this functionality as part of the stock kernel or is that a bad idea? I suspect there could be other users/apps who would need to know what *nix hypervisor(or a non-virtualized environment) they are running on? Q2)If this is not the right approach then can someone please suggest another approach? Regards Chetan Loke -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Anthony Liguori on 29 Jun 2010 17:50 On 06/29/2010 04:25 PM, Chetan Loke wrote: > Hello, > > > Requirement: > I have the need to support my apps(running on a Linux VM) on different > *nix hypervisors(ESX/Xen etc). I need to know on which hypervisor my > app is running. I read the CPUID usage thread - > http://thread.gmane.org/gmane.comp.emulators.kvm.devel/22643 but to be > honest in the end I looked at > http://lxr.linux.no/#linux+v2.6.34/arch/x86/kernel/cpu/vmware.c#L88 > The vmware_platform() detection code is straight forward. > > Current-hack: > As a quick hack we just grep lspci for VMware's pci-ids. > > Solution: > I can write a bare minimal driver, check the cpu-id as VMware's > balloon driver does and then emit a proc/sysfs node. The setup > packages and the apps can then check for this node-string.I'm > currently working on ESX and I am hoping that this thin-driver will > work. > It can be done entirely in userspace. Take a look at virt-what: http://people.redhat.com/~rjones/virt-what/ > Question: > Q1)Is it possible to get this functionality as part of the stock > kernel or is that a bad idea? I suspect there could be other > users/apps who would need to know what *nix hypervisor(or a > non-virtualized environment) they are > running on? > Q2)If this is not the right approach then can someone please suggest > another approach? > It might be reasonable to list the hypervisor signature as a field in /proc/cpuinfo. There's also a /sys/hypervisor where such information could go. Regards, Anthony Liguori > Regards > Chetan Loke > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo(a)vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Chetan Loke on 29 Jun 2010 19:50
On Tue, Jun 29, 2010 at 5:44 PM, Anthony Liguori <anthony(a)codemonkey.ws> wrote: > On 06/29/2010 04:25 PM, Chetan Loke wrote: > It can be done entirely in userspace. Take a look at virt-what: > > http://people.redhat.com/~rjones/virt-what/ > Just posted a patch for virt-what.in which can be used as a wrapper script. I will be using that for now. >> Question: >> Q1)Is it possible to get this functionality as part of the stock >> kernel or is that a bad idea? I suspect there could be other >> users/apps who would need to know what *nix hypervisor(or a >> non-virtualized environment) they are >> running on? > > It might be reasonable to list the hypervisor signature as a field in > /proc/cpuinfo. There's also a /sys/hypervisor where such information could > go. > I like the idea of spitting out a signature under /proc/cpuinfo primarily because everyone is familiar with that node. > Regards, > Anthony Liguori Regards Chetan Loke -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |