From: Ingo Molnar <mingo@elte.hu>
To: Jan Beulich <JBeulich@novell.com>
Cc: Matt Fleming <matt@console-pimps.org>,
Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>,
Thomas Gleixner <tglx@linutronix.de>,
hpa@linux.intel.com, Avi Kivity <avi@redhat.com>,
mjg@redhat.com, Marcelo Tosatti <mtosatti@redhat.com>,
johnstultz <johnstul@us.ibm.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] x86, efi: Don't recursively acquire rtc_lock
Date: Wed, 10 Aug 2011 11:03:30 +0200 [thread overview]
Message-ID: <20110810090330.GF26762@elte.hu> (raw)
In-Reply-To: <4E4009A50200007800050258@nat28.tlf.novell.com>
* Jan Beulich <JBeulich@novell.com> wrote:
> >>> On 08.08.11 at 15:40, Matt Fleming <matt@console-pimps.org> wrote:
> > On Fri, 2011-08-05 at 18:04 +0100, Jan Beulich wrote:
> >>
> >> Virtual platforms will have to take care of the serialization in the
> >> host anyway, so the guest side implementation of getwallclock et al
> >> is entirely unaffected.
> >
> > Ah, OK, that's the important part. I didn't realise that rtc_lock isn't
> > actually required by any other code. In which case, yes, it completely
> > makes sense to push the locking of rtc_lock down into the
> > implementations that actually need it.
> >
> > It'd be great if I could get some ACK's from the virtualization guys.
> >
> > --------8<--------
> >
> > From a0a39dbb69f6ac675846bf00f30ad153506a4567 Mon Sep 17 00:00:00 2001
> > From: Matt Fleming <matt.fleming@intel.com>
> > Date: Mon, 8 Aug 2011 12:59:35 +0100
> > Subject: [PATCH] x86, efi: Don't recursively acquire rtc_lock
> >
> > A deadlock was introduced on x86 in commit ef68c8f87ed1 ("x86:
> > Serialize EFI time accesses on rtc_lock") because efi_get_time() and
> > friends can be called with rtc_lock already held by
> > read_persistent_time(), e.g.
> >
> > timekeeping_init()
> > read_persistent_clock() <-- acquire rtc_lock
> > efi_get_time()
> > phys_efi_get_time() <-- acquire rtc_lock <DEADLOCK>
> >
> > To fix this let's push the locking down into the get_wallclock() and
> > set_wallclock() implementations. Only the clock implementations that
> > access the x86 RTC directly need to acquire rtc_lock, so it makes
> > sense to push the locking down into the rtc, vrtc and efi code.
> >
> > The virtualization implementations don't require rtc_lock to be held
> > because they provide their own serialization.
> >
> > Signed-off-by: Matt Fleming <matt.fleming@intel.com>
>
> Acked-by: Jan Beulich <jbeulich@novell.com>
How urgent is thix fix - can it wait until Thomas comes back and
starts processing patches again?
Thanks,
Ingo
next prev parent reply other threads:[~2011-08-10 9:04 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-05 17:04 [PATCH] x86, efi: Don't recursively acquire rtc_lock Jan Beulich
2011-08-08 13:40 ` Matt Fleming
2011-08-08 14:07 ` Jan Beulich
2011-08-10 9:03 ` Ingo Molnar [this message]
2011-08-10 9:36 ` Jan Beulich
2011-08-10 9:51 ` Ingo Molnar
2011-08-10 13:12 ` Jan Beulich
2011-08-15 18:18 ` Matt Fleming
2011-08-16 6:22 ` Jan Beulich
2011-08-16 9:14 ` Matt Fleming
2011-08-30 15:45 ` Matthew Garrett
2011-08-30 16:07 ` Matt Fleming
2011-08-30 18:27 ` H. Peter Anvin
2011-08-10 14:55 ` Jan Beulich
2011-08-08 14:18 ` Avi Kivity
-- strict thread matches above, loose matches on Subject: below --
2011-08-05 17:02 Jan Beulich
2011-08-04 2:53 Jan Beulich
2011-08-04 3:04 ` Matthew Garrett
2011-08-04 9:33 ` Matt Fleming
2011-08-03 21:04 Matt Fleming
2011-08-03 23:10 ` Tony Luck
2011-08-03 23:12 ` H. Peter Anvin
2011-08-04 10:22 ` john stultz
2011-08-04 10:36 ` Matt Fleming
2011-08-04 11:36 ` Matthew Garrett
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=20110810090330.GF26762@elte.hu \
--to=mingo@elte.hu \
--cc=JBeulich@novell.com \
--cc=avi@redhat.com \
--cc=hpa@linux.intel.com \
--cc=jeremy.fitzhardinge@citrix.com \
--cc=johnstul@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=matt@console-pimps.org \
--cc=mjg@redhat.com \
--cc=mtosatti@redhat.com \
--cc=tglx@linutronix.de \
/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.