From: Tejun Heo <tj@kernel.org>
To: Yinghai Lu <yinghai@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>,
"H. Peter Anvin" <hpa@zytor.com>,
Andrew Morton <akpm@linux-foundation.org>,
Thomas Renninger <trenn@suse.de>,
Tang Chen <tangchen@cn.fujitsu.com>,
linux-kernel@vger.kernel.org, "Rafael J. Wysocki" <rjw@sisk.pl>,
Daniel Vetter <daniel.vetter@ffwll.ch>,
David Airlie <airlied@linux.ie>, Jacob Shin <jacob.shin@amd.com>,
linux-acpi@vger.kernel.org, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v2 03/20] x86, ACPI, mm: Kill max_low_pfn_mapped
Date: Thu, 4 Apr 2013 10:36:59 -0700 [thread overview]
Message-ID: <20130404173626.GQ9425@htj.dyndns.org> (raw)
In-Reply-To: <1362897887-30808-4-git-send-email-yinghai@kernel.org>
Hello,
On Sat, Mar 09, 2013 at 10:44:30PM -0800, Yinghai Lu wrote:
> Now we have arch_pfn_mapped array, and max_low_pfn_mapped should not
> be used anymore.
>
> User should use arch_pfn_mapped or just 1UL<<(32-PAGE_SHIFT) instead.
>
> Only user is ACPI_INITRD_TABLE_OVERRIDE, and it should not use that,
> as later accessing is using early_ioremap(). Change to try to 4G below
> and then 4G above.
...
> diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
> index 586e7e9..c08cdb6 100644
> --- a/drivers/acpi/osl.c
> +++ b/drivers/acpi/osl.c
> @@ -624,9 +624,13 @@ void __init acpi_initrd_override(void *data, size_t size)
> if (table_nr == 0)
> return;
>
> - acpi_tables_addr =
> - memblock_find_in_range(0, max_low_pfn_mapped << PAGE_SHIFT,
> - all_tables_size, PAGE_SIZE);
> + /* under 4G at first, then above 4G */
> + acpi_tables_addr = memblock_find_in_range(0, (1ULL<<32) - 1,
> + all_tables_size, PAGE_SIZE);
> + if (!acpi_tables_addr)
> + acpi_tables_addr = memblock_find_in_range(0,
> + ~(phys_addr_t)0,
> + all_tables_size, PAGE_SIZE);
So, it's changing the allocation from <=4G to <=4G first and then >4G.
The only explanation given is "as later accessing is using
early_ioremap()", but I can't see why that can be a reason for that.
early_ioremap() doesn't care whether the given physaddr is under 4G or
not, it unconditionally maps it into fixmap, so whether the allocated
address is below or above 4G doesn't make any difference.
Changing the allowed range of the allocation should be a separate
patch. It has some chance of its own breakage and the change itself
isn't really related to this one.
Please try to elaborate the reasoning behind "why", so that readers of
the description don't have to deduce (oh well, guess) your intentions
behind the changes. As much as it would help the readers, it'd also
help you even more as you would have had to explicitly write something
like "the table is accessed with early_ioremap() so the address
doesn't need to be restricted under 4G; however, to avoid unnecessary
remappings, first try <= 4G and then > 4G." Then, you would be
compelled to check whether the statement you explicitly wrote is true,
which isn't in this case and you would also realize that the change
isn't trivial and doesn't really belong with this patch. By not doing
the due diligence, you're offloading what you should have done to
others, which isn't very nice.
I think the descriptions are better in this posting than the last time
but it's still lacking, so, please putfff more effort into describing
the changes and reasoning behind them.
Thanks.
--
tejun
next prev parent reply other threads:[~2013-04-04 17:37 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-10 6:44 [PATCH v2 00/20] x86, ACPI, numa: Parse numa info early Yinghai Lu
2013-03-10 6:44 ` [PATCH v2 01/20] x86: Change get_ramdisk_image() to global Yinghai Lu
2013-03-10 6:44 ` [PATCH v2 02/20] x86, microcode: Use common get_ramdisk_image() Yinghai Lu
2013-04-04 17:48 ` Tejun Heo
2013-04-04 17:59 ` Yinghai Lu
2013-03-10 6:44 ` [PATCH v2 03/20] x86, ACPI, mm: Kill max_low_pfn_mapped Yinghai Lu
2013-04-04 17:36 ` Tejun Heo [this message]
2013-04-04 18:20 ` Yinghai Lu
2013-03-10 6:44 ` [PATCH v2 04/20] x86, ACPI: Increase override tables number limit Yinghai Lu
2013-04-04 17:50 ` Tejun Heo
2013-04-04 18:03 ` Yinghai Lu
2013-03-10 6:44 ` [PATCH v2 05/20] x86, ACPI: Split acpi_initrd_override to find/copy two functions Yinghai Lu
2013-04-04 18:07 ` Tejun Heo
2013-04-04 19:29 ` Yinghai Lu
2013-03-10 6:44 ` [PATCH v2 06/20] x86, ACPI: Store override acpi tables phys addr in cpio files info array Yinghai Lu
2013-04-04 18:27 ` Tejun Heo
2013-04-04 18:30 ` Tejun Heo
2013-04-04 19:40 ` Yinghai Lu
2013-04-04 20:03 ` Yinghai Lu
2013-03-10 6:44 ` [PATCH v2 07/20] x86, ACPI: Make acpi_initrd_override_find work with 32bit flat mode Yinghai Lu
2013-04-04 18:35 ` Tejun Heo
2013-04-04 20:22 ` Yinghai Lu
2013-03-10 6:44 ` [PATCH v2 08/20] x86, ACPI: Find acpi tables in initrd early from head_32.S/head64.c Yinghai Lu
2013-03-10 10:25 ` Pekka Enberg
2013-03-10 16:47 ` Yinghai Lu
2013-03-10 17:42 ` H. Peter Anvin
2013-04-04 20:25 ` H. Peter Anvin
2013-03-10 6:44 ` [PATCH v2 09/20] x86, mm, numa: Move two functions calling on successful path later Yinghai Lu
2013-03-10 6:44 ` [PATCH v2 10/20] x86, mm, numa: Call numa_meminfo_cover_memory() checking early Yinghai Lu
2013-03-10 6:44 ` [PATCH v2 11/20] x86, mm, numa: Move node_map_pfn alignment() to x86 Yinghai Lu
2013-03-10 6:44 ` [PATCH v2 12/20] x86, mm, numa: Use numa_meminfo to check node_map_pfn alignment Yinghai Lu
2013-03-10 6:44 ` [PATCH v2 13/20] x86, mm, numa: Set memblock nid later Yinghai Lu
2013-03-10 6:44 ` [PATCH v2 14/20] x86, mm, numa: Move node_possible_map setting later Yinghai Lu
2013-03-10 6:44 ` [PATCH v2 15/20] x86, mm, numa: Move emulation handling down Yinghai Lu
2013-03-10 6:44 ` [PATCH v2 16/20] x86, ACPI, numa, ia64: split SLIT handling out Yinghai Lu
2013-03-10 6:44 ` [PATCH v2 17/20] x86, mm, numa: Add early_initmem_init() stub Yinghai Lu
2013-03-10 6:44 ` [PATCH v2 18/20] x86, mm: Parse numa info early Yinghai Lu
2013-03-10 6:44 ` [PATCH v2 19/20] x86, mm: Make init_mem_mapping be able to be called several times Yinghai Lu
2013-03-11 13:16 ` Konrad Rzeszutek Wilk
2013-03-11 20:28 ` Yinghai Lu
2013-03-10 6:44 ` [PATCH v2 20/20] x86, mm, numa: Put pagetable on local node ram for 64bit Yinghai Lu
2013-03-11 5:49 ` Tang Chen
2013-03-11 6:29 ` Yinghai Lu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130404173626.GQ9425@htj.dyndns.org \
--to=tj@kernel.org \
--cc=airlied@linux.ie \
--cc=akpm@linux-foundation.org \
--cc=daniel.vetter@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=hpa@zytor.com \
--cc=jacob.shin@amd.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rjw@sisk.pl \
--cc=tangchen@cn.fujitsu.com \
--cc=tglx@linutronix.de \
--cc=trenn@suse.de \
--cc=yinghai@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®