session.c (8dc58101f2c838355d44402aa77646649d10dbec) | session.c (2c46dbb517a10b18d459e6ceffefde5bfb290cf6) |
---|---|
1#define _FILE_OFFSET_BITS 64 2 3#include <linux/kernel.h> 4 5#include <byteswap.h> 6#include <unistd.h> 7#include <sys/types.h> 8 --- 186 unchanged lines hidden (view full) --- 195 if (handler->lost == NULL) 196 handler->lost = process_event_stub; 197 if (handler->read == NULL) 198 handler->read = process_event_stub; 199 if (handler->throttle == NULL) 200 handler->throttle = process_event_stub; 201 if (handler->unthrottle == NULL) 202 handler->unthrottle = process_event_stub; | 1#define _FILE_OFFSET_BITS 64 2 3#include <linux/kernel.h> 4 5#include <byteswap.h> 6#include <unistd.h> 7#include <sys/types.h> 8 --- 186 unchanged lines hidden (view full) --- 195 if (handler->lost == NULL) 196 handler->lost = process_event_stub; 197 if (handler->read == NULL) 198 handler->read = process_event_stub; 199 if (handler->throttle == NULL) 200 handler->throttle = process_event_stub; 201 if (handler->unthrottle == NULL) 202 handler->unthrottle = process_event_stub; |
203 if (handler->attr == NULL) 204 handler->attr = process_event_stub; |
|
203} 204 205static const char *event__name[] = { 206 [0] = "TOTAL", 207 [PERF_RECORD_MMAP] = "MMAP", 208 [PERF_RECORD_LOST] = "LOST", 209 [PERF_RECORD_COMM] = "COMM", 210 [PERF_RECORD_EXIT] = "EXIT", 211 [PERF_RECORD_THROTTLE] = "THROTTLE", 212 [PERF_RECORD_UNTHROTTLE] = "UNTHROTTLE", 213 [PERF_RECORD_FORK] = "FORK", 214 [PERF_RECORD_READ] = "READ", 215 [PERF_RECORD_SAMPLE] = "SAMPLE", | 205} 206 207static const char *event__name[] = { 208 [0] = "TOTAL", 209 [PERF_RECORD_MMAP] = "MMAP", 210 [PERF_RECORD_LOST] = "LOST", 211 [PERF_RECORD_COMM] = "COMM", 212 [PERF_RECORD_EXIT] = "EXIT", 213 [PERF_RECORD_THROTTLE] = "THROTTLE", 214 [PERF_RECORD_UNTHROTTLE] = "UNTHROTTLE", 215 [PERF_RECORD_FORK] = "FORK", 216 [PERF_RECORD_READ] = "READ", 217 [PERF_RECORD_SAMPLE] = "SAMPLE", |
218 [PERF_RECORD_HEADER_ATTR] = "ATTR", |
|
216}; 217 218unsigned long event__total[PERF_RECORD_HEADER_MAX]; 219 220void event__print_totals(void) 221{ 222 int i; 223 for (i = 0; i < PERF_RECORD_HEADER_MAX; ++i) { --- 50 unchanged lines hidden (view full) --- 274 self->read.pid = bswap_32(self->read.pid); 275 self->read.tid = bswap_32(self->read.tid); 276 self->read.value = bswap_64(self->read.value); 277 self->read.time_enabled = bswap_64(self->read.time_enabled); 278 self->read.time_running = bswap_64(self->read.time_running); 279 self->read.id = bswap_64(self->read.id); 280} 281 | 219}; 220 221unsigned long event__total[PERF_RECORD_HEADER_MAX]; 222 223void event__print_totals(void) 224{ 225 int i; 226 for (i = 0; i < PERF_RECORD_HEADER_MAX; ++i) { --- 50 unchanged lines hidden (view full) --- 277 self->read.pid = bswap_32(self->read.pid); 278 self->read.tid = bswap_32(self->read.tid); 279 self->read.value = bswap_64(self->read.value); 280 self->read.time_enabled = bswap_64(self->read.time_enabled); 281 self->read.time_running = bswap_64(self->read.time_running); 282 self->read.id = bswap_64(self->read.id); 283} 284 |
285static void event__attr_swap(event_t *self) 286{ 287 size_t size; 288 289 self->attr.attr.type = bswap_32(self->attr.attr.type); 290 self->attr.attr.size = bswap_32(self->attr.attr.size); 291 self->attr.attr.config = bswap_64(self->attr.attr.config); 292 self->attr.attr.sample_period = bswap_64(self->attr.attr.sample_period); 293 self->attr.attr.sample_type = bswap_64(self->attr.attr.sample_type); 294 self->attr.attr.read_format = bswap_64(self->attr.attr.read_format); 295 self->attr.attr.wakeup_events = bswap_32(self->attr.attr.wakeup_events); 296 self->attr.attr.bp_type = bswap_32(self->attr.attr.bp_type); 297 self->attr.attr.bp_addr = bswap_64(self->attr.attr.bp_addr); 298 self->attr.attr.bp_len = bswap_64(self->attr.attr.bp_len); 299 300 size = self->header.size; 301 size -= (void *)&self->attr.id - (void *)self; 302 mem_bswap_64(self->attr.id, size); 303} 304 |
|
282typedef void (*event__swap_op)(event_t *self); 283 284static event__swap_op event__swap_ops[] = { 285 [PERF_RECORD_MMAP] = event__mmap_swap, 286 [PERF_RECORD_COMM] = event__comm_swap, 287 [PERF_RECORD_FORK] = event__task_swap, 288 [PERF_RECORD_EXIT] = event__task_swap, 289 [PERF_RECORD_LOST] = event__all64_swap, 290 [PERF_RECORD_READ] = event__read_swap, 291 [PERF_RECORD_SAMPLE] = event__all64_swap, | 305typedef void (*event__swap_op)(event_t *self); 306 307static event__swap_op event__swap_ops[] = { 308 [PERF_RECORD_MMAP] = event__mmap_swap, 309 [PERF_RECORD_COMM] = event__comm_swap, 310 [PERF_RECORD_FORK] = event__task_swap, 311 [PERF_RECORD_EXIT] = event__task_swap, 312 [PERF_RECORD_LOST] = event__all64_swap, 313 [PERF_RECORD_READ] = event__read_swap, 314 [PERF_RECORD_SAMPLE] = event__all64_swap, |
315 [PERF_RECORD_HEADER_ATTR] = event__attr_swap, |
|
292 [PERF_RECORD_HEADER_MAX] = NULL, 293}; 294 295static int perf_session__process_event(struct perf_session *self, 296 event_t *event, 297 struct perf_event_ops *ops, 298 u64 offset, u64 head) 299{ --- 24 unchanged lines hidden (view full) --- 324 case PERF_RECORD_LOST: 325 return ops->lost(event, self); 326 case PERF_RECORD_READ: 327 return ops->read(event, self); 328 case PERF_RECORD_THROTTLE: 329 return ops->throttle(event, self); 330 case PERF_RECORD_UNTHROTTLE: 331 return ops->unthrottle(event, self); | 316 [PERF_RECORD_HEADER_MAX] = NULL, 317}; 318 319static int perf_session__process_event(struct perf_session *self, 320 event_t *event, 321 struct perf_event_ops *ops, 322 u64 offset, u64 head) 323{ --- 24 unchanged lines hidden (view full) --- 348 case PERF_RECORD_LOST: 349 return ops->lost(event, self); 350 case PERF_RECORD_READ: 351 return ops->read(event, self); 352 case PERF_RECORD_THROTTLE: 353 return ops->throttle(event, self); 354 case PERF_RECORD_UNTHROTTLE: 355 return ops->unthrottle(event, self); |
356 case PERF_RECORD_HEADER_ATTR: 357 return ops->attr(event, self); |
|
332 default: 333 self->unknown_events++; 334 return -1; 335 } 336} 337 338void perf_event_header__bswap(struct perf_event_header *self) 339{ --- 320 unchanged lines hidden --- | 358 default: 359 self->unknown_events++; 360 return -1; 361 } 362} 363 364void perf_event_header__bswap(struct perf_event_header *self) 365{ --- 320 unchanged lines hidden --- |