lkml.org 
[lkml]   [2019]   [Nov]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 03/13] kvm: monolithic: fixup x86-32 build
    From
    Date
    On 08/11/19 14:56, Jessica Yu wrote:
    > And I am
    > not sure what Masahiro (who takes care of all things kbuild-related)
    > thinks of this idea. But before implementing all this, is there
    > absolutely no way around having the duplicated exported symbols? (e.g.,
    > could the modules be configured/built in a mutally exclusive way? I'm
    > lacking the context from the rest of the thread, so not sure which are
    > the problematic modules.)

    The problematic modules are kvm_intel and kvm_amd, so we cannot build
    them in a mutually exclusive way (but we know it won't make sense to
    load both). We will have to build only one of them when built into
    vmlinux, but the module case must support building both.

    Currently we put the common symbols in kvm.ko, and kvm.ko acts as a kind
    of "library" for kvm_intel.ko and kvm_amd.ko. The problem is that
    kvm_intel.ko and kvm_amd.ko currently pass a large array of function
    pointers to kvm.ko, and Andrea measured a substantial performance
    penalty from retpolines when kvm.ko calls back through those pointers.

    Therefore he would like to remove kvm.ko, and that would result in
    symbols exported from two modules.

    I suppose we could use code patching mechanism to avoid the retpolines.
    Andrea, what do you think about that? That would have the advantage
    that we won't have to remove kvm_x86_ops. :)

    Thanks,

    Paolo

    \
     
     \ /
      Last update: 2019-11-08 20:51    [W:3.118 / U:0.144 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site