diff -Naur ktap-master.old/runtime/kp_obj.c ktap-master/runtime/kp_obj.c
--- ktap-master.old/runtime/kp_obj.c	2015-12-03 15:26:28.000000000 -0800
+++ ktap-master/runtime/kp_obj.c	2016-04-22 20:03:46.509227970 -0700
@@ -44,7 +44,7 @@
 
 /* memory allocation flag */
 #define KTAP_ALLOC_FLAGS ((GFP_KERNEL | __GFP_NORETRY | __GFP_NOWARN) \
-			 & ~__GFP_WAIT)
+			 & ~__GFP_RECLAIM)
 
 /*
  * TODO: It's not safe to call into facilities in the kernel at-large,
--- ktap-master.old/runtime/kp_events.c	2015-12-03 15:26:28.000000000 -0800
+++ ktap-master/runtime/kp_events.c	2016-12-15 13:06:37.497077460 -0800
@@ -66,7 +66,7 @@
 	iter = kp_this_cpu_temp_buffer(ks);
 
 	trace_seq_init(&iter->seq);
-	iter->ent = e->data->raw->data;
+	iter->ent = e->data->raw->frag.data;
 
 	ev = &(call->event);
 	if (ev)
@@ -131,21 +131,21 @@
 
 	switch (event_fields->type)  {
 	case KTAP_EVENT_FIELD_TYPE_INT: {
-		struct trace_entry *entry = e->data->raw->data;
+		struct trace_entry *entry = e->data->raw->frag.data;
 		void *value = (unsigned char *)entry + event_fields->offset;
 		int n = *(int *)value;
 		set_number(ra, n);
 		return;
 		}
 	case KTAP_EVENT_FIELD_TYPE_LONG: {
-		struct trace_entry *entry = e->data->raw->data;
+		struct trace_entry *entry = e->data->raw->frag.data;
 		void *value = (unsigned char *)entry + event_fields->offset;
 		long n = *(long *)value;
 		set_number(ra, n);
 		return;
 		}
 	case KTAP_EVENT_FIELD_TYPE_STRING: {
-		struct trace_entry *entry = e->data->raw->data;
+		struct trace_entry *entry = e->data->raw->frag.data;
 		ktap_str_t *ts;
 		void *value = (unsigned char *)entry + event_fields->offset;
 		ts = kp_str_newz(ks, (char *)value);
--- ktap-master.old/runtime/kp_transport.c	2015-12-03 15:26:28.000000000 -0800
+++ ktap-master/runtime/kp_transport.c	2016-12-15 13:07:32.557078354 -0800
@@ -516,7 +516,7 @@
 {
 	struct ring_buffer *buffer = G(ks)->buffer;
 	struct ring_buffer_event *event;
-	struct trace_entry *ev_entry = e->data->raw->data;
+	struct trace_entry *ev_entry = e->data->raw->frag.data;
 	struct trace_entry *entry;
 	int entry_size = e->data->raw->size;