[lttng-dev] [PATCH lttng-modules] Fix: disable kvm probe if lapic.h isn't found
Chris J Arges
chris.j.arges at canonical.com
Mon Jul 27 12:09:54 EDT 2015
I'm testing with Ubuntu Wily using a 4.1 series kernel.
include/kvm/iodev.h is installed by linux-headers with the 4.1 kernel,
and therefore the probe Makefile tries to install the kvm probe, but
then fails to compile because arch/x86/kvm/lapic.h isn't found. All this
obviously works if you point at full sources.
On 07/27/2015 10:48 AM, Mathieu Desnoyers wrote:
> ----- On Jul 24, 2015, at 2:18 PM, Chris J Arges chris.j.arges at canonical.com wrote:
>> In a typical distribution if just linux-headers is installed, lapic.h will
>> not be installed. We should check if that file exists and not build the module.
> Hi Chris,
> Although this patch looks technically correct, I'd like to understand
> how you triggered this issue in the first place.
> If we look at this Makefile, we skip building KVM probes altogether
> if neither $(srctree)/virt/kvm/iodev.h nor $(srctree)/include/kvm/iodev.h
> are found. AFAIU, none of those headers are installed as linux-headers.
> Which of those headers are found in your distribution headers ? Is it
> due to a modification specific to Ubuntu or is it something that
> appears in mainline kernel ?
>> Signed-off-by: Chris J Arges <chris.j.arges at canonical.com>
>> probes/Makefile | 5 +++++
>> 1 file changed, 5 insertions(+)
>> diff --git a/probes/Makefile b/probes/Makefile
>> index 0314a5e..cc4c352 100644
>> --- a/probes/Makefile
>> +++ b/probes/Makefile
>> @@ -25,6 +25,8 @@ obj-m += lttng-probe-statedump.o
>> ifneq ($(CONFIG_KVM),)
>> obj-m += lttng-probe-kvm.o
>> ifneq ($(CONFIG_X86),)
>> +kvm_dep_lapic = $(srctree)/arch/x86/kvm/lapic.h
>> +ifneq ($(wildcard $(kvm_dep_lapic)),)
>> kvm_dep = $(srctree)/virt/kvm/iodev.h $(srctree)/include/kvm/iodev.h
>> ifneq ($(wildcard $(kvm_dep)),)
>> CFLAGS_lttng-probe-kvm-x86.o += -I$(srctree)/virt/kvm
>> @@ -40,6 +42,9 @@ obj-m += $(shell \
>> $(warning File $(kvm_dep) not found. Probe "kvm" x86-specific is disabled. Use
>> full kernel source tree to enable it.)
>> +$(warning File $(kvm_dep_lapic) not found. Probe "kvm" x86-specific is
>> disabled. Use full kernel source tree to enable it.)
>> lttng-dev mailing list
>> lttng-dev at lists.lttng.org
More information about the lttng-dev