From: Yoshihiro YUNOMAE <yoshihiro.yunomae.ez@hitachi.com>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Don Zickus <dzickus@redhat.com>, Ingo Molnar <mingo@kernel.org>,
linux-kernel@vger.kernel.org, Andi Kleen <ak@linux.intel.com>,
"H. Peter Anvin" <hpa@zytor.com>, Gleb Natapov <gleb@redhat.com>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
Joerg Roedel <joro@8bytes.org>,
x86@kernel.org, stable@vger.kernel.org,
Marcelo Tosatti <mtosatti@redhat.com>,
Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com>,
Sebastian Andrzej Siewior <sebastian@breakpoint.cc>,
Ingo Molnar <mingo@redhat.com>,
Zhang Yanfei <zhangyanfei@cn.fujitsu.com>,
yrl.pp-manager.tt@hitachi.com,
Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
Thomas Gleixner <tglx@linutronix.de>,
Seiji Aguchi <seiji.aguchi@hds.com>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: Re: [PATCH] [BUGFIX] crash/ioapic: Prevent crash_kexec() from deadlocking of ioapic_lock
Date: Tue, 03 Sep 2013 20:02:55 +0900 [thread overview]
Message-ID: <5225C1DF.1030301@hitachi.com> (raw)
In-Reply-To: <87ob8aix0u.fsf@xmission.com>
(2013/09/03 9:12), Eric W. Biederman wrote:
>>>> Then again looking at the output of the latest dmesg, it seems the IO APIC
>>>> is initialized way before the tsc is calibrated. So I am not sure what
>>>> needed to get done or what interrupts are needed before the IO APIC gets
>>>> initialized.
>>>
>>> The practical issue is that jiffies was calibrated off of the PIT timer
>>> if I recall. But that is all old news.
>>
>> Are the jiffies calibration codes calibrate_delay()?
>> It seems that the jiffies calibration have not used PIT in 2005
>> according to 8a9e1b0.
>
> Exactly. That was the original reason why we put in the code to
> disable the IOAPIC and the local apic. There might have been other
> reasons but that was the primary.
Thanks, but I have still a question for jiffies calibration.
When kernel boots, calibrate_delay_direct() will be called in
calibrate_delay() for calculating loops_per_jiffy. Then,
calibrate_delay_direct() waits until jiffies is incremented.
I think this means PIT or HPET is still used for the calibration.
Is there something wrong with my understanding?
If wrong, how is jiffies incremented?
>>> The kernel startup path has been fixed for years, and disable_IO_APIC in
>>> crash_kexec has always been a bug work-around for deficiencies in the
>>> kernel's start up path (not part of the guaranteed interface).
>>> Furthermore every real system configuration I have encountered used the
>>> same kernel version for the crashdump kernel and the production kernel.
>>> So we should be good.
>>
>> We also will be use the kdump(crashdump) kernel as the production
>> kernel. Should I only care for the current kernel?
>
> For this particular issue yes.
>
> In general it is important for there to be a stable interface between
> the two kernels just so you are not required to use the same kernel
> version, and so there is the possibility of using something besides a
> linux kernel.
OK. In order to judge whether a kernel version as crashdump kernel is
usable or not, I want to understand why we can remove disable_IO_APIC
in detail.
> At the same time it has always been the targets kernel's responsibility
> to sort out the hardware devices unless it can't possibily do it. And
> apics for the longest time were very very hard to reset in the target
> kernel, but now that they are not. It makes sense for time permitting
> to remove the now unnecessary code in the crashing kernel. Because
> ultimately the less code we have the fewer possible ways we can fail
> in a known broken kernel.
Yes, I agree with you.
Thanks,
Yoshihiro YUNOMAE
--
Yoshihiro YUNOMAE
Software Platform Research Dept. Linux Technology Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: yoshihiro.yunomae.ez@hitachi.com
next prev parent reply other threads:[~2013-09-03 11:02 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-19 8:12 [PATCH] [BUGFIX] crash/ioapic: Prevent crash_kexec() from deadlocking of ioapic_lock Yoshihiro YUNOMAE
2013-08-19 9:46 ` Ingo Molnar
2013-08-20 0:06 ` Yoshihiro YUNOMAE
2013-08-20 10:12 ` Eric W. Biederman
2013-08-20 14:27 ` Don Zickus
2013-08-22 8:38 ` Yoshihiro YUNOMAE
2013-08-22 13:11 ` Don Zickus
2013-08-27 3:41 ` Yoshihiro YUNOMAE
2013-08-27 13:33 ` Don Zickus
2013-08-31 0:58 ` Eric W. Biederman
2013-09-02 3:09 ` Yoshihiro YUNOMAE
2013-09-03 0:12 ` Eric W. Biederman
2013-09-03 11:02 ` Yoshihiro YUNOMAE [this message]
2013-09-03 12:44 ` Eric W. Biederman
2013-09-04 9:40 ` Yoshihiro YUNOMAE
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=5225C1DF.1030301@hitachi.com \
--to=yoshihiro.yunomae.ez@hitachi.com \
--cc=ak@linux.intel.com \
--cc=akpm@linux-foundation.org \
--cc=dzickus@redhat.com \
--cc=ebiederm@xmission.com \
--cc=gleb@redhat.com \
--cc=hidehiro.kawai.ez@hitachi.com \
--cc=hpa@zytor.com \
--cc=joro@8bytes.org \
--cc=konrad.wilk@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=masami.hiramatsu.pt@hitachi.com \
--cc=mingo@kernel.org \
--cc=mingo@redhat.com \
--cc=mtosatti@redhat.com \
--cc=sebastian@breakpoint.cc \
--cc=seiji.aguchi@hds.com \
--cc=stable@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
--cc=yrl.pp-manager.tt@hitachi.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).