From: "Kip Walker" <kwalker@broadcom.com>
To: "Martin J. Bligh" <Martin.Bligh@us.ibm.com>
Cc: linux-kernel@vger.kernel.org, linux-mips@oss.sgi.com
Subject: Re: init_idle reaped before final call
Date: Tue, 05 Mar 2002 14:15:53 -0800 [thread overview]
Message-ID: <3C854399.2BE48DF2@broadcom.com> (raw)
In-Reply-To: 292270000.1015365429@flay
"Martin J. Bligh" wrote:
>
> > I'm working with a (approximately) 2.4.17 kernel from the mips-linux
> > tree (oss.sgi.com).
> >
> > I'd like to propose removing the "__init" designation from init_idle in
> > kernel/sched.c, since this is called from rest_init via cpu_idle.
> > Notice that rest_init isn't in an init section, and explicitly mentions
> > that it's avoiding a race with free_initmem. In my kernel (an SMP
> > kernel running on a system with only 1 available CPU), cpu_idle isn't
> > getting called until after free_initmem().
> >
> > My CPU is MIPS, but it looks like x86 could experience the same problem.
>
> I fixed something in this area for x86, looks like the same code path
> for MIPS unless I'm misreading.
>
> smp_init spins waiting on wait_init_idle until every cpu has done
> init_idle. rest_init() isn't called until smp_init returns, so I'm not sure
> how you could hit this (possibly there's a minute window after init_idle
> clears the bit, but before it returns?).
This synchronization doesn't help: cpu0 (even in the multi-cpu case)
calls init_idle twice -- once from smp_init (through smp_boot_cpus), and
then again from cpu_idle. In my failing case (CONFIG_SMP=y, but only 1
cpu in the system) the second call, the one from cpu_idle, doesn't
happen until long after the init kernel thread has been running and has
freed the initmem.
Maybe a better fix is to avoid this double calling of init_idle for the
"master" CPU? From my reading the code, x86 seems to behave the same.
Kip
next prev parent reply other threads:[~2002-03-05 23:15 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-03-05 19:56 init_idle reaped before final call Kip Walker
2002-03-05 21:57 ` Martin J. Bligh
2002-03-05 22:15 ` Kip Walker [this message]
2002-03-05 23:33 ` Justin Carlson
-- strict thread matches above, loose matches on Subject: below --
2002-03-05 19:58 Kip Walker
2002-03-05 22:06 Thomas Hood
2002-03-06 3:57 ` Keith Owens
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=3C854399.2BE48DF2@broadcom.com \
--to=kwalker@broadcom.com \
--cc=Martin.Bligh@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@oss.sgi.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.