Merge branch 'perf-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6.git] / tools / perf / util / trace-event-parse.c
index 16cf2d5..55b41b9 100644 (file)
@@ -1776,6 +1776,29 @@ static unsigned long long read_size(void *ptr, int size)
        }
 }
 
+unsigned long long
+raw_field_value(struct event *event, const char *name, void *data)
+{
+       struct format_field *field;
+
+       field = find_any_field(event, name);
+       if (!field)
+               return 0ULL;
+
+       return read_size(data + field->offset, field->size);
+}
+
+void *raw_field_ptr(struct event *event, const char *name, void *data)
+{
+       struct format_field *field;
+
+       field = find_any_field(event, name);
+       if (!field)
+               return NULL;
+
+       return data + field->offset;
+}
+
 static int get_common_info(const char *type, int *offset, int *size)
 {
        struct event *event;
@@ -1945,10 +1968,11 @@ static const struct flag flags[] = {
        { "NET_TX_SOFTIRQ", 2 },
        { "NET_RX_SOFTIRQ", 3 },
        { "BLOCK_SOFTIRQ", 4 },
-       { "TASKLET_SOFTIRQ", 5 },
-       { "SCHED_SOFTIRQ", 6 },
-       { "HRTIMER_SOFTIRQ", 7 },
-       { "RCU_SOFTIRQ", 8 },
+       { "BLOCK_IOPOLL_SOFTIRQ", 5 },
+       { "TASKLET_SOFTIRQ", 6 },
+       { "SCHED_SOFTIRQ", 7 },
+       { "HRTIMER_SOFTIRQ", 8 },
+       { "RCU_SOFTIRQ", 9 },
 
        { "HRTIMER_NORESTART", 0 },
        { "HRTIMER_RESTART", 1 },
@@ -2699,8 +2723,10 @@ void print_event(int cpu, void *data, int size, unsigned long long nsecs,
        type = trace_parse_common_type(data);
 
        event = trace_find_event(type);
-       if (!event)
-               die("ug! no event found for type %d", type);
+       if (!event) {
+               printf("ug! no event found for type %d\n", type);
+               return;
+       }
 
        pid = parse_common_pid(data);