All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Fleming <matt@console-pimps.org>
To: Jan Beulich <JBeulich@suse.com>
Cc: Ingo Molnar <mingo@kernel.org>,
	Matt Fleming <matt.fleming@intel.com>,
	x86@kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	Dan Carpenter <dan.carpenter@oracle.com>,
	Ingo Molnar <mingo@redhat.com>, Nathan Zimmer <nzimmer@sgi.com>,
	Matthew Garrett <mjg59@srcf.ucam.org>,
	kernel-janitors@vger.kernel.org, linux-efi@vger.kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: [patch] x86/efi: use GFP_ATOMIC under spin_lock
Date: Mon, 10 Mar 2014 10:43:28 +0000	[thread overview]
Message-ID: <20140310104328.GG10262@console-pimps.org> (raw)
In-Reply-To: <531D84670200007800122375@nat28.tlf.novell.com>

On Mon, 10 Mar, at 08:22:47AM, Jan Beulich wrote:
> 
> The upside isn't so much on existing systems that work with the
> intended model, but on those that don't: Increasing awareness
> and pressure on the firmware vendors' side to get their bugs
> fixed. Just like - afaict - the ratio of systems with broken ACPI
> tables has gone down over time.
 
I'm not saying that we can never use the time functions. All I'm saying
is that until there are actaul in-kernel users let's delete the code.
Feel free to bring them back when someone actually needs them.

We're evaluating the tradeoff between having the code around for future
use, and the resultant maintenance burden whenever the EFI code gets
refactored. Clearly the code is bitrotting, which is the issue that
started this thread. No, it's not bitrotting very fast, and yes things
still build, but code can't bitrot at all if it doesn't exist.

I think we're all pretty much agreed that at the very least
phys_efi_get_time() can go in the bin. Whatever the outcome of this
thread that'll happen. The question is whether it makes sense to rip out
all of the time stuff in one go.

> Just to give an example from the Xen side: Xen uses the time
> interface in UEFI, as you would expect not without problems. Apart
> from issues with memory areas needed by those runtime calls not
> being properly marked for runtime use (which the respective
> vendors accepted they need to fix), we are also facing problems
> with runtime calls using XMM registers.

Presumably you've got some kind of quirk mechanism to get things
working? That doesn't exist in the kernel so the time functions as-is
are useless, right? What's the benefit of using the EFI time services
for Xen? Does Xen use the current kernel functions directly?

But this is good, here is a concrete use case.

Regarding the XMM updates...

> Rather than blindly saying "the specification isn't precise on this,
> and e.g. Linux has a half baked mechanism to deal with this, so let's
> just do so too" we're pushing for the specification to get updated,
> such that it becomes clear whether the firmware may do so and we need
> to change Xen, or whether it's the firmware people needing to fix
> their implementation.  Doing it that way is cumbersome, yes, but I
> think it is in the best interest of everybody involved (and better
> than papering over bugs by avoiding certain functionality).

Pushing for clarification in the spec is definitely a good idea, and I
commend you for doing that. But you're talking about fundamental calling
conventions here, you're not discussing peripheral services that have a
track record of bearly being tested at runtime and of arguably limited
value when things do work.

But we're getting off topic here.

> (The one real upside - getting time zone information - was
> already mentioned by someone else on this thread.)
 
We can easily do that from the EFI boot stub, we don't need runtime
services to do that. And even if we did need runtime services, someone
needs to show me the patches that use them.

-- 
Matt Fleming, Intel Open Source Technology Center

  reply	other threads:[~2014-03-10 10:43 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-07 11:20 [patch] x86/efi: use GFP_ATOMIC under spin_lock Dan Carpenter
2014-03-07 11:20 ` Dan Carpenter
     [not found] ` <20140307112055.GE2351-mgFCXtclrQlZLf2FXnZxJA@public.gmane.org>
2014-03-07 12:10   ` Ingo Molnar
2014-03-07 12:10     ` Ingo Molnar
     [not found]     ` <20140307121022.GA32575-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-03-07 12:25       ` Dan Carpenter
2014-03-07 12:25         ` Dan Carpenter
2014-03-09  6:48         ` Ingo Molnar
2014-03-09  6:48           ` Ingo Molnar
2014-03-09  7:14           ` Dan Carpenter
2014-03-09  7:14             ` Dan Carpenter
2014-03-09 16:20         ` Matt Fleming
2014-03-09 16:20           ` Matt Fleming
2014-03-09 16:31           ` Matthew Garrett
2014-03-09 16:31             ` Matthew Garrett
     [not found]             ` <20140309163141.GA18824-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2014-03-09 18:50               ` Matt Fleming
2014-03-09 18:50                 ` Matt Fleming
2014-03-09 19:00                 ` Matthew Garrett
2014-03-09 19:00                   ` Matthew Garrett
     [not found]                   ` <20140309190053.GA29555-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2014-03-10  9:10                     ` Matt Fleming
2014-03-10  9:10                       ` Matt Fleming
     [not found]                 ` <20140309185028.GB10262-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2014-03-10  7:27                   ` Jan Beulich
2014-03-10  7:27                     ` Jan Beulich
2014-03-10  7:37                     ` Ingo Molnar
2014-03-10  7:37                       ` Ingo Molnar
2014-03-10  7:45                       ` Jan Beulich
2014-03-10  7:53                         ` Ingo Molnar
2014-03-10  7:53                           ` Ingo Molnar
2014-03-10  8:22                           ` Jan Beulich
2014-03-10 10:43                             ` Matt Fleming [this message]
     [not found]                               ` <20140310104328.GG10262-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2014-03-10 11:05                                 ` Jan Beulich
2014-03-10 11:05                                   ` Jan Beulich
     [not found]                                   ` <531DAA7602000078001224EF-ce6RLXgGx+vWGUEhTRrCg1aTQe2KTcn/@public.gmane.org>
2014-03-10 16:10                                     ` Matt Fleming
2014-03-10 16:10                                       ` Matt Fleming
2014-03-14 23:02                               ` Matt Fleming
2014-03-14 23:02                                 ` Matt Fleming
2014-03-10  9:12                     ` Matt Fleming
2014-03-10  7:26           ` Jan Beulich
2014-03-10 17:07           ` Dan Carpenter
2014-03-10 17:07             ` Dan Carpenter
2014-03-09  7:36   ` Dan Carpenter
2014-03-09  7:36     ` Dan Carpenter
2014-03-10 16:47 ` H. Peter Anvin
2014-03-10 16:47   ` H. Peter Anvin

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=20140310104328.GG10262@console-pimps.org \
    --to=matt@console-pimps.org \
    --cc=JBeulich@suse.com \
    --cc=dan.carpenter@oracle.com \
    --cc=hpa@zytor.com \
    --cc=kernel-janitors@vger.kernel.org \
    --cc=linux-efi@vger.kernel.org \
    --cc=matt.fleming@intel.com \
    --cc=mingo@kernel.org \
    --cc=mingo@redhat.com \
    --cc=mjg59@srcf.ucam.org \
    --cc=nzimmer@sgi.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /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.