>-----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/