From: Ingo Molnar <mingo@kernel.org>
To: Yinghai Lu <yinghai@kernel.org>
Cc: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>,
"H. Peter Anvin" <hpa@zytor.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] x86: mm: Remove unnecessary assignment for max_pfn_mapped:q
Date: Sat, 11 May 2013 09:36:38 +0200 [thread overview]
Message-ID: <20130511073638.GA24435@gmail.com> (raw)
In-Reply-To: <CAE9FiQWcKAJ0DP833urozcECkZNpbCks_vLVBf8UhaXTRSEWzA@mail.gmail.com>
* Yinghai Lu <yinghai@kernel.org> wrote:
> On Fri, May 10, 2013 at 3:28 AM, Zhang Yanfei
> <zhangyanfei@cn.fujitsu.com> wrote:
> > ?? 2013??05??10?? 17:27, Yinghai Lu ????:
> >> On Fri, May 10, 2013 at 2:01 AM, Zhang Yanfei
> >> <zhangyanfei@cn.fujitsu.com> wrote:
> >>> init_memory_mapping will set max_pfn_mapped:
> >>> int_memory_mapping
> >>> --> add_pfn_range_mapped
> >>> --> max_pfn_mapped = max(max_pfn_mapped, end_pfn)
> >>>
> >>> In init_mem_mapping, before we set max_pfn_mapped to 0, we
> >>> have already called init_memory_mapping to setup pagetable
> >>> for [0, ISA_END_ADDRESS], and that sets max_pfn_mapped. So
> >>> the assignment to 0 is not necessary, remove it.
> >>
> >> NAK.
> >>
> >> for 32bit or Xen, max_pfn_mapped is set way before in head_32.S and
> >> xen-enlighen.
> >
> > Hi Yinghai
> >
> > I might be wrong, but just from the code in init_mem_mapping only:
> >
> > 410 /* the ISA range is always mapped regardless of memory holes */
> > 411 init_memory_mapping(0, ISA_END_ADDRESS);
> > 412
> > 413 /* xen has big range in reserved near end of ram, skip it at first.*/
> > 414 addr = memblock_find_in_range(ISA_END_ADDRESS, end, PMD_SIZE, PMD_SIZE);
> > 415 real_end = addr + PMD_SIZE;
> > 416
> > 417 /* step_size need to be small so pgt_buf from BRK could cover it */
> > 418 step_size = PMD_SIZE;
> > 419 max_pfn_mapped = 0; /* will get exact value next */
> >
> > Line 411 set max_pfn_mapped, and then line 419 set it to zero again, so
> > why keep the later assignment?
>
> the comment says: /* will get exact value next */
And what does that comment mean??
next where? Which call? How? What's the logic? Where is it described
accurately so that people who haven't seen the code (for a while) can
understand it?
> For x86 32bit path, and xen set bigger max_pfn_mapped before.
and what does this mean? Perhaps:
"32-bit x86 and Xen set a bigger value for max_pfn_mapped before this
call."
?
And where and why does it matter that we set a bigger max_pfn_mapped
before?
The dependencies in this code are incestous.
Thanks,
Ingo
next prev parent reply other threads:[~2013-05-11 7:36 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-10 9:01 [PATCH] x86: mm: Remove unnecessary assignment for max_pfn_mapped:q Zhang Yanfei
2013-05-10 9:27 ` Yinghai Lu
2013-05-10 10:28 ` Zhang Yanfei
2013-05-10 14:57 ` Yinghai Lu
2013-05-11 7:36 ` Ingo Molnar [this message]
2013-05-15 4:44 ` [PATCH] x86: mm: Remove unnecessary assignment for max_pfn_mapped Zhang Yanfei
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=20130511073638.GA24435@gmail.com \
--to=mingo@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
--cc=yinghai@kernel.org \
--cc=zhangyanfei@cn.fujitsu.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.