WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

RE: [Xen-devel] [PATCH 2/3] Fix acpi_set_register

To: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] [PATCH 2/3] Fix acpi_set_register
From: "Wei, Gang" <gang.wei@xxxxxxxxx>
Date: Wed, 3 Sep 2008 18:44:27 +0800
Accept-language: en-US
Acceptlanguage: en-US
Cc:
Delivery-date: Wed, 03 Sep 2008 03:45:11 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C4E40CB0.1CC6E%keir.fraser@xxxxxxxxxxxxx>
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: <8FED46E8A9CA574792FC7AACAC38FE77018065240E@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <C4E40CB0.1CC6E%keir.fraser@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AckNZ8FAkjXVCLOZRyun0P1uSubhuQAOVfvnAANzzWA=
Thread-topic: [Xen-devel] [PATCH 2/3] Fix acpi_set_register
acpi_set_register() has already done a read before switch-case block, this read 
with in switch-case is a unnecessary repeat.

The non-continuous PIO/MMIO access will spent far longer time than imagination 
because of the chipset link ASPM features. One single PIO/MMIO read may spent 
up to tens of thousands cpu cycles, although the fastest read may only cause 
less than one thousand cycles. I tried to measure the cost via TSC.

Jimmy

On Wednesday, September 03, 2008 4:43 PM, Keir Fraser wrote:
> acpi_set_register() is doing a read-modify-write of PM2_CONTROL. It's only
> safe to skip the read if the modification is going to obliterate all old
> bits. Is the read really that expensive (and equally, in patch 3, is the
> write of ARB_DIS really that expensive)?
>
>  -- Keir
>
> On 3/9/08 02:52, "Wei, Gang" <gang.wei@xxxxxxxxx> wrote:
>
>> ACPI: Remove a redundant call to acpi_hw_register_read().
>>
>> Signed-off-by: Wei Gang <gang.wei@xxxxxxxxx>
>>
>> diff -r fc0b0c64246d xen/drivers/acpi/hwregs.c
>> --- a/xen/drivers/acpi/hwregs.c Thu Aug 21 16:15:30 2008 +0800
>> +++ b/xen/drivers/acpi/hwregs.c Mon Aug 25 15:24:32 2008 +0800
>> @@ -238,12 +238,6 @@ acpi_status acpi_set_register(u32 regist
>> break;
>>
>>         case ACPI_REGISTER_PM2_CONTROL:
>> -
>> -               status = acpi_hw_register_read(ACPI_REGISTER_PM2_CONTROL,
>> -                                              &register_value);
>> -               if (ACPI_FAILURE(status)) {
>> -                       goto unlock_and_exit;
>> -               }
>>
>>                 ACPI_DEBUG_PRINT((ACPI_DB_IO,
>>                                   "PM2 control: Read %X from %8.8X%8.8X\n",
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>> http://lists.xensource.com/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel