LTTng trace-clock: shrink kernel blacklist

The lockup fix has been pulled into Linux master as:

commit 7bd36014460f793c19e7d6c94dab67b0afcfcb7f
Author: John Stultz <john.stultz@linaro.org>
Date:   Wed Sep 11 16:50:56 2013 -0700

    timekeeping: Fix HRTICK related deadlock from ntp lock changes

Guessing the stable kernel versions in which this fix will appear in
3.10 and 3.11 stable. 3.12+ are OK.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: John Stultz <john.stultz@linaro.org>
Blacklist kernels 3.10.13 and 3.11.2

It looks like my guessing on kernel version at which Greg will pull this
fix was wrong. It will probably appear in the next round of stable
releases.

The fix that needs to reach stable-3.10 and stable-3.11 before we can
remove those from the backlist:

commit 7bd36014460f793c19e7d6c94dab67b0afcfcb7f
Author: John Stultz <john.stultz@linaro.org>
Date:   Wed Sep 11 16:50:56 2013 -0700

    timekeeping: Fix HRTICK related deadlock from ntp lock changes

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
CC: John Stultz <john.stultz@linaro.org>
Add new tracepoint in KVM

New tracepoint added in kvm: kvm_write_tsc_offset.

Signed-off-by: Mohamad Gebai <mohamad.gebai@polymtl.ca>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Import fix from LTSI: 3.4+ RT kernels use CONFIG_PREEMPT_RT_FULL

Initial LTSI commit:

From: Paul Gortmaker <paul.gortmaker@windriver.com>
> fix reference to obsolete RT Kconfig variable.
>
> The preempt-rt patches no longer use CONFIG_PREEMPT_RT in
> the 3.4 (and newer) versions.  So even though LTSI doesn't
> include RT, having this define present can lead to an easy
> to overlook bug for anyone who does try to layer RT onto
> the LTSI baseline.
>
> Update it to use the currently used define name by RT.
>
> Reported-by: Jim Somerville <Jim.Somerville@windriver.com>
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>

Merged with kernel version checks for >= 3.4 to support both old and
newer kernels.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
lttng-statedump-impl: Fix lttng_list_interrupts for empty implementation

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
lttng-statedump-impl: Use generic hard irqs for Linux >= 3.12

Quoting the original patch changelog from Otavio Salvador:

> The Linux kernel 3.12 uses the generic hard irqs system for all
> architectures and dropped the GENERIC_HARDIRQ option, as can be seen
> at the commit quoted below:
>
> ,----
> | commit 0244ad004a54e39308d495fee0a2e637f8b5c317
> | Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
> | Date:   Fri Aug 30 09:39:53 2013 +0200
> |
> |     Remove GENERIC_HARDIRQ config option
> |
> |     After the last architecture switched to generic hard irqs the config
> |     options HAVE_GENERIC_HARDIRQS & GENERIC_HARDIRQS and the related code
> |     for !CONFIG_GENERIC_HARDIRQS can be removed.
> |
> |     Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
> `----

Introduce wrapper/irq.h to move the feature availability testing logic
into a specific wrapper header. It now tests if the kernel version is
>= 3.12 or if CONFIG_GENERIC_HARDIRQS is defined (for older kernels).
Introduce the lttng-specific CONFIG_LTTNG_HAS_LIST_IRQ to track
availability of this feature within LTTng.

Reported-by: Philippe Mangaud <r49081@freescale.com>
Reported-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
update: kmem instrumentation 3.12 kernel support

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Update vmscan instrumentation to Linux 3.12

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Update btrfs instrumentation to 3.12 kernel

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Update RCU instrumentation to Linux 3.12

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Update ext4 instrumentation to Linux 3.12

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Version 2.4.0-rc1

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Blacklist ARM gcc 4.8.0, 4.8.1, 4.8.2

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
gcc blacklist: only apply when building with gcc

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fix: eliminate timestamp overlap between packets

By using the timestamp sampled at space reservation when the packet is
being filled as "end timestamp" for a packet, we can ensure there is no
overlap between packet timestamp ranges, so that packet timestamp end <=
following packets timestamp begin.

Overlap between consecutive packets becomes an issue when the end
timestamp of a packet is greater than the end timestamp of a following
packet, IOW a packet completely contains the timestamp range of a
following packet.  This kind of situation does not allow trace viewers
to do binary search within the packet timestamps. This kind of situation
will typically never occur if packets are significantly larger than
event size, but this fix ensures it can never even theoretically happen.

The only case where packets can still theoretically overlap is if they
have equal begin and end timestamps, which is valid.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fix: handle unknown event type parameter

Skip to an error path if the event type is unknown.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cleanup: fix typo in ring buffer backend comment

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fix: client_packet_header() uses wrong packet

It should use lib_ring_buffer_read_offset_address() to get the packet
being read, rather than lib_ring_buffer_offset_address(), which is only
meant to be used when writing to the packet.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Version 2.4.0-rc2

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Add version info to lttng-tracer.ko modinfo

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>