This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] [PATCH] linux-2.6.18/x86: replace order-based range chec

To: "Konrad Rzeszutek Wilk" <konrad.wilk@xxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] linux-2.6.18/x86: replace order-based range checking of M2P table by linear one
From: "Jan Beulich" <JBeulich@xxxxxxxxxx>
Date: Mon, 25 Jul 2011 15:23:02 +0100
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Mon, 25 Jul 2011 07:24:09 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20110725141903.GD23212@xxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4E2D5C02020000780004F6BB@xxxxxxxxxxxxxxxxxxxx> <20110725141903.GD23212@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
>>> On 25.07.11 at 16:19, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> wrote:
> On Mon, Jul 25, 2011 at 11:05:22AM +0100, Jan Beulich wrote:
>> The order-based approach is not only less efficient (requiring a shift
>> and a compare, typical generated code looking like this
>>      mov     eax, [machine_to_phys_order]
>>      mov     ecx, eax
>>      shr     ebx, cl
>>      test    ebx, ebx
>>      jnz     ...
>> whereas a direct check requires just a compare, like in
>>      cmp     ebx, [machine_to_phys_nr]
>>      jae     ...
>> ), but also slightly dangerous in the 32-on-64 case - the element
>> address calculation can wrap if the next power of two boundary is
>> sufficiently far away from the actual upper limit of the table, and
>> hence can result in user space addresses being accessed (with it being
>> unknown what may actually be mapped there).
> You wouldn't have a patch for upstream Linux for this?

I can try to port this over, but it'll take some time until I can get to
this (certainly not before returning from the summit).


Xen-devel mailing list