diff options
Diffstat (limited to 'include/uapi/linux')
| -rw-r--r-- | include/uapi/linux/perf_event.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h index da48837d617d..e1802d6153ae 100644 --- a/include/uapi/linux/perf_event.h +++ b/include/uapi/linux/perf_event.h | |||
| @@ -479,13 +479,15 @@ struct perf_event_mmap_page { | |||
| 479 | /* | 479 | /* |
| 480 | * Control data for the mmap() data buffer. | 480 | * Control data for the mmap() data buffer. |
| 481 | * | 481 | * |
| 482 | * User-space reading the @data_head value should issue an rmb(), on | 482 | * User-space reading the @data_head value should issue an smp_rmb(), |
| 483 | * SMP capable platforms, after reading this value -- see | 483 | * after reading this value. |
| 484 | * perf_event_wakeup(). | ||
| 485 | * | 484 | * |
| 486 | * When the mapping is PROT_WRITE the @data_tail value should be | 485 | * When the mapping is PROT_WRITE the @data_tail value should be |
| 487 | * written by userspace to reflect the last read data. In this case | 486 | * written by userspace to reflect the last read data, after issueing |
| 488 | * the kernel will not over-write unread data. | 487 | * an smp_mb() to separate the data read from the ->data_tail store. |
| 488 | * In this case the kernel will not over-write unread data. | ||
| 489 | * | ||
| 490 | * See perf_output_put_handle() for the data ordering. | ||
| 489 | */ | 491 | */ |
| 490 | __u64 data_head; /* head in the data section */ | 492 | __u64 data_head; /* head in the data section */ |
| 491 | __u64 data_tail; /* user-space written tail */ | 493 | __u64 data_tail; /* user-space written tail */ |
