From: Andrew Morton <akpm@linux-foundation.org>
To: Amerigo Wang <xiyou.wangcong@gmail.com>
Cc: xiyou.wangcong@gmail.com, ebiederm@xmission.com,
tao.ma@oracle.com, linux-kernel@vger.kernel.org,
adobriyan@gmail.com, mtk.manpages@gmail.com
Subject: Re: [RESEND Patch] kcore: remove its pointless size
Date: Wed, 1 Jul 2009 14:47:42 -0700 [thread overview]
Message-ID: <20090701144742.6ce3535b.akpm@linux-foundation.org> (raw)
In-Reply-To: <20090630100850.GD5873@cr0.nay.redhat.com>
On Tue, 30 Jun 2009 18:08:50 +0800
Amerigo Wang <xiyou.wangcong@gmail.com> wrote:
>
> Linus fixes wrong size of /proc/kcore problem in commit 9063c61fd5cbd.
>
> But its size still looks insane, since it never equals to the size
> of physical memory.
Better changelogs, please!
I think that what you're saying is that the stat.st_size field of the
/proc/kcore inode does not equal the amount of physical memory, and
that you think it should do so?
If that is correct then it would be appropriate to explain what value
the stat.st_size field has before the patch and afterwards. Just
calling it "insane" isn't optimal.
> Signed-off-by: WANG Cong <amwang@redhat.com>
> Cc: mtk.manpages@gmail.com
>
> (Andrew, could you please just cut off the kernel part from below? :)
>
> ---
> diff --git a/fs/proc/kcore.c b/fs/proc/kcore.c
> index 59b43a0..eca5201 100644
> --- a/fs/proc/kcore.c
> +++ b/fs/proc/kcore.c
> @@ -405,9 +405,6 @@ read_kcore(struct file *file, char __user *buffer, size_t buflen, loff_t *fpos)
> static int __init proc_kcore_init(void)
> {
> proc_root_kcore = proc_create("kcore", S_IRUSR, NULL, &proc_kcore_operations);
> - if (proc_root_kcore)
> - proc_root_kcore->size =
> - (size_t)high_memory - PAGE_OFFSET + PAGE_SIZE;
> return 0;
> }
> module_init(proc_kcore_init);
AFAICT this means that proc_root_kcore->size will remain uninitialised
until a process opens and reads from /proc/kcore. So on initial boot
the `ls' output will presumably show a size of zero, and this will
change once /proc/kcore has been read?
If so, should we run get_kcore_size() in proc_kcore_init(), perhaps?
In fact, do we need to run get_kcore_size() more than once per boot?
AFAICT we only run kclist_add() during bootup, so if proc_kcore_init()
is called at the appropriate time, we can permanently cache its result?
In which case get_kcore_size() and kclist_add() can be marked __init.
Maybe that's all wrong - I didn't look terribly closely.
next prev parent reply other threads:[~2009-07-01 21:47 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-05 4:03 /proc/kcore has a unreasonable size(281474974617600) in x86_64 2.6.30-rc8 Tao Ma
2009-06-05 5:38 ` Andrew Morton
2009-06-05 6:59 ` Tao Ma
2009-06-05 7:56 ` Amerigo Wang
2009-06-05 8:57 ` Tao Ma
2009-06-05 9:09 ` Américo Wang
2009-06-05 9:14 ` Andrew Morton
2009-06-05 9:30 ` Tao Ma
2009-06-05 9:51 ` Amerigo Wang
2009-06-05 14:26 ` Tao Ma
2009-06-05 17:50 ` Yinghai Lu
2009-06-06 14:37 ` Tao Ma
2009-06-06 22:21 ` Yinghai Lu
2009-06-08 1:52 ` Amerigo Wang
2009-06-08 6:02 ` Tao Ma
2009-06-08 6:41 ` Américo Wang
2009-06-08 8:00 ` Tao Ma
2009-06-09 0:43 ` Américo Wang
2009-06-09 4:10 ` Eric W. Biederman
2009-06-11 5:09 ` Amerigo Wang
2009-06-11 14:12 ` Eric W. Biederman
2009-06-12 7:54 ` Tao Ma
2009-06-13 4:09 ` [Patch BUGFIX] kcore: fix its wrong size on x86_64 Amerigo Wang
2009-06-13 4:20 ` Eric W. Biederman
2009-06-15 2:14 ` Amerigo Wang
2009-06-15 5:59 ` Tao Ma
2009-06-15 7:00 ` Amerigo Wang
2009-06-15 8:34 ` Tao Ma
2009-06-15 9:00 ` Amerigo Wang
2009-06-15 10:10 ` Eric W. Biederman
2009-06-15 22:10 ` TaoMa
2009-06-15 19:48 ` Eric W. Biederman
2009-06-15 17:01 ` Tao Ma
2009-06-15 10:08 ` Eric W. Biederman
2009-06-16 15:29 ` Américo Wang
2009-06-16 19:27 ` Eric W. Biederman
2009-06-18 3:00 ` Amerigo Wang
2009-06-18 3:37 ` Eric W. Biederman
2009-06-18 4:40 ` Amerigo Wang
2009-06-18 5:41 ` Eric W. Biederman
2009-06-22 8:54 ` [Patch] kcore: remove its pointless size Amerigo Wang
2009-06-30 10:08 ` [RESEND Patch] " Amerigo Wang
2009-07-01 21:47 ` Andrew Morton [this message]
2009-07-01 23:25 ` Eric W. Biederman
2009-07-02 0:12 ` Andrew Morton
2009-07-02 0:41 ` KAMEZAWA Hiroyuki
2009-07-17 22:29 ` Andrew Morton
2009-07-21 2:09 ` KAMEZAWA Hiroyuki
2009-07-21 8:46 ` KAMEZAWA Hiroyuki
2009-07-21 9:36 ` [RFC][PATCH 0/3] kcore: clean up and update ram information properly KAMEZAWA Hiroyuki
2009-07-21 9:38 ` [RFC][PATCH 1/3] kcore: use usual list ops in kclist KAMEZAWA Hiroyuki
2009-07-21 9:39 ` [RFC][PATCH 2/3] kcore: add kclist type information KAMEZAWA Hiroyuki
2009-07-21 9:41 ` [RFC][PATCH 3/3] kcore: rebuild RAM information based on io resource information KAMEZAWA Hiroyuki
2009-07-21 11:29 ` [RFC][PATCH 0/3] kcore: clean up and update ram information properly Andi Kleen
2009-07-22 0:27 ` KAMEZAWA Hiroyuki
2009-07-02 9:28 ` [RESEND Patch] kcore: remove its pointless size Amerigo Wang
2009-06-05 5:49 ` /proc/kcore has a unreasonable size(281474974617600) in x86_64 2.6.30-rc8 Amerigo Wang
2009-06-05 6:07 ` Tao Ma
2009-06-05 6:43 ` Amerigo Wang
2009-06-05 6:56 ` Tao Ma
2009-06-05 8:00 ` Amerigo Wang
2009-06-05 9:01 ` Tao Ma
2009-06-05 9:20 ` Amerigo Wang
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=20090701144742.6ce3535b.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=adobriyan@gmail.com \
--cc=ebiederm@xmission.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mtk.manpages@gmail.com \
--cc=tao.ma@oracle.com \
--cc=xiyou.wangcong@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox