Messages in this thread | | | From | Marc Dionne <> | Date | Mon, 29 Oct 2018 09:58:28 -0300 | Subject | Re: x86/paravirt: Use a single ops structure |
| |
On Tue, Oct 23, 2018 at 2:37 PM Linux Kernel Mailing List <linux-kernel@vger.kernel.org> wrote: > > Commit: 5c83511bdb9832c86be20fb86b783356e2f58062 > Parent: 27876f3882fdd4acb3d3614a0133ecdc777fc292 > Refname: refs/heads/master > Web: https://git.kernel.org/torvalds/c/5c83511bdb9832c86be20fb86b783356e2f58062 > Author: Juergen Gross <jgross@suse.com> > AuthorDate: Tue Aug 28 09:40:19 2018 +0200 > Committer: Thomas Gleixner <tglx@linutronix.de> > CommitDate: Mon Sep 3 16:50:35 2018 +0200 > > x86/paravirt: Use a single ops structure > > Instead of using six globally visible paravirt ops structures combine > them in a single structure, keeping the original structures as > sub-structures. > > This avoids the need to assemble struct paravirt_patch_template at > runtime on the stack each time apply_paravirt() is being called (i.e. > when loading a module).
The above commit replaces pv_lock_ops, which was EXPORT_SYMBOL, with something that is part of pv_ops, which is EXPORT_SYMBOL_GPL. When CONFIG_PARAVIRT_SPINLOCKS is set, this has the side effect of making spin_lock() unusable by out of tree modules, which will likely be an issue for many, if not most of them.
Marc
| |