From: "H. Peter Anvin" <hpa@linux.intel.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Borislav Petkov <bp@alien8.de>,
Ian Campbell <ian.campbell@citrix.com>,
linux-kernel@vger.kernel.org, x86@kernel.org
Subject: Re: [PATCH] x86: use pgd accessors when cloning a pgd range.
Date: Wed, 27 Oct 2010 12:00:44 -0700 [thread overview]
Message-ID: <4CC876DC.3090708@linux.intel.com> (raw)
In-Reply-To: <4CC87499.9050207@goop.org>
On 10/27/2010 11:51 AM, Jeremy Fitzhardinge wrote:
>
> "pvops" as a single thing is a bit of a misnomer these days, in that it
> has been devolving into a number of different functional pieces specific
> to different problem domains, with the only unifying thing is that they
> share the patching machinery. They're also all controlled by a single
> fat CONFIG_PARAVIRT, but someone posted a patch to separate them out
> into distinct config options so they could be enabled/disabled
> independently as needed, but it seems it was never merged. I even
> remember acking it.
>
> Aside from that, the notion of pvops has been extending into this
> broader notion of supporting non-traditional x86 platforms, and indeed
> the hooks I'm referring to here are now part of that (or at least tglx
> factored them out of the pvops infrastructure at the same time as the
> things like timers and the like). So really what you're complaining
> about is that we have lots of indirection and late binding - and yes,
> well, there is rather a lot of that in the kernel overall.
>
tglx's changes are part of the work to clean up and eliminate pvops
where it is redundant. However, the pvops machinery has been too rigid
to be reused, resulting in that we now have something like four
different patching machineries in the kernel.
But of course, the worst part of pvops is that it is used at a low level
in a lot of hot paths, and the resulting header files looking like
someone barfed on a piece of paper, full little inlines pointing "here,
no over here, no over here."
The indirection and late binding is a problem, especially when the
indirection layer is badly designed, and encodes design bugs. Last I
checked, as an example, there are three paravirt_ops to deal with two
levels of page tables on non-PAE i386. One of them (not sure which one)
doesn't do anything on native, but hell if anyone knows if they are
actually dead.
-hpa
next prev parent reply other threads:[~2010-10-27 19:00 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-27 8:50 [PATCH] x86: use pgd accessors when cloning a pgd range Ian Campbell
2010-10-27 10:40 ` Borislav Petkov
2010-10-27 16:50 ` Jeremy Fitzhardinge
2010-10-27 17:18 ` H. Peter Anvin
2010-10-27 17:31 ` Jeremy Fitzhardinge
2010-10-27 17:42 ` H. Peter Anvin
2010-10-27 17:51 ` Ian Campbell
2010-10-27 17:51 ` Jeremy Fitzhardinge
2010-10-27 18:02 ` Ian Campbell
2010-10-27 18:11 ` H. Peter Anvin
2010-10-27 18:51 ` Jeremy Fitzhardinge
2010-10-27 19:00 ` H. Peter Anvin [this message]
2010-10-27 19:02 ` H. Peter Anvin
2010-10-27 17:44 ` Borislav Petkov
2010-10-27 17:54 ` Jeremy Fitzhardinge
2010-10-27 17:58 ` Ian Campbell
2010-10-28 9:23 ` Ian Campbell
2010-10-28 11:20 ` Borislav Petkov
2010-10-28 11:53 ` Ian Campbell
2010-10-28 15:49 ` H. Peter Anvin
2010-10-28 15:48 ` H. Peter Anvin
2010-11-03 15:35 ` Ian Campbell
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=4CC876DC.3090708@linux.intel.com \
--to=hpa@linux.intel.com \
--cc=bp@alien8.de \
--cc=ian.campbell@citrix.com \
--cc=jeremy@goop.org \
--cc=linux-kernel@vger.kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox