[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


Mathieu,

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.

--chris

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 ?
> 
> Thanks!
> 
> Mathieu
> 
>>
>> 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 \
>> else
>> $(warning File $(kvm_dep) not found. Probe "kvm" x86-specific is disabled. Use
>> full kernel source tree to enable it.)
>> endif
>> +else
>> +$(warning File $(kvm_dep_lapic) not found. Probe "kvm" x86-specific is
>> disabled. Use full kernel source tree to enable it.)
>> +endif
>> endif
>> endif
>>
>> --
>> 2.1.4
>>
>>
>> _______________________________________________
>> lttng-dev mailing list
>> lttng-dev at lists.lttng.org
>> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
> 



More information about the lttng-dev mailing list