]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.31/patches.arch/s390-01-04-fcpperf-1.patch
Move xen patchset to new version's subdir.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.arch / s390-01-04-fcpperf-1.patch
diff --git a/src/patches/suse-2.6.27.31/patches.arch/s390-01-04-fcpperf-1.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-01-04-fcpperf-1.patch
new file mode 100644 (file)
index 0000000..5e9d3d0
--- /dev/null
@@ -0,0 +1,128 @@
+From: Gerald Schaefer <geraldsc@de.ibm.com>
+Subject:     (kernel):FCP - Performance Data colletion & analysis
+References:  bnc#417243
+
+This header file is of interest for user space programming, i.e.
+for tools that process blktrace data.
+
+We would like to use it for a tool on-top of blktrace which processes
+data provided by blktrace. For this purpose, it would be helpful
+if the blktrace API would make it to /usr/include/linux.
+
+The git tree for the blktrace tools comes with its own copy of this header
+file. I didn't manage to replace that copy with the file generated 
+by the patch below yet. A few more cleanups would be needed.
+For example, the blktrace ioctl numbers, which are currently defined in
+usr/include/fs.h, might need to be moved. Should be feasible, though.
+
+
+Signed-off-by: Sven Schuetz <sven@linux.vnet.ibm.com>
+Signed-off-by: Martin Peschke <mp3@de.ibm.com>
+
+Acked-by: John Jolly <jjolly@suse.de>
+
+---
+ include/linux/Kbuild         |    1 
+ include/linux/blktrace_api.h |   58 +++++++++++++++++++++++--------------------
+ 2 files changed, 33 insertions(+), 26 deletions(-)
+
+--- a/include/linux/blktrace_api.h
++++ b/include/linux/blktrace_api.h
+@@ -1,8 +1,10 @@
+ #ifndef BLKTRACE_H
+ #define BLKTRACE_H
++#ifdef __KERNEL__
+ #include <linux/blkdev.h>
+ #include <linux/relay.h>
++#endif
+ /*
+  * Trace categories
+@@ -89,17 +91,17 @@ enum blktrace_notify {
+  * The trace itself
+  */
+ struct blk_io_trace {
+-      u32 magic;              /* MAGIC << 8 | version */
+-      u32 sequence;           /* event number */
+-      u64 time;               /* in microseconds */
+-      u64 sector;             /* disk offset */
+-      u32 bytes;              /* transfer length */
+-      u32 action;             /* what happened */
+-      u32 pid;                /* who did it */
+-      u32 device;             /* device number */
+-      u32 cpu;                /* on what cpu did it happen */
+-      u16 error;              /* completion error */
+-      u16 pdu_len;            /* length of data after this trace */
++      __u32 magic;            /* MAGIC << 8 | version */
++      __u32 sequence;         /* event number */
++      __u64 time;             /* in microseconds */
++      __u64 sector;           /* disk offset */
++      __u32 bytes;            /* transfer length */
++      __u32 action;           /* what happened */
++      __u32 pid;              /* who did it */
++      __u32 device;           /* device number */
++      __u32 cpu;              /* on what cpu did it happen */
++      __u16 error;            /* completion error */
++      __u16 pdu_len;          /* length of data after this trace */
+ };
+ /*
+@@ -117,6 +119,25 @@ enum {
+       Blktrace_stopped,
+ };
++/*
++ * User setup structure passed with BLKTRACESTART
++ */
++struct blk_user_trace_setup {
++#ifdef __KERNEL__
++      char name[BDEVNAME_SIZE];       /* output */
++#else
++      char name[32];                  /* output */
++#endif
++      __u16 act_mask;                 /* input */
++      __u32 buf_size;                 /* input */
++      __u32 buf_nr;                   /* input */
++      __u64 start_lba;
++      __u64 end_lba;
++      __u32 pid;
++};
++
++#ifdef __KERNEL__
++#if defined(CONFIG_BLK_DEV_IO_TRACE)
+ struct blk_trace {
+       int trace_state;
+       struct rchan *rchan;
+@@ -133,21 +154,6 @@ struct blk_trace {
+       atomic_t dropped;
+ };
+-/*
+- * User setup structure passed with BLKTRACESTART
+- */
+-struct blk_user_trace_setup {
+-      char name[BDEVNAME_SIZE];       /* output */
+-      u16 act_mask;                   /* input */
+-      u32 buf_size;                   /* input */
+-      u32 buf_nr;                     /* input */
+-      u64 start_lba;
+-      u64 end_lba;
+-      u32 pid;
+-};
+-
+-#ifdef __KERNEL__
+-#if defined(CONFIG_BLK_DEV_IO_TRACE)
+ extern int blk_trace_ioctl(struct block_device *, unsigned, char __user *);
+ extern void blk_trace_shutdown(struct request_queue *);
+ extern void __blk_add_trace(struct blk_trace *, sector_t, int, int, u32, int, int, void *);
+--- a/include/linux/Kbuild
++++ b/include/linux/Kbuild
+@@ -181,6 +181,7 @@ unifdef-y += audit.h
+ unifdef-y += auto_fs.h
+ unifdef-y += auxvec.h
+ unifdef-y += binfmts.h
++unifdef-y += blktrace_api.h
+ unifdef-y += capability.h
+ unifdef-y += capi.h
+ unifdef-y += cciss_ioctl.h