>-----Original Message-----
>From: Andreas Herrmann3 [mailto:[EMAIL PROTECTED] 
>Sent: Thursday, January 17, 2008 3:25 PM
>To: Pallipadi, Venkatesh
>Cc: Ingo Molnar; Siddha, Suresh B; [EMAIL PROTECTED]; 
>[EMAIL PROTECTED]; [EMAIL PROTECTED]; 
>[EMAIL PROTECTED]; [EMAIL PROTECTED]; 
>[EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]; 
>[EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]; 
>Barnes, Jesse; [EMAIL PROTECTED]; linux-kernel@vger.kernel.org
>Subject: Re: [patch 0/4] x86: PAT followup - Incremental 
>changes and bug fixes
>
>On Thu, Jan 17, 2008 at 03:04:10PM -0800, Venki Pallipadi wrote:
>> 
>> Below is another potential fix for the problem here. Going 
>through ACPI
>> ioremap usages, we found at one place the mapping is cached 
>for possible
>> optimization reason and not unmapped later. Patch below always unmaps
>> ioremap at this place in ACPICA.
>> 
>> Thanks,
>> Venki
>> 
>> 
>> Index: linux-2.6.git/drivers/acpi/executer/exregion.c
>> ===================================================================
>> --- linux-2.6.git.orig/drivers/acpi/executer/exregion.c      
>2008-01-17 03:18:39.000000000 -0800
>> +++ linux-2.6.git/drivers/acpi/executer/exregion.c   
>2008-01-17 07:34:33.000000000 -0800
>> @@ -48,6 +48,8 @@
>>  #define _COMPONENT          ACPI_EXECUTER
>>  ACPI_MODULE_NAME("exregion")
>>  
>> +static int ioremap_cache;
>> +
>>  
>/**************************************************************
>*****************
>>   *
>>   * FUNCTION:    acpi_ex_system_memory_space_handler
>> @@ -249,6 +251,13 @@
>>              break;
>>      }
>>  
>> +    if (!ioremap_cache) {
>> +            acpi_os_unmap_memory(mem_info->mapped_logical_address,
>> +                                 window_size);
>> +            mem_info->mapped_logical_address = 0;
>> +            mem_info->mapped_physical_address = 0;
>> +            mem_info->mapped_length = 0;
>> +    }
>>      return_ACPI_STATUS(status);
>>  }
>>  
>
>
>Applying and compiling your patch I see:
>
>  CC      drivers/acpi/executer/exregion.o
>drivers/acpi/executer/exregion.c: In function 
>'acpi_ex_system_memory_space_handler':
>drivers/acpi/executer/exregion.c:81: warning: 'window_size' 
>may be used uninitialized in this function
> 
>
>After glancing through this file it seems that ioremap_cache 
>is always 0
>and acpi_os_unmap_memory will unconditionally be executed at 
>end of this function.
>I am not familiar with that code. But I just want to reinsure that this
>is what you want. And if so, why is that variable needed?
>But maybe I missed something ...

I missed that warning. But should not matter for testing this patch as
we always initialize window_size with the patch.

Yes. The variable is not needed. With patch I always map at the
beginning of this function and unmap at the end. I just kept the
variable as I was planning to add a boot option to control this
initially. But, later decided to keep the test patch simple without any
boot option.
We can come up with a better patch once we know that the test patch
helps.

Thanks,
Venki
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to