[kgtp] r1568 committed - Fix build issue with Linux kernel 2.6.32-358.el6....

  • From: kgtp@xxxxxxxxxxxxxx
  • To: kgtp@xxxxxxxxxxxxx
  • Date: Thu, 09 May 2013 13:42:13 +0000

Revision: 1568
Author:   teawater
Date:     Thu May  9 06:41:59 2013
Log:      Fix build issue with Linux kernel 2.6.32-358.el6.
Thanks report from Dong Zhu.

http://code.google.com/p/kgtp/source/detail?r=1568

Modified:
 /trunk/UPDATE
 /trunk/perf_event.c

=======================================
--- /trunk/UPDATE       Thu May  9 05:47:11 2013
+++ /trunk/UPDATE       Thu May  9 06:41:59 2013
@@ -3,6 +3,9 @@
 * Fix build issue with Linux kernel 2.6.37.
   Thanks report from D___linux.

+* Fix build issue with Linux kernel 2.6.32-358.el6.
+  Thanks report from Dong Zhu.
+
 *** 20130508

 * http://kgtp.googlecode.com/files/kgtp_20130508.tar.bz2
=======================================
--- /trunk/perf_event.c Thu May  9 05:33:59 2013
+++ /trunk/perf_event.c Thu May  9 06:41:59 2013
@@ -9,7 +9,8 @@

 #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0))

-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) \
+    || (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6,4))
 struct ring_buffer {
        atomic_t                        refcount;
        struct rcu_head                 rcu_head;
@@ -262,7 +263,8 @@
        return can_add_hw;
 }

-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) \
+    || (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6,4))
 #ifndef CONFIG_PERF_USE_VMALLOC
 static inline int page_order(struct ring_buffer *rb)
 {
@@ -324,7 +326,8 @@
                buf += size;
                handle->size -= size;
                if (!handle->size) {
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) \
+    || (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6,4))
                        struct ring_buffer *buffer = handle->rb;
 #elif (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,35)) \
       || (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6,1))
@@ -485,7 +488,8 @@
                __perf_event__output_id_sample(handle, sample);
 }

-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0)) \
+    && (RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(6,4))
 static void gtp_perf_event_wakeup(struct perf_event *event)
 {
        wake_up_all(&event->waitq);
@@ -499,18 +503,21 @@

 static void perf_output_wakeup(struct perf_output_handle *handle)
 {
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) \
+    || (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6,4))
        atomic_set(&handle->rb->poll, POLL_IN);
 #else
        atomic_set(&handle->buffer->poll, POLL_IN);
 #endif

-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0)) \
+    && (RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(6,4))
        if (handle->nmi) {
 #endif
                handle->event->pending_wakeup = 1;
                irq_work_queue(&handle->event->pending);
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0)) \
+    && (RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(6,4))
        } else
                gtp_perf_event_wakeup(handle->event);
 #endif
@@ -518,7 +525,8 @@

 static void perf_output_put_handle(struct perf_output_handle *handle)
 {
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) \
+    || (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6,4))
        struct ring_buffer *buffer = handle->rb;
 #else
        struct perf_buffer *buffer = handle->buffer;
@@ -560,7 +568,8 @@

 static void gtp_perf_output_end(struct perf_output_handle *handle)
 {
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0)) \
+    && (RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(6,4))
        struct perf_event *event = handle->event;
        struct perf_buffer *buffer = handle->buffer;

@@ -579,7 +588,8 @@
        rcu_read_unlock();
 }

-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) \
+    || (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6,4))
 static unsigned long perf_data_size(struct ring_buffer *buffer)
 #else
 static unsigned long perf_data_size(struct perf_buffer *buffer)
@@ -591,7 +601,8 @@
 /*
  * Output
  */
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) \
+    || (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6,4))
static bool perf_output_space(struct ring_buffer *buffer, unsigned long tail,
                              unsigned long offset, unsigned long head)
 #else
@@ -625,7 +636,8 @@
  */
 static void perf_output_get_handle(struct perf_output_handle *handle)
 {
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) \
+    || (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6,4))
        struct ring_buffer *buffer = handle->rb;
 #else
        struct perf_buffer *buffer = handle->buffer;
@@ -640,7 +652,8 @@
                                 struct perf_event *event, unsigned int size,
                                 int nmi, int sample)
 {
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) \
+    || (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6,4))
        struct ring_buffer *buffer;
 #else
        struct perf_buffer *buffer;
@@ -661,7 +674,8 @@
        if (event->parent)
                event = event->parent;

-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) \
+    || (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6,4))
        buffer = rcu_dereference(event->rb);
 #else
        buffer = rcu_dereference(event->buffer);
@@ -669,13 +683,15 @@
        if (!buffer)
                goto out;

-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) \
+    || (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6,4))
        handle->rb   = buffer;
 #else
        handle->buffer       = buffer;
 #endif
        handle->event        = event;
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) \
+    || (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6,4))
        handle->nmi  = nmi;
        handle->sample       = sample;
 #endif

Other related posts:

  • » [kgtp] r1568 committed - Fix build issue with Linux kernel 2.6.32-358.el6.... - kgtp