Re: [PATCH] rdmsr_on_cpu, wrmsr_on_cpu

2007-01-18 Thread H. Peter Anvin
Andi Kleen wrote: On Friday 19 January 2007 10:40, H. Peter Anvin wrote: It would, but rather than having the paravirtualization interfaces duplicate out of control, we could/should implement the less generic features in terms of the more generic, above the pvz layer. I can't see any Hypervis

Re: [PATCH] rdmsr_on_cpu, wrmsr_on_cpu

2007-01-18 Thread Andi Kleen
On Friday 19 January 2007 10:40, H. Peter Anvin wrote: > It would, but rather than having the paravirtualization interfaces > duplicate out of control, we could/should implement the less generic > features in terms of the more generic, above the pvz layer. I can't see any Hypervisors ever allowin

Re: [PATCH] rdmsr_on_cpu, wrmsr_on_cpu

2007-01-18 Thread H. Peter Anvin
Andi Kleen wrote: HOWEVER -- and this is where things get gnarly -- the CPUID and MSR drivers would really like to be able to execute CPUID, WRMSR and RDMSR with the entire GPR register set (except the stack pointer) pre-set and post-captured, since it's highly likely that there are going to be n

Re: [PATCH] rdmsr_on_cpu, wrmsr_on_cpu

2007-01-18 Thread Andi Kleen
> HOWEVER -- and this is where things get gnarly -- the CPUID and MSR > drivers would really like to be able to execute CPUID, WRMSR and RDMSR > with the entire GPR register set (except the stack pointer) pre-set and > post-captured, since it's highly likely that there are going to be > nonstandar

Re: [PATCH] rdmsr_on_cpu, wrmsr_on_cpu

2007-01-18 Thread H. Peter Anvin
Alexey Dobriyan wrote: There was OpenVZ specific bug rendering some cpufreq drivers unusable on SMP. In short, when cpufreq code thinks it confined itself to needed cpu by means of set_cpus_allowed() to execute rdmsr, some "virtual cpu" feature can migrate process to anywhere. This triggers bugon

[PATCH] rdmsr_on_cpu, wrmsr_on_cpu

2007-01-18 Thread Alexey Dobriyan
There was OpenVZ specific bug rendering some cpufreq drivers unusable on SMP. In short, when cpufreq code thinks it confined itself to needed cpu by means of set_cpus_allowed() to execute rdmsr, some "virtual cpu" feature can migrate process to anywhere. This triggers bugons and does wrong things i