Dropping Block I/O probe. Needs work.
authorSapan Bhatia <sapanb@cs.princeton.edu>
Fri, 29 Jan 2010 22:14:03 +0000 (22:14 +0000)
committerSapan Bhatia <sapanb@cs.princeton.edu>
Fri, 29 Jan 2010 22:14:03 +0000 (22:14 +0000)
linux-2.6-591-chopstix-intern.patch

index 2ef7765..c61b498 100644 (file)
@@ -191,65 +191,6 @@ diff -Nurb linux-2.6.27-590/drivers/oprofile/cpu_buffer.c linux-2.6.27-591/drive
  }
  
  void oprofile_add_pc(unsigned long pc, int is_kernel, unsigned long event)
-diff -Nurb linux-2.6.27-590/fs/bio.c linux-2.6.27-591/fs/bio.c
---- linux-2.6.27-590/fs/bio.c  2008-10-09 18:13:53.000000000 -0400
-+++ linux-2.6.27-591/fs/bio.c  2010-01-29 16:30:22.000000000 -0500
-@@ -27,6 +27,7 @@
- #include <linux/workqueue.h>
- #include <linux/blktrace_api.h>
- #include <scsi/sg.h>          /* for struct sg_iovec */
-+#include <linux/arrays.h>
- static struct kmem_cache *bio_slab __read_mostly;
-@@ -44,6 +45,7 @@
- };
- #undef BV
-+
- /*
-  * fs_bio_set is the bio_set containing bio and iovec memory pools used by
-  * IO code that does not need private memory pools.
-@@ -1171,6 +1173,14 @@
-       }
- }
-+struct event_spec {
-+      unsigned long pc;
-+      unsigned long dcookie;
-+      unsigned count;
-+      unsigned char reason;
-+};
-+
-+extern void (*rec_event)(void *,unsigned int);
- /**
-  * bio_endio - end I/O on a bio
-  * @bio:      bio
-@@ -1192,6 +1202,24 @@
-       else if (!test_bit(BIO_UPTODATE, &bio->bi_flags))
-               error = -EIO;
-+#ifdef CONFIG_CHOPSTIX
-+              if (rec_event) {
-+                      struct event event;
-+                      struct event_spec espec;
-+                      unsigned long eip;
-+                      
-+                      espec.reason = 1;/*response */
-+
-+                      eip = bio->bi_end_io;
-+                      event.event_data=&espec;
-+                      espec.pc=eip;
-+                      event.event_type=3; 
-+                      /* index in the event array currently set up */
-+                      /* make sure the counters are loaded in the order we want them to show up*/ 
-+                      (*rec_event)(&event, bytes_done);
-+              }
-+#endif
-+
-       if (bio->bi_end_io)
-               bio->bi_end_io(bio, error);
- }
 diff -Nurb linux-2.6.27-590/fs/exec.c linux-2.6.27-591/fs/exec.c
 --- linux-2.6.27-590/fs/exec.c 2010-01-29 16:29:48.000000000 -0500
 +++ linux-2.6.27-591/fs/exec.c 2010-01-29 16:45:48.000000000 -0500