2012-08-02 13:18:16

by Marcelo Tosatti

[permalink] [raw]
Subject: Re: [PATCH 4/9] KVM: define kvm_bad_pfn statically

On Sun, Jul 29, 2012 at 04:14:25PM +0800, Xiao Guangrong wrote:
> Then, remove get_bad_pfn
>
> Signed-off-by: Xiao Guangrong <[email protected]>
> ---
> include/linux/kvm_host.h | 1 +
> virt/kvm/kvm_main.c | 7 +------
> 2 files changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
> index 4de56cd..b02203f 100644
> --- a/include/linux/kvm_host.h
> +++ b/include/linux/kvm_host.h
> @@ -50,6 +50,7 @@
>
> #define kvm_fault_pfn (-EFAULT)
> #define kvm_hwpoison_pfn (-EHWPOISON)
> +#define kvm_bad_pfn (-ENOENT)

Remind me what is the guarantee that -Exxx does not clash with
a valid pfn number?


2012-08-03 00:01:15

by Paul Mackerras

[permalink] [raw]
Subject: Re: [PATCH 4/9] KVM: define kvm_bad_pfn statically

On Thu, Aug 02, 2012 at 10:15:27AM -0300, Marcelo Tosatti wrote:

> Remind me what is the guarantee that -Exxx does not clash with
> a valid pfn number?

A pfn number is an address >> PAGE_SHIFT, so it will have the top 12
(at least) bits clear, whereas -Exxx will have the top bit set.

Paul.

2012-08-03 08:14:11

by Xiao Guangrong

[permalink] [raw]
Subject: Re: [PATCH 4/9] KVM: define kvm_bad_pfn statically

Marcelo, Paul,

Thanks for your review!

On 08/03/2012 08:01 AM, Paul Mackerras wrote:
> On Thu, Aug 02, 2012 at 10:15:27AM -0300, Marcelo Tosatti wrote:
>
>> Remind me what is the guarantee that -Exxx does not clash with
>> a valid pfn number?
>
> A pfn number is an address >> PAGE_SHIFT, so it will have the top 12
> (at least) bits clear, whereas -Exxx will have the top bit set.
>

Yes.

As this way is hard to understand and it will break huge memory support
on PAE 32bit cpu, i have used a new way in the v2:

http://marc.info/?l=linux-kernel&m=134398012027025&w=2

Please review the new version.