From: ebiederm@xmission.com (Eric W. Biederman)
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: Avi Kivity <avi@redhat.com>, Ingo Molnar <mingo@elte.hu>,
Simon Horman <horms@verge.net.au>, Andrew Morton <akpm@osdl.org>,
Vivek Goyal <vgoyal@redhat.com>, Haren Myneni <hbabu@us.ibm.com>,
Andrey Borzenkov <arvidjaar@mail.ru>,
mingo@redhat.com, "Rafael J. Wysocki" <rjw@sisk.pl>,
kexec@lists.infradead.org, kvm@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 08/16] x86: Emergency virtualization disable function
Date: Wed, 05 Nov 2008 09:33:06 -0800 [thread overview]
Message-ID: <m1bpwu3wod.fsf@frodo.ebiederm.org> (raw)
In-Reply-To: <1225810364-8990-9-git-send-email-ehabkost@redhat.com> (Eduardo Habkost's message of "Tue, 4 Nov 2008 12:52:36 -0200")
Eduardo Habkost <ehabkost@redhat.com> writes:
> +int set_virt_disable_func(void (*fn)(void))
> +{
> + int r = 0;
> +
> + spin_lock(&virt_disable_lock);
> + if (!virt_disable_fn)
> + rcu_assign_pointer(virt_disable_fn, fn);
> + else
> + r = -EEXIST;
> + spin_unlock(&virt_disable_lock);
> +
> + return r;
> +}
> +EXPORT_SYMBOL(set_virt_disable_func);
EXPORT_SYMBOL_GPL?
> +EXPORT_SYMBOL(clear_virt_disable_func);
EXPORT_SYMBOL_GPL?
We are talking a core internal api that should not even
be exported if KVM is compiled into the kernel.
I have had to tell people NO too many times by that
wanted to shove code on the kexec on panic path that
had no business there. I do not want to give
the least little impression that this is an ok hook
for the to use. The very specific name helps in
that regard thank you for that. Having the symbol
exported GPL would help even more.
Overall I think the code is just barely ok.
I don't like the fact that to run 2-3 instructions per cpu we are two
function pointers deep. It feels like we have an excess of
abstraction here on the kvm side.
Is it possible to have the individual kvm modules call
set_virt_disable_func and clear_virt_disable_func? Instead
of going through the x86_kvm_ops?
It really feels like we have an excess of abstraction here.
Eric
next prev parent reply other threads:[~2008-11-05 17:35 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-04 14:52 [PATCH 00/14] x86: disable virt on kdump and emergency_restart Eduardo Habkost
2008-11-04 14:52 ` [PATCH 01/16] x86 kdump: Extract kdump-specific code from crash_nmi_callback() Eduardo Habkost
2008-11-04 14:52 ` [PATCH 02/16] x86 kdump: Move crashing_cpu assignment to nmi_shootdown_cpus() Eduardo Habkost
2008-11-04 14:52 ` [PATCH 03/16] x86 kdump: Create kdump_nmi_shootdown_cpus() Eduardo Habkost
2008-11-04 14:52 ` [PATCH 04/16] x86 kdump: Make kdump_nmi_callback() a function ptr on crash_nmi_callback() Eduardo Habkost
2008-11-04 14:52 ` [PATCH 05/16] x86 kdump: Make nmi_shootdown_cpus() non-static Eduardo Habkost
2008-11-04 14:52 ` [PATCH 06/16] x86: Move nmi_shootdown_cpus() to reboot.c Eduardo Habkost
2008-11-04 14:52 ` [PATCH 07/16] x86: Make nmi_shootdown_cpus() available on !SMP and !X86_LOCAL_APIC Eduardo Habkost
2008-11-04 18:15 ` Eduardo Habkost
2008-11-04 14:52 ` [PATCH 08/16] x86: Emergency virtualization disable function Eduardo Habkost
2008-11-05 17:33 ` Eric W. Biederman [this message]
[not found] ` <m1bpwu3wod.fsf-B27657KtZYmhTnVgQlOflh2eb7JE58TQ@public.gmane.org>
2008-11-05 17:52 ` Eduardo Habkost
2008-11-06 9:48 ` Avi Kivity
2008-11-06 10:22 ` Eric W. Biederman
[not found] ` <m1mygd2lxs.fsf-B27657KtZYmhTnVgQlOflh2eb7JE58TQ@public.gmane.org>
2008-11-06 10:30 ` Avi Kivity
[not found] ` <4912C75B.8050508-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2008-11-06 17:45 ` Eduardo Habkost
2008-11-09 11:23 ` Avi Kivity
2008-11-04 14:52 ` [PATCH 09/16] kdump: Hook emergency_virt_disable() on crash shutdown code Eduardo Habkost
[not found] ` <1225810364-8990-10-git-send-email-ehabkost-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2008-11-05 14:41 ` Vivek Goyal
[not found] ` <20081105144144.GC8993-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2008-11-05 15:07 ` Eduardo Habkost
2008-11-04 14:52 ` [PATCH 10/16] x86: disable virtualization on all CPUs if needed, on emergency_restart Eduardo Habkost
2008-11-04 14:52 ` [PATCH 11/16] kvm_x86_ops: crash_hardware_disable() operation Eduardo Habkost
2008-11-04 14:52 ` [PATCH 12/16] kvm: svm: set crash_hardware_disable to svm_hardware_disable Eduardo Habkost
2008-11-04 14:52 ` [PATCH 13/16] kvm: vmx: crash_hardware_disable function Eduardo Habkost
2008-11-04 14:52 ` [PATCH 14/16] kvmx: x86: set kvm_x86_ops earlier on kvm_arch_init() Eduardo Habkost
2008-11-04 14:52 ` [PATCH 15/16] kvm: x86: set kdump virt_disable function on initialization Eduardo Habkost
2008-11-05 17:26 ` Eric W. Biederman
[not found] ` <m1od0u3wyq.fsf-B27657KtZYmhTnVgQlOflh2eb7JE58TQ@public.gmane.org>
2008-11-05 17:50 ` Eduardo Habkost
2008-11-06 9:44 ` Avi Kivity
2008-11-04 14:52 ` [PATCH 16/16] Revert "x86: default to reboot via ACPI" Eduardo Habkost
[not found] ` <1225810364-8990-1-git-send-email-ehabkost-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2008-11-04 16:54 ` [PATCH 00/14] x86: disable virt on kdump and emergency_restart Avi Kivity
2008-11-05 14:44 ` Vivek Goyal
2008-11-05 15:04 ` Eduardo Habkost
2008-11-06 9:52 ` Avi Kivity
[not found] ` <49107E2C.8090803-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2008-11-05 16:33 ` Ingo Molnar
[not found] ` <20081105163306.GA30018-X9Un+BFzKDI@public.gmane.org>
2008-11-06 9:49 ` Avi Kivity
[not found] ` <4912BDC5.3000508-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2008-11-06 12:28 ` Eduardo Habkost
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=m1bpwu3wod.fsf@frodo.ebiederm.org \
--to=ebiederm@xmission.com \
--cc=akpm@osdl.org \
--cc=arvidjaar@mail.ru \
--cc=avi@redhat.com \
--cc=ehabkost@redhat.com \
--cc=hbabu@us.ibm.com \
--cc=horms@verge.net.au \
--cc=kexec@lists.infradead.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=mingo@redhat.com \
--cc=rjw@sisk.pl \
--cc=vgoyal@redhat.com \
/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