From: Matt Fleming <matt@console-pimps.org>
To: Jan Beulich <JBeulich@suse.com>
Cc: Zach Bobroff <zacharyb@ami.com>,
Matt Fleming <matt.fleming@intel.com>,
Matthew Garrett <mjg59@srcf.ucam.org>, Joey Lee <JLee@suse.com>,
linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org,
stable@vger.kernel.org
Subject: Re: [PATCH] x86, efi: retry ExitBootServices() on failure
Date: Mon, 17 Jun 2013 13:30:52 +0100 [thread overview]
Message-ID: <20130617123052.GE8569@console-pimps.org> (raw)
In-Reply-To: <51BF08CD02000078000DEC99@nat28.tlf.novell.com>
On Mon, 17 Jun, at 12:02:05PM, Jan Beulich wrote:
> >>> On 17.06.13 at 12:17, Matt Fleming <matt@console-pimps.org> wrote:
> >
> > What value would you suggest for the retry?
>
> I'd be considering something like 5...10, but this to some degree
> depends on what odd kinds of behavior this in fact needs to
> cover.
I genuinely don't see how picking numbers (seemingly) at random is an
improvement over the simple case of "if ExitBootServices() returns an
error, you get one more try". Unless you're aware of firmware that
requires calling ExitBootServices() multiple times? The grub ChangeLog
that Joey linked to is not particularly enlightening.
The scenario that this patch addresses is a very clear one, where the
firmware event handlers that respond to the initial ExitBootServices
event allocate/free memory, thereby invalidating the memory map cookie
we passed to ExitBootServices(), and requiring us to call
ExitBootServices() a second time.
I'm not saying that retrying once is the only solution that will ever
make sense. But certainly until we start seeing reports of problems and
understand why firmware might want us to invoke ExitBootServices()
multiple times, it seems like the most straight forward option.
--
Matt Fleming, Intel Open Source Technology Center
next prev parent reply other threads:[~2013-06-17 12:30 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-11 6:52 [PATCH] x86, efi: retry ExitBootServices() on failure Matt Fleming
[not found] ` <1370933558-10128-1-git-send-email-matt-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2013-06-11 7:22 ` Matt Fleming
2013-06-13 16:00 ` joeyli
[not found] ` <1371139233.6523.272.camel-ONCj+Eqt86TasUa73XJKwA@public.gmane.org>
2013-06-17 9:21 ` Matt Fleming
[not found] ` <20130617092107.GA5440-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2013-06-17 9:46 ` Jan Beulich
2013-06-17 10:17 ` Matt Fleming
[not found] ` <20130617101745.GB8569-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2013-06-17 10:41 ` joeyli
2013-06-17 11:02 ` Jan Beulich
2013-06-17 12:30 ` Matt Fleming [this message]
2013-06-18 0:18 ` Zachary Bobroff
2013-06-18 2:47 ` joeyli
2013-06-18 4:20 ` Zachary Bobroff
[not found] ` <B0277B82-F2C5-4BA9-B42C-F554E12F6961-gH/BEeFdNRQ@public.gmane.org>
2013-06-18 7:34 ` joeyli
2013-06-18 13:03 ` Jan Beulich
2013-06-18 22:12 ` Zachary Bobroff
2013-06-19 8:43 ` matt
2013-06-19 8:53 ` H. Peter Anvin
2013-06-20 18:04 ` Zachary Bobroff
2013-06-26 13:12 ` matt
-- strict thread matches above, loose matches on Subject: below --
2013-05-22 14:15 Matt Fleming
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=20130617123052.GE8569@console-pimps.org \
--to=matt@console-pimps.org \
--cc=JBeulich@suse.com \
--cc=JLee@suse.com \
--cc=linux-efi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matt.fleming@intel.com \
--cc=mjg59@srcf.ucam.org \
--cc=stable@vger.kernel.org \
--cc=zacharyb@ami.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