+#: build/C/man2/perf_event_open.2:34
+#, no-wrap
+msgid ""
+"B<#include E<lt>linux/perf_event.hE<gt>>\n"
+"B<#include E<lt>linux/hw_breakpoint.hE<gt>>\n"
+msgstr ""
+"B<#include E<lt>linux/perf_event.hE<gt>>\n"
+"B<#include E<lt>linux/hw_breakpoint.hE<gt>>\n"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:38
+#, no-wrap
+msgid ""
+"B<int perf_event_open(struct perf_event_attr *>I<attr>B<,>\n"
+"B< pid_t >I<pid>B<, int >I<cpu>B<, int >I<group_fd>B<,>\n"
+"B< unsigned long >I<flags>B<);>\n"
+msgstr ""
+"B<int perf_event_open(struct perf_event_attr *>I<attr>B<,>\n"
+"B< pid_t >I<pid>B<, int >I<cpu>B<, int >I<group_fd>B<,>\n"
+"B< unsigned long >I<flags>B<);>\n"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:47
+msgid ""
+"Given a list of parameters, B<perf_event_open>() returns a file descriptor, "
+"for use in subsequent system calls (B<read>(2), B<mmap>(2), B<prctl>(2), "
+"B<fcntl>(2), etc.)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:55
+msgid ""
+"A call to B<perf_event_open>() creates a file descriptor that allows "
+"measuring performance information. Each file descriptor corresponds to one "
+"event that is measured; these can be grouped together to measure multiple "
+"events simultaneously."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:62
+msgid ""
+"Events can be enabled and disabled in two ways: via B<ioctl>(2) and via "
+"B<prctl>(2)B<.> When an event is disabled it does not count or generate "
+"overflows but does continue to exist and maintain its count value."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:76
+msgid ""
+"Events come in two flavors: counting and sampled. A I<counting> event is "
+"one that is used for counting the aggregate number of events that occur. In "
+"general, counting event results are gathered with a B<read>(2) call. A "
+"I<sampling> event periodically writes measurements to a buffer that can then "
+"be accessed via B<mmap>(2)B<.>"
+msgstr ""
+
+#. type: SS
+#: build/C/man2/perf_event_open.2:76
+#, no-wrap
+msgid "Arguments"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:90
+msgid ""
+"The argument I<pid> allows events to be attached to processes in various "
+"ways. If I<pid> is 0, measurements happen on the current thread, if I<pid> "
+"is greater than 0, the process indicated by I<pid> is measured, and if "
+"I<pid> is -1, all processes are counted."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:101
+msgid ""
+"The I<cpu> argument allows measurements to be specific to a CPU. If I<cpu> "
+"is greater than or equal to 0, measurements are restricted to the specified "
+"CPU; if I<cpu> is -1, the events are measured on all CPUs."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:107
+msgid ""
+"Note that the combination of I<pid> == -1 and I<cpu> == -1 is not valid."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:115
+msgid ""
+"A I<pid> E<gt> 0 and I<cpu> == -1 setting measures per-process and follows "
+"that process to whatever CPU the process gets scheduled to. Per-process "
+"events can be created by any user."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:126
+msgid ""
+"A I<pid> == -1 and I<cpu> E<gt>= 0 setting is per-CPU and measures all "
+"processes on the specified CPU. Per-CPU events need the B<CAP_SYS_ADMIN> "
+"capability or a I</proc/sys/kernel/perf_event_paranoid> value of less than 1."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:148
+msgid ""
+"The I<group_fd> argument allows event groups to be created. An event group "
+"has one event which is the group leader. The leader is created first, with "
+"I<group_fd> = -1. The rest of the group members are created with subsequent "
+"B<perf_event_open>() calls with I<group_fd> being set to the fd of the "
+"group leader. (A single event on its own is created with I<group_fd> = -1 "
+"and is considered to be a group with only 1 member.) An event group is "
+"scheduled onto the CPU as a unit: it will be put onto the CPU only if all of "
+"the events in the group can be put onto the CPU. This means that the values "
+"of the member events can be meaningfully compared, added, divided (to get "
+"ratios), etc., with each other, since they have counted events for the same "
+"set of executed instructions."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:152
+#, fuzzy
+#| msgid ""
+#| "The I<flags> argument is a bit mask that is composed by ORing together "
+#| "zero or more of the following values:"
+msgid ""
+"The I<flags> argument is formed by ORing together zero or more of the "
+"following values:"
+msgstr ""
+"I<flags> 引き数には、以下の値の 0 個以上をビット毎の論理和の形で指定する。"
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:152
+#, no-wrap
+msgid "B<PERF_FLAG_FD_NO_GROUP>"
+msgstr ""
+
+#. FIXME The following sentence is unclear
+#. FIXME So, why is it useful?
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:159
+msgid ""
+"This flag allows creating an event as part of an event group but having no "
+"group leader. It is unclear why this is useful."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:159
+#, no-wrap
+msgid "B<PERF_FLAG_FD_OUTPUT>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:162
+msgid "This flag re-routes the output from an event to the group leader."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:162
+#, fuzzy, no-wrap
+#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+msgid "B<PERF_FLAG_PID_CGROUP> (Since Linux 2.6.39)."
+msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:185
+msgid ""
+"This flag activates per-container system-wide monitoring. A container is an "
+"abstraction that isolates a set of resources for finer grain control (CPUs, "
+"memory, etc...). In this mode, the event is measured only if the thread "
+"running on the monitored CPU belongs to the designated container (cgroup). "
+"The cgroup is identified by passing a file descriptor opened on its "
+"directory in the cgroupfs filesystem. For instance, if the cgroup to "
+"monitor is called I<test>, then a file descriptor opened on I</dev/cgroup/"
+"test> (assuming cgroupfs is mounted on I</dev/cgroup>) must be passed as "
+"the I<pid> parameter. cgroup monitoring is available only for system-wide "
+"events and may therefore require extra permissions."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:190
+msgid ""
+"The I<perf_event_attr> structure provides detailed configuration information "
+"for the event being created."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:197
+#, no-wrap
+msgid ""
+"struct perf_event_attr {\n"
+" __u32 type; /* Type of event */\n"
+" __u32 size; /* Size of attribute structure */\n"
+" __u64 config; /* Type-specific configuration */\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:202
+#, no-wrap
+msgid ""
+" union {\n"
+" __u64 sample_period; /* Period of sampling */\n"
+" __u64 sample_freq; /* Frequency of sampling */\n"
+" };\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:205
+#, no-wrap
+msgid ""
+" __u64 sample_type; /* Specifies values included in sample */\n"
+" __u64 read_format; /* Specifies values returned in read */\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:231
+#, no-wrap
+msgid ""
+" __u64 disabled : 1, /* off by default */\n"
+" inherit : 1, /* children inherit it */\n"
+" pinned : 1, /* must always be on PMU */\n"
+" exclusive : 1, /* only group on PMU */\n"
+" exclude_user : 1, /* don't count user */\n"
+" exclude_kernel : 1, /* don't count kernel */\n"
+" exclude_hv : 1, /* don't count hypervisor */\n"
+" exclude_idle : 1, /* don't count when idle */\n"
+" mmap : 1, /* include mmap data */\n"
+" comm : 1, /* include comm data */\n"
+" freq : 1, /* use freq, not period */\n"
+" inherit_stat : 1, /* per task counts */\n"
+" enable_on_exec : 1, /* next exec enables */\n"
+" task : 1, /* trace fork/exit */\n"
+" watermark : 1, /* wakeup_watermark */\n"
+" precise_ip : 2, /* skid constraint */\n"
+" mmap_data : 1, /* non-exec mmap data */\n"
+" sample_id_all : 1, /* sample_type all events */\n"
+" exclude_host : 1, /* don't count in host */\n"
+" exclude_guest : 1, /* don't count in guest */\n"
+" exclude_callchain_kernel : 1,\n"
+" /* exclude kernel callchains */\n"
+" exclude_callchain_user : 1,\n"
+"\t /* exclude user callchains */\n"
+" __reserved_1 : 41;\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:236
+#, no-wrap
+msgid ""
+" union {\n"
+" __u32 wakeup_events; /* wakeup every n events */\n"
+" __u32 wakeup_watermark; /* bytes before wakeup */\n"
+" };\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:238
+#, no-wrap
+msgid " __u32 bp_type; /* breakpoint type */\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:243
+#, no-wrap
+msgid ""
+" union {\n"
+" __u64 bp_addr; /* breakpoint address */\n"
+" __u64 config1; /* extension of config */\n"
+" };\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:253
+#, no-wrap
+msgid ""
+" union {\n"
+" __u64 bp_len; /* breakpoint length */\n"
+" __u64 config2; /* extension of config1 */\n"
+" };\n"
+" __u64 branch_sample_type; /* enum perf_branch_sample_type */\n"
+" __u64 sample_regs_user; /* user regs to dump on samples */\n"
+" __u32 sample_stack_user; /* size of stack to dump on\n"
+" samples */\n"
+" __u32 __reserved_2; /* Align to u64 */\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:255
+#, no-wrap
+msgid "};\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:261
+msgid ""
+"The fields of the I<perf_event_attr> structure are described in more detail "
+"below:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:261 build/C/man2/perf_event_open.2:1297
+#, no-wrap
+msgid "I<type>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:265
+msgid ""
+"This field specifies the overall event type. It has one of the following "
+"values:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:266
+#, no-wrap
+msgid "B<PERF_TYPE_HARDWARE>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:273
+msgid ""
+"This indicates one of the \"generalized\" hardware events provided by the "
+"kernel. See the I<config> field definition for more details."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:273
+#, no-wrap
+msgid "B<PERF_TYPE_SOFTWARE>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:277
+msgid ""
+"This indicates one of the software-defined events provided by the kernel "
+"(even if no hardware support is available)."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:277
+#, no-wrap
+msgid "B<PERF_TYPE_TRACEPOINT>"
+msgstr "B<PERF_TYPE_TRACEPOINT>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:281
+msgid ""
+"This indicates a tracepoint provided by the kernel tracepoint infrastructure."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:281
+#, no-wrap
+msgid "B<PERF_TYPE_HW_CACHE>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:287
+msgid ""
+"This indicates a hardware cache event. This has a special encoding, "
+"described in the I<config> field definition."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:287
+#, no-wrap
+msgid "B<PERF_TYPE_RAW>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:291
+msgid ""
+"This indicates a \"raw\" implementation-specific event in the I<config> "
+"field."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:291
+#, fuzzy, no-wrap
+#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+msgid "B<PERF_TYPE_BREAKPOINT> (Since Linux 2.6.33)"
+msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:296
+msgid ""
+"This indicates a hardware breakpoint as provided by the CPU. Breakpoints "
+"can be read/write accesses to an address as well as execution of an "
+"instruction address."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:296
+#, no-wrap
+msgid "dynamic PMU"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:315
+msgid ""
+"Since Linux 2.6.39, B<perf_event_open>() can support multiple PMUs. To "
+"enable this, a value exported by the kernel can be used in the I<type> field "
+"to indicate which PMU to use. The value to use can be found in the sysfs "
+"filesystem: there is a subdirectory per PMU instance under I</sys/bus/"
+"event_source/devices>. In each sub-directory there is a I<type> file whose "
+"content is an integer that can be used in the I<type> field. For instance, "
+"I</sys/bus/event_source/devices/cpu/type> contains the value for the core "
+"CPU PMU, which is usually 4."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:316 build/C/man2/perf_event_open.2:1734
+#, no-wrap
+msgid "I<size>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:325
+msgid ""
+"The size of the I<perf_event_attr> structure for forward/backward "
+"compatibility. Set this using I<sizeof(struct perf_event_attr)> to allow "
+"the kernel to see the struct size at the time of compilation."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:340
+msgid ""
+"The related define B<PERF_ATTR_SIZE_VER0> is set to 64; this was the size of "
+"the first published struct. B<PERF_ATTR_SIZE_VER1> is 72, corresponding to "
+"the addition of breakpoints in Linux 2.6.33. B<PERF_ATTR_SIZE_VER2> is 80 "
+"corresponding to the addition of branch sampling in Linux 3.4. "
+"B<PERF_ATR_SIZE_VER3> is 96 corresponding to the addition of "
+"I<sample_regs_user> and I<sample_stack_user> in Linux 3.7."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:340
+#, no-wrap
+msgid "I<config>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:351
+msgid ""
+"This specifies which event you want, in conjunction with the I<type> field. "
+"The I<config1> and I<config2> fields are also taken into account in cases "
+"where 64 bits is not enough to fully specify the event. The encoding of "
+"these fields are event dependent."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:357
+msgid ""
+"The most significant bit (bit 63) of I<config> signifies CPU-specific (raw) "
+"counter configuration data; if the most significant bit is unset, the next 7 "
+"bits are an event type and the rest of the bits are the event identifier."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:368
+msgid ""
+"There are various ways to set the I<config> field that are dependent on the "
+"value of the previously described I<type> field. What follows are various "
+"possible settings for I<config> separated out by I<type>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:378
+msgid ""
+"If I<type> is B<PERF_TYPE_HARDWARE>, we are measuring one of the generalized "
+"hardware CPU events. Not all of these are available on all platforms. Set "
+"I<config> to one of the following:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:379
+#, no-wrap
+msgid "B<PERF_COUNT_HW_CPU_CYCLES>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:383
+msgid "Total cycles. Be wary of what happens during CPU frequency scaling"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:383
+#, no-wrap
+msgid "B<PERF_COUNT_HW_INSTRUCTIONS>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:388
+msgid ""
+"Retired instructions. Be careful, these can be affected by various issues, "
+"most notably hardware interrupt counts"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:388
+#, no-wrap
+msgid "B<PERF_COUNT_HW_CACHE_REFERENCES>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:395
+msgid ""
+"Cache accesses. Usually this indicates Last Level Cache accesses but this "
+"may vary depending on your CPU. This may include prefetches and coherency "
+"messages; again this depends on the design of your CPU."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:395
+#, no-wrap
+msgid "B<PERF_COUNT_HW_CACHE_MISSES>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:402
+msgid ""
+"Cache misses. Usually this indicates Last Level Cache misses; this is "
+"intended to be used in conjunction with the "
+"B<PERF_COUNT_HW_CACHE_REFERENCES> event to calculate cache miss rates."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:402
+#, no-wrap
+msgid "B<PERF_COUNT_HW_BRANCH_INSTRUCTIONS>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:407
+msgid ""
+"Retired branch instructions. Prior to Linux 2.6.34, this used the wrong "
+"event on AMD processors."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:407
+#, no-wrap
+msgid "B<PERF_COUNT_HW_BRANCH_MISSES>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:410
+msgid "Mispredicted branch instructions."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:410
+#, no-wrap
+msgid "B<PERF_COUNT_HW_BUS_CYCLES>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:413
+msgid "Bus cycles, which can be different from total cycles."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:413
+#, fuzzy, no-wrap
+#| msgid "B<PTRACE_O_TRACEVFORKDONE> (since Linux 2.5.60)"
+msgid "B<PERF_COUNT_HW_STALLED_CYCLES_FRONTEND> (Since Linux 3.0)"
+msgstr "B<PTRACE_O_TRACEVFORKDONE> (Linux 2.5.60 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:416
+msgid "Stalled cycles during issue."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:416
+#, no-wrap
+msgid "B<PERF_COUNT_HW_STALLED_CYCLES_BACKEND> (Since Linux 3.0)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:419
+msgid "Stalled cycles during retirement."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:419
+#, fuzzy, no-wrap
+#| msgid "B<PTRACE_O_TRACECLONE> (since Linux 2.5.46)"
+msgid "B<PERF_COUNT_HW_REF_CPU_CYCLES> (Since Linux 3.3)"
+msgstr "B<PTRACE_O_TRACECLONE> (Linux 2.5.46 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:422
+msgid "Total cycles; not affected by CPU frequency scaling."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:432
+msgid ""
+"If I<type> is B<PERF_TYPE_SOFTWARE>, we are measuring software events "
+"provided by the kernel. Set I<config> to one of the following:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:433
+#, no-wrap
+msgid "B<PERF_COUNT_SW_CPU_CLOCK>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:436
+msgid "This reports the CPU clock, a high-resolution per-CPU timer."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:436
+#, no-wrap
+msgid "B<PERF_COUNT_SW_TASK_CLOCK>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:439
+msgid "This reports a clock count specific to the task that is running."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:439
+#, no-wrap
+msgid "B<PERF_COUNT_SW_PAGE_FAULTS>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:442
+msgid "This reports the number of page faults."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:442
+#, no-wrap
+msgid "B<PERF_COUNT_SW_CONTEXT_SWITCHES>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:447
+msgid ""
+"This counts context switches. Until Linux 2.6.34, these were all reported "
+"as user-space events, after that they are reported as happening in the "
+"kernel."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:447
+#, no-wrap
+msgid "B<PERF_COUNT_SW_CPU_MIGRATIONS>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:451
+msgid "This reports the number of times the process has migrated to a new CPU."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:451
+#, no-wrap
+msgid "B<PERF_COUNT_SW_PAGE_FAULTS_MIN>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:455
+msgid ""
+"This counts the number of minor page faults. These did not require disk I/O "
+"to handle."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:455
+#, no-wrap
+msgid "B<PERF_COUNT_SW_PAGE_FAULTS_MAJ>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:459
+msgid ""
+"This counts the number of major page faults. These required disk I/O to "
+"handle."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:459
+#, fuzzy, no-wrap
+#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+msgid "B<PERF_COUNT_SW_ALIGNMENT_FAULTS> (Since Linux 2.6.33)"
+msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:465
+msgid ""
+"This counts the number of alignment faults. These happen when unaligned "
+"memory accesses happen; the kernel can handle these but it reduces "
+"performance. This happens only on some architectures (never on x86)."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:465
+#, fuzzy, no-wrap
+#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+msgid "B<PERF_COUNT_SW_EMULATION_FAULTS> (Since Linux 2.6.33)"
+msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:471
+msgid ""
+"This counts the number of emulation faults. The kernel sometimes traps on "
+"unimplemented instructions and emulates them for user space. This can "
+"negatively impact performance."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:484
+msgid ""
+"If I<type> is B<PERF_TYPE_TRACEPOINT>, then we are measuring kernel "
+"tracepoints. The value to use in I<config> can be obtained from under "
+"debugfs I<tracing/events/*/*/id> if ftrace is enabled in the kernel."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:495
+msgid ""
+"If I<type> is B<PERF_TYPE_HW_CACHE>, then we are measuring a hardware CPU "
+"cache event. To calculate the appropriate I<config> value use the following "
+"equation:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:500
+#, no-wrap
+msgid ""
+" (perf_hw_cache_id) | (perf_hw_cache_op_id E<lt>E<lt> 8) |\n"
+" (perf_hw_cache_op_result_id E<lt>E<lt> 16)\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:505
+msgid "where I<perf_hw_cache_id> is one of:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:506
+#, no-wrap
+msgid "B<PERF_COUNT_HW_CACHE_L1D>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:509
+msgid "for measuring Level 1 Data Cache"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:509
+#, no-wrap
+msgid "B<PERF_COUNT_HW_CACHE_L1I>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:512
+msgid "for measuring Level 1 Instruction Cache"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:512
+#, no-wrap
+msgid "B<PERF_COUNT_HW_CACHE_LL>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:515
+msgid "for measuring Last-Level Cache"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:515
+#, no-wrap
+msgid "B<PERF_COUNT_HW_CACHE_DTLB>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:518
+msgid "for measuring the Data TLB"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:518
+#, no-wrap
+msgid "B<PERF_COUNT_HW_CACHE_ITLB>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:521
+msgid "for measuring the Instruction TLB"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:521
+#, no-wrap
+msgid "B<PERF_COUNT_HW_CACHE_BPU>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:524
+msgid "for measuring the branch prediction unit"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:524
+#, fuzzy, no-wrap
+#| msgid "B<PTRACE_O_TRACEVFORKDONE> (since Linux 2.5.60)"
+msgid "B<PERF_COUNT_HW_CACHE_NODE> (Since Linux 3.0)"
+msgstr "B<PTRACE_O_TRACEVFORKDONE> (Linux 2.5.60 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:527
+msgid "for measuring local memory accesses"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:532
+msgid "and I<perf_hw_cache_op_id> is one of"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:533
+#, no-wrap
+msgid "B<PERF_COUNT_HW_CACHE_OP_READ>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:536
+msgid "for read accesses"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:536
+#, no-wrap
+msgid "B<PERF_COUNT_HW_CACHE_OP_WRITE>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:539
+msgid "for write accesses"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:539
+#, no-wrap
+msgid "B<PERF_COUNT_HW_CACHE_OP_PREFETCH>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:542
+msgid "for prefetch accesses"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:547
+msgid "and I<perf_hw_cache_op_result_id> is one of"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:548
+#, no-wrap
+msgid "B<PERF_COUNT_HW_CACHE_RESULT_ACCESS>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:551
+msgid "to measure accesses"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:551
+#, no-wrap
+msgid "B<PERF_COUNT_HW_CACHE_RESULT_MISS>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:554
+msgid "to measure misses"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:572
+msgid ""
+"If I<type> is B<PERF_TYPE_RAW>, then a custom \"raw\" I<config> value is "
+"needed. Most CPUs support events that are not covered by the \"generalized"
+"\" events. These are implementation defined; see your CPU manual (for "
+"example the Intel Volume 3B documentation or the AMD BIOS and Kernel "
+"Developer Guide). The libpfm4 library can be used to translate from the "
+"name in the architectural manuals to the raw hex value B<perf_event_open>() "
+"expects in this field."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:581
+msgid ""
+"If I<type> is B<PERF_TYPE_BREAKPOINT>, then leave I<config> set to zero. "
+"Its parameters are set in other places."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:582
+#, no-wrap
+msgid "I<sample_period>, I<sample_freq>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:594
+msgid ""
+"A \"sampling\" counter is one that generates an interrupt every N events, "
+"where N is given by I<sample_period>. A sampling counter has "
+"I<sample_period> E<gt> 0. When an overflow interrupt occurs, requested data "
+"is recorded in the mmap buffer. The I<sample_type> field controls what data "
+"is recorded on each interrupt."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:604
+msgid ""
+"I<sample_freq> can be used if you wish to use frequency rather than period. "
+"In this case you set the I<freq> flag. The kernel will adjust the sampling "
+"period to try and achieve the desired rate. The rate of adjustment is a "
+"timer tick."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:604
+#, no-wrap
+msgid "I<sample_type>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:616
+msgid ""
+"The various bits in this field specify which values to include in the "
+"sample. They will be recorded in a ring-buffer, which is available to user "
+"space using B<mmap>(2). The order in which the values are saved in the "
+"sample are documented in the MMAP Layout subsection below; it is not the "
+"I<enum perf_event_sample_format> order."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:617
+#, no-wrap
+msgid "B<PERF_SAMPLE_IP>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:620
+msgid "Records instruction pointer."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:620
+#, no-wrap
+msgid "B<PERF_SAMPLE_TID>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:623
+msgid "Records the process and thread IDs."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:623
+#, no-wrap
+msgid "B<PERF_SAMPLE_TIME>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:626
+msgid "Records a timestamp."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:626
+#, no-wrap
+msgid "B<PERF_SAMPLE_ADDR>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:629
+msgid "Records an address, if applicable."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:629
+#, no-wrap
+msgid "B<PERF_SAMPLE_READ>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:632
+msgid ""
+"Record counter values for all events in a group, not just the group leader."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:632
+#, no-wrap
+msgid "B<PERF_SAMPLE_CALLCHAIN>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:635
+msgid "Records the callchain (stack backtrace)."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:635
+#, no-wrap
+msgid "B<PERF_SAMPLE_ID>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:638
+msgid "Records a unique ID for the opened event's group leader."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:638
+#, no-wrap
+msgid "B<PERF_SAMPLE_CPU>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:641
+msgid "Records CPU number."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:641
+#, no-wrap
+msgid "B<PERF_SAMPLE_PERIOD>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:644
+msgid "Records the current sampling period."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:644
+#, no-wrap
+msgid "B<PERF_SAMPLE_STREAM_ID>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:651
+msgid ""
+"Records a unique ID for the opened event. Unlike B<PERF_SAMPLE_ID> the "
+"actual ID is returned, not the group leader. This ID is the same as the one "
+"returned by PERF_FORMAT_ID."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:651
+#, no-wrap
+msgid "B<PERF_SAMPLE_RAW>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:655
+msgid ""
+"Records additional data, if applicable. Usually returned by tracepoint "
+"events."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:655
+#, fuzzy, no-wrap
+#| msgid "B<PTRACE_O_TRACEFORK> (since Linux 2.5.46)"
+msgid "B<PERF_SAMPLE_BRANCH_STACK> (Since Linux 3.4)"
+msgstr "B<PTRACE_O_TRACEFORK> (Linux 2.5.46 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:659
+msgid "Records the branch stack. See branch_sample_type."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:659
+#, fuzzy, no-wrap
+#| msgid "B<FUTEX_CMP_REQUEUE> (since Linux 2.6.7)"
+msgid "B<PERF_SAMPLE_REGS_USER> (Since Linux 3.7)"
+msgstr "B<FUTEX_CMP_REQUEUE> (Linux 2.6.7 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:663
+msgid ""
+"Records the current user-level CPU register state (the values in the process "
+"before the kernel was called)."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:663
+#, fuzzy, no-wrap
+#| msgid "B<PTRACE_O_TRACEFORK> (since Linux 2.5.46)"
+msgid "B<PERF_SAMPLE_STACK_USER> (Since Linux 3.7)"
+msgstr "B<PTRACE_O_TRACEFORK> (Linux 2.5.46 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:666
+msgid "Records the user level stack, allowing stack unwinding."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:666
+#, fuzzy, no-wrap
+#| msgid "B<FUTEX_CMP_REQUEUE> (since Linux 2.6.7)"
+msgid "B<PERF_SAMPLE_WEIGHT> (Since Linux 3.10)"
+msgstr "B<FUTEX_CMP_REQUEUE> (Linux 2.6.7 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:672
+msgid ""
+"Records a hardware provided weight value that expresses how costly the "
+"sampled event was. This allows the hardware to highlight expensive events "
+"in a profile."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:672
+#, fuzzy, no-wrap
+#| msgid "B<PTRACE_O_TRACEFORK> (since Linux 2.5.46)"
+msgid "B<PERF_SAMPLE_DATA_SRC> (Since Linux 3.10)"
+msgstr "B<PTRACE_O_TRACEFORK> (Linux 2.5.46 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:678
+msgid ""
+"Records the data source: where in the memory hierarchy the data associated "
+"with the sampled instruction came from. This is only available if the "
+"underlying hardware supports this feature."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:679
+#, no-wrap
+msgid "I<read_format>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:686
+msgid ""
+"This field specifies the format of the data returned by B<read>(2) on a "
+"B<perf_event_open>() file descriptor."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:687
+#, no-wrap
+msgid "B<PERF_FORMAT_TOTAL_TIME_ENABLED>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:694
+msgid ""
+"Adds the 64-bit I<time_enabled> field. This can be used to calculate "
+"estimated totals if the PMU is overcommitted and multiplexing is happening."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:694
+#, no-wrap
+msgid "B<PERF_FORMAT_TOTAL_TIME_RUNNING>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:701
+msgid ""
+"Adds the 64-bit I<time_running> field. This can be used to calculate "
+"estimated totals if the PMU is overcommitted and multiplexing is happening."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:701
+#, no-wrap
+msgid "B<PERF_FORMAT_ID>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:704
+msgid "Adds a 64-bit unique value that corresponds to the event group."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:704
+#, no-wrap
+msgid "B<PERF_FORMAT_GROUP>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:707
+msgid "Allows all counter values in an event group to be read with one read."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:708
+#, no-wrap
+msgid "I<disabled>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:718
+msgid ""
+"The I<disabled> bit specifies whether the counter starts out disabled or "
+"enabled. If disabled, the event can later be enabled by B<ioctl>(2), "
+"B<prctl>(2), or I<enable_on_exec>."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:718
+#, no-wrap
+msgid "I<inherit>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:727
+msgid ""
+"The I<inherit> bit specifies that this counter should count events of child "
+"tasks as well as the task specified. This applies only to new children, not "
+"to any existing children at the time the counter is created (nor to any new "
+"children of existing children)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:732
+msgid ""
+"Inherit does not work for some combinations of I<read_format>s, such as "
+"B<PERF_FORMAT_GROUP>."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:732
+#, no-wrap
+msgid "I<pinned>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:745
+msgid ""
+"The I<pinned> bit specifies that the counter should always be on the CPU if "
+"at all possible. It applies only to hardware counters and only to group "
+"leaders. If a pinned counter cannot be put onto the CPU (e.g., because "
+"there are not enough hardware counters or because of a conflict with some "
+"other event), then the counter goes into an 'error' state, where reads "
+"return end-of-file (i.e., B<read>(2) returns 0) until the counter is "
+"subsequently enabled or disabled."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:745
+#, no-wrap
+msgid "I<exclusive>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:754
+msgid ""
+"The I<exclusive> bit specifies that when this counter's group is on the CPU, "
+"it should be the only group using the CPU's counters. In the future this "
+"may allow monitoring programs to support PMU features that need to run alone "
+"so that they do not disrupt other hardware counters."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:754
+#, no-wrap
+msgid "I<exclude_user>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:757
+msgid ""
+"If this bit is set, the count excludes events that happen in user space."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:757
+#, no-wrap
+msgid "I<exclude_kernel>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:760
+msgid ""
+"If this bit is set, the count excludes events that happen in kernel-space."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:760
+#, no-wrap
+msgid "I<exclude_hv>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:768
+msgid ""
+"If this bit is set, the count excludes events that happen in the "
+"hypervisor. This is mainly for PMUs that have built-in support for handling "
+"this (such as POWER). Extra support is needed for handling hypervisor "
+"measurements on most machines."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:768
+#, no-wrap
+msgid "I<exclude_idle>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:771
+msgid "If set, don't count when the CPU is idle."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:771
+#, no-wrap
+msgid "I<mmap>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:776
+msgid "The I<mmap> bit enables recording of exec mmap events."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:776
+#, no-wrap
+msgid "I<comm>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:787
+msgid ""
+"The I<comm> bit enables tracking of process command name as modified by the "
+"I<exec>(2) and I<prctl>(PR_SET_NAME) system calls. Unfortunately for "
+"tools, there is no way to distinguish one system call versus the other."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:787
+#, no-wrap
+msgid "I<freq>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:794
+msgid ""
+"If this bit is set, then I<sample_frequency> not I<sample_period> is used "
+"when setting up the sampling interval."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:794
+#, no-wrap
+msgid "I<inherit_stat>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:801
+msgid ""
+"This bit enables saving of event counts on context switch for inherited "
+"tasks. This is meaningful only if the I<inherit> field is set."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:801
+#, no-wrap
+msgid "I<enable_on_exec>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:806
+msgid ""
+"If this bit is set, a counter is automatically enabled after a call to "
+"B<exec>(2)."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:806
+#, no-wrap
+msgid "I<task>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:810
+msgid ""
+"If this bit is set, then fork/exit notifications are included in the ring "
+"buffer."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:810
+#, no-wrap
+msgid "I<watermark>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:818
+msgid ""
+"If set, have a sampling interrupt happen when we cross the "
+"I<wakeup_watermark> boundary. Otherwise interrupts happen after "
+"I<wakeup_events> samples."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:818
+#, fuzzy, no-wrap
+#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+msgid "I<precise_ip> (Since Linux 2.6.35)"
+msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:828
+msgid ""
+"This controls the amount of skid. Skid is how many instructions execute "
+"between an event of interest happening and the kernel being able to stop and "
+"record the event. Smaller skid is better and allows more accurate reporting "
+"of which events correspond to which instructions, but hardware is often "
+"limited with how small this can be."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:830
+#, fuzzy
+#| msgid "The I<subcmd> value is one of the following:"
+msgid "The values of this are the following:"
+msgstr "I<subcmd> の値は以下のいずれかである"
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:831
+#, no-wrap
+msgid "0 -"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:835
+msgid "B<SAMPLE_IP> can have arbitrary skid"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:835
+#, no-wrap
+msgid "1 -"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:839
+msgid "B<SAMPLE_IP> must have constant skid"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:839
+#, no-wrap
+msgid "2 -"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:843
+msgid "B<SAMPLE_IP> requested to have 0 skid"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:843
+#, no-wrap
+msgid "3 -"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:849
+msgid "B<SAMPLE_IP> must have 0 skid. See also B<PERF_RECORD_MISC_EXACT_IP>."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:850
+#, fuzzy, no-wrap
+#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+msgid "I<mmap_data> (Since Linux 2.6.36)"
+msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:856
+msgid ""
+"The counterpart of the I<mmap> field, but enables including data mmap events "
+"in the ring-buffer."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:856
+#, fuzzy, no-wrap
+#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+msgid "I<sample_id_all> (Since Linux 2.6.38)"
+msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:864
+msgid ""
+"If set, then TID, TIME, ID, CPU, and STREAM_ID can additionally be included "
+"in non-B<PERF_RECORD_SAMPLE>s if the corresponding I<sample_type> is "
+"selected."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:864
+#, no-wrap
+msgid "I<exclude_host> (Since Linux 3.2)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:867
+msgid "Do not measure time spent in VM host"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:867
+#, no-wrap
+msgid "I<exclude_guest> (Since Linux 3.2)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:870
+msgid "Do not measure time spent in VM guest"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:870
+#, no-wrap
+msgid "I<exclude_callchain_kernel> (Since Linux 3.7)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:873
+msgid "Do not include kernel callchains."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:873
+#, no-wrap
+msgid "I<exclude_callchain_user> (Since Linux 3.7)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:876
+msgid "Do not include user callchains."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:876
+#, no-wrap
+msgid "I<wakeup_events>, I<wakeup_watermark>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:886
+msgid ""
+"This union sets how many samples (I<wakeup_events>) or bytes "
+"(I<wakeup_watermark>) happen before an overflow signal happens. Which one "
+"is used is selected by the I<watermark> bitflag."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:896
+msgid ""
+"I<wakeup_events> only counts B<PERF_RECORD_SAMPLE> record types. To receive "
+"a signal for every incoming B<PERF_RECORD> type set I<wakeup_watermark> to 1."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:896
+#, fuzzy, no-wrap
+#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+msgid "I<bp_type> (Since Linux 2.6.33)"
+msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:900
+msgid "This chooses the breakpoint type. It is one of:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:901
+#, no-wrap
+msgid "B<HW_BREAKPOINT_EMPTY>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:904
+msgid "no breakpoint"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:904
+#, no-wrap
+msgid "B<HW_BREAKPOINT_R>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:907
+msgid "count when we read the memory location"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:907
+#, no-wrap
+msgid "B<HW_BREAKPOINT_W>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:910
+msgid "count when we write the memory location"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:910
+#, no-wrap
+msgid "B<HW_BREAKPOINT_RW>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:913
+msgid "count when we read or write the memory location"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:913
+#, no-wrap
+msgid "B<HW_BREAKPOINT_X>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:916
+msgid "count when we execute code at the memory location"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:925
+msgid ""
+"The values can be combined via a bitwise or, but the combination of "
+"B<HW_BREAKPOINT_R> or B<HW_BREAKPOINT_W> with B<HW_BREAKPOINT_X> is not "
+"allowed."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:926
+#, fuzzy, no-wrap
+#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+msgid "I<bp_addr> (Since Linux 2.6.33)"
+msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:933
+msgid ""
+"I<bp_addr> address of the breakpoint. For execution breakpoints this is the "
+"memory address of the instruction of interest; for read and write "
+"breakpoints it is the memory address of the memory location of interest."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:933
+#, fuzzy, no-wrap
+#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+msgid "I<config1> (Since Linux 2.6.39)"
+msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:940
+msgid ""
+"I<config1> is used for setting events that need an extra register or "
+"otherwise do not fit in the regular config field. Raw OFFCORE_EVENTS on "
+"Nehalem/Westmere/SandyBridge use this field on 3.3 and later kernels."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:940
+#, fuzzy, no-wrap
+#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+msgid "I<bp_len> (Since Linux 2.6.33)"
+msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:954
+msgid ""
+"I<bp_len> is the length of the breakpoint being measured if I<type> is "
+"B<PERF_TYPE_BREAKPOINT>. Options are B<HW_BREAKPOINT_LEN_1>, "
+"B<HW_BREAKPOINT_LEN_2>, B<HW_BREAKPOINT_LEN_4>, B<HW_BREAKPOINT_LEN_8>. For "
+"an execution breakpoint, set this to I<sizeof(long)>."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:954
+#, fuzzy, no-wrap
+#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+msgid "I<config2> (Since Linux 2.6.39)"
+msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:961
+msgid "I<config2> is a further extension of the I<config1> field."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:961
+#, no-wrap
+msgid "I<branch_sample_type> (Since Linux 3.4)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:965
+msgid ""
+"This is used with the CPUs hardware branch sampling, if available. It can "
+"have one of the following values:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:966
+#, no-wrap
+msgid "B<PERF_SAMPLE_BRANCH_USER>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:969
+msgid "Branch target is in user space"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:969
+#, no-wrap
+msgid "B<PERF_SAMPLE_BRANCH_KERNEL>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:972
+msgid "Branch target is in kernel space"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:972
+#, no-wrap
+msgid "B<PERF_SAMPLE_BRANCH_HV>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:975
+msgid "Branch target is in hypervisor"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:975
+#, no-wrap
+msgid "B<PERF_SAMPLE_BRANCH_ANY>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:978
+msgid "Any branch type."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:978
+#, no-wrap
+msgid "B<PERF_SAMPLE_BRANCH_ANY_CALL>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:981
+msgid "Any call branch"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:981
+#, no-wrap
+msgid "B<PERF_SAMPLE_BRANCH_ANY_RETURN>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:984
+msgid "Any return branch"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:984
+#, no-wrap
+msgid "B<PERF_SAMPLE_BRANCH_IND_CALL>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:987
+msgid "Indirect calls"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:987
+#, no-wrap
+msgid "B<PERF_SAMPLE_BRANCH_PLM_ALL>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:990
+msgid "User, kernel, and hv"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:991
+#, no-wrap
+msgid "I<sample_regs_user> (Since Linux 3.7)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:997
+msgid ""
+"This bitmask defines the set of user CPU registers to dump on samples. The "
+"layout of the register mask is architecture specific and described in the "
+"kernel header I<arch/ARCH/include/uapi/asm/perf_regs.h>."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:997
+#, no-wrap
+msgid "I<sample_stack_user> (Since Linux 3.7)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1002
+msgid ""
+"This defines the size of the user stack to dump if B<PERF_SAMPLE_STACK_USER> "
+"is specified."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/perf_event_open.2:1002
+#, no-wrap
+msgid "Reading results"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1012
+msgid ""
+"Once a B<perf_event_open>() file descriptor has been opened, the values of "
+"the events can be read from the file descriptor. The values that are there "
+"are specified by the I<read_format> field in the I<attr> structure at open "
+"time."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1017
+msgid ""
+"If you attempt to read into a buffer that is not big enough to hold the data "
+"B<ENOSPC> is returned"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1019
+msgid "Here is the layout of the data returned by a read:"
+msgstr ""
+
+#. type: IP
+#: build/C/man2/perf_event_open.2:1019 build/C/man2/perf_event_open.2:1037
+#: build/C/man2/ptrace.2:1553 build/C/man2/ptrace.2:1563
+#: build/C/man2/ptrace.2:1571 build/C/man2/ptrace.2:1577
+#: build/C/man2/ptrace.2:1706
+#, no-wrap
+msgid "*"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1023
+msgid ""
+"If B<PERF_FORMAT_GROUP> was specified to allow reading all events in a group "
+"at once:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1035
+#, no-wrap
+msgid ""
+"struct read_format {\n"
+" u64 nr; /* The number of events */\n"
+" u64 time_enabled; /* if PERF_FORMAT_TOTAL_TIME_ENABLED */\n"
+" u64 time_running; /* if PERF_FORMAT_TOTAL_TIME_RUNNING */\n"
+" struct\n"
+" u64 value; /* The value of the event */\n"
+" u64 id; /* if PERF_FORMAT_ID */\n"
+" } values[nr];\n"
+"};\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1043
+msgid "If B<PERF_FORMAT_GROUP> was I<not> specified:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1052
+#, no-wrap
+msgid ""
+"struct read_format {\n"
+" u64 value; /* The value of the event */\n"
+" u64 time_enabled; /* if PERF_FORMAT_TOTAL_TIME_ENABLED */\n"
+" u64 time_running; /* if PERF_FORMAT_TOTAL_TIME_RUNNING */\n"
+" u64 id; /* if PERF_FORMAT_ID */\n"
+"};\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1056
+msgid "The values read are as follows:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1056
+#, no-wrap
+msgid "I<nr>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1062
+msgid ""
+"The number of events in this file descriptor. Only available if "
+"B<PERF_FORMAT_GROUP> was specified."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1062
+#, no-wrap
+msgid "I<time_enabled>, I<time_running>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1074
+msgid ""
+"Total time the event was enabled and running. Normally these are the same. "
+"If more events are started than available counter slots on the PMU, then "
+"multiplexing happens and events run only part of the time. In that case the "
+"I<time_enabled> and I<time running> values can be used to scale an estimated "
+"value for the count."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1074
+#, no-wrap
+msgid "I<value>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1077
+msgid "An unsigned 64-bit value containing the counter result."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1077 build/C/man2/perf_event_open.2:1341
+#: build/C/man2/perf_event_open.2:1478
+#, no-wrap
+msgid "I<id>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1083
+msgid ""
+"A globally unique value for this particular event, only there if "
+"B<PERF_FORMAT_ID> was specified in I<read_format>."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/perf_event_open.2:1083
+#, no-wrap
+msgid "MMAP layout"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1093
+msgid ""
+"When using B<perf_event_open>() in sampled mode, asynchronous events (like "
+"counter overflow or B<PROT_EXEC> mmap tracking) are logged into a ring-"
+"buffer. This ring-buffer is created and accessed through B<mmap>(2)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1099
+msgid ""
+"The mmap size should be 1+2^n pages, where the first page is a metadata page "
+"(I<struct perf_event_mmap_page>) that contains various bits of information "
+"such as where the ring-buffer head is."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1102
+msgid ""
+"Before kernel 2.6.39, there is a bug that means you must allocate a mmap "
+"ring buffer when sampling even if you do not plan to access it."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1104
+msgid "The structure of the first metadata mmap page is as follows:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1128
+#, no-wrap
+msgid ""
+"struct perf_event_mmap_page {\n"
+" __u32 version; /* version number of this structure */\n"
+" __u32 compat_version; /* lowest version this is compat with */\n"
+" __u32 lock; /* seqlock for synchronization */\n"
+" __u32 index; /* hardware counter identifier */\n"
+" __s64 offset; /* add to hardware counter value */\n"
+" __u64 time_enabled; /* time event active */\n"
+" __u64 time_running; /* time event on CPU */\n"
+" union {\n"
+" __u64 capabilities;\n"
+" __u64 cap_usr_time : 1,\n"
+" cap_usr_rdpmc : 1,\n"
+" };\n"
+" __u16 pmc_width;\n"
+" __u16 time_shift;\n"
+" __u32 time_mult;\n"
+" __u64 time_offset;\n"
+" __u64 __reserved[120]; /* Pad to 1k */\n"
+" __u64 data_head; /* head in the data section */\n"
+" __u64 data_tail; /* user-space written tail */\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1134
+msgid ""
+"The following looks at the fields in the I<perf_event_mmap_page> structure "
+"in more detail:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1134
+#, no-wrap
+msgid "I<version>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1137
+msgid "Version number of this structure."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1137
+#, no-wrap
+msgid "I<compat_version>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1140
+msgid "The lowest version this is compatible with."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1140
+#, no-wrap
+msgid "I<lock>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1143
+msgid "A seqlock for synchronization."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1143
+#, no-wrap
+msgid "I<index>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1146
+msgid "A unique hardware counter identifier."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1146
+#, no-wrap
+msgid "I<offset>"
+msgstr ""
+
+#. FIXME clarify
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1150
+msgid "Add this to hardware counter value??"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1150
+#, no-wrap
+msgid "I<time_enabled>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1153
+msgid "Time the event was active."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1153
+#, no-wrap
+msgid "I<time_running>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1156
+msgid "Time the event was running."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1156
+#, no-wrap
+msgid "I<cap_usr_time>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1159
+msgid "User time capability"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1159
+#, no-wrap
+msgid "I<cap_usr_rdpmc>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1164
+msgid ""
+"If the hardware supports user-space read of performance counters without "
+"syscall (this is the \"rdpmc\" instruction on x86), then the following code "
+"can be used to do a read:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1171
+#, no-wrap
+msgid ""
+"u32 seq, time_mult, time_shift, idx, width;\n"
+"u64 count, enabled, running;\n"
+"u64 cyc, time_offset;\n"
+"s64 pmc = 0;\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1177
+#, no-wrap
+msgid ""
+"do {\n"
+" seq = pc-E<gt>lock;\n"
+" barrier();\n"
+" enabled = pc-E<gt>time_enabled;\n"
+" running = pc-E<gt>time_running;\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1184
+#, no-wrap
+msgid ""
+" if (pc-E<gt>cap_usr_time && enabled != running) {\n"
+" cyc = rdtsc();\n"
+" time_offset = pc-E<gt>time_offset;\n"
+" time_mult = pc-E<gt>time_mult;\n"
+" time_shift = pc-E<gt>time_shift;\n"
+" }\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1187
+#, no-wrap
+msgid ""
+" idx = pc-E<gt>index;\n"
+" count = pc-E<gt>offset;\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1192
+#, no-wrap
+msgid ""
+" if (pc-E<gt>cap_usr_rdpmc && idx) {\n"
+" width = pc-E<gt>pmc_width;\n"
+" pmc = rdpmc(idx - 1);\n"
+" }\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1195
+#, no-wrap
+msgid ""
+" barrier();\n"
+"} while (pc-E<gt>lock != seq);\n"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1197
+#, no-wrap
+msgid "I<pmc_width>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1204
+msgid ""
+"If I<cap_usr_rdpmc>, this field provides the bit-width of the value read "
+"using the rdpmc or equivalent instruction. This can be used to sign extend "
+"the result like:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1210
+#, no-wrap
+msgid ""
+"pmc E<lt>E<lt>= 64 - pmc_width;\n"
+"pmc E<gt>E<gt>= 64 - pmc_width; // signed shift right\n"
+"count += pmc;\n"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1212
+#, no-wrap
+msgid "I<time_shift>, I<time_mult>, I<time_offset>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1219
+msgid ""
+"If I<cap_usr_time>, these fields can be used to compute the time delta since "
+"time_enabled (in nanoseconds) using rdtsc or similar."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1227
+#, no-wrap
+msgid ""
+" u64 quot, rem;\n"
+" u64 delta;\n"
+" quot = (cyc E<gt>E<gt> time_shift);\n"
+" rem = cyc & ((1 E<lt>E<lt> time_shift) - 1);\n"
+" delta = time_offset + quot * time_mult +\n"
+" ((rem * time_mult) E<gt>E<gt> time_shift);\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1239
+msgid ""
+"Where I<time_offset>, I<time_mult>, I<time_shift>, and I<cyc> are read in "
+"the seqcount loop described above. This delta can then be added to enabled "
+"and possible running (if idx), improving the scaling:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1247
+#, no-wrap
+msgid ""
+" enabled += delta;\n"
+" if (idx)\n"
+" running += delta;\n"
+" quot = count / running;\n"
+" rem = count % running;\n"
+" count = quot * enabled + (rem * enabled) / running;\n"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1248
+#, no-wrap
+msgid "I<data_head>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1254
+msgid ""
+"This points to the head of the data section. The value continuously "
+"increases, it does not wrap. The value needs to be manually wrapped by the "
+"size of the mmap buffer before accessing the samples."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1257
+msgid ""
+"On SMP-capable platforms, after reading the data_head value, user space "
+"should issue an rmb()."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1257
+#, no-wrap
+msgid "I<data_tail;>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1265
+msgid ""
+"When the mapping is B<PROT_WRITE>, the I<data_tail> value should be written "
+"by user space to reflect the last read data. In this case the kernel will "
+"not over-write unread data."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1267
+msgid "The following 2^n ring-buffer pages have the layout described below."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1281
+msgid ""
+"If I<perf_event_attr.sample_id_all> is set, then all event types will have "
+"the sample_type selected fields related to where/when (identity) an event "
+"took place (TID, TIME, ID, CPU, STREAM_ID) described in "
+"B<PERF_RECORD_SAMPLE> below, it will be stashed just after the "
+"I<perf_event_header> and the fields already present for the existing fields, "
+"i.e., at the end of the payload. That way a newer perf.data file will be "
+"supported by older perf tools, with these new optional fields being ignored."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1283
+msgid "The mmap values start with a header:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1291
+#, no-wrap
+msgid ""
+"struct perf_event_header {\n"
+" __u32 type;\n"
+" __u16 misc;\n"
+" __u16 size;\n"
+"};\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1297
+msgid "Below, we describe the I<perf_event_header> fields in more detail."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1306
+msgid ""
+"The I<type> value is one of the below. The values in the corresponding "
+"record (that follows the header) depend on the I<type> selected as shown."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1307
+#, no-wrap
+msgid "B<PERF_RECORD_MMAP>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1314
+msgid ""
+"The MMAP events record the B<PROT_EXEC> mappings so that we can correlate "
+"user-space IPs to code. They have the following structure:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1325
+#, no-wrap
+msgid ""
+"struct {\n"
+" struct perf_event_header header;\n"
+" u32 pid, tid;\n"
+" u64 addr;\n"
+" u64 len;\n"
+" u64 pgoff;\n"
+" char filename[];\n"
+"};\n"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1327
+#, no-wrap
+msgid "B<PERF_RECORD_LOST>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1330
+msgid "This record indicates when events are lost."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1338
+#, no-wrap
+msgid ""
+"struct {\n"
+" struct perf_event_header header;\n"
+" u64 id;\n"
+" u64 lost;\n"
+"};\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1344
+msgid "is the unique event ID for the samples that were lost."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1344
+#, no-wrap
+msgid "I<lost>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1347
+#, fuzzy
+#| msgid "Returns the number of processes woken up."
+msgid "is the number of events that were lost."
+msgstr "wake したプロセスの数を返す。"
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1348
+#, no-wrap
+msgid "B<PERF_RECORD_COMM>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1351
+msgid "This record indicates a change in the process name."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1359
+#, no-wrap
+msgid ""
+"struct {\n"
+" struct perf_event_header header;\n"
+" u32 pid, tid;\n"
+" char comm[];\n"
+"};\n"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1361
+#, no-wrap
+msgid "B<PERF_RECORD_EXIT>"
+msgstr "B<PERF_RECORD_EXIT>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1364
+msgid "This record indicates a process exit event."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1373 build/C/man2/perf_event_open.2:1401
+#, no-wrap
+msgid ""
+"struct {\n"
+" struct perf_event_header header;\n"
+" u32 pid, ppid;\n"
+" u32 tid, ptid;\n"
+" u64 time;\n"
+"};\n"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1375
+#, no-wrap
+msgid "B<PERF_RECORD_THROTTLE>, B<PERF_RECORD_UNTHROTTLE>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1378
+msgid "This record indicates a throttle/unthrottle event."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1387
+#, no-wrap
+msgid ""
+"struct {\n"
+" struct perf_event_header header;\n"
+" u64 time;\n"
+" u64 id;\n"
+" u64 stream_id;\n"
+"};\n"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1389
+#, fuzzy, no-wrap
+#| msgid "B<PTRACE_EVENT_FORK>"
+msgid "B<PERF_RECORD_FORK>"
+msgstr "B<PTRACE_EVENT_FORK>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1392
+msgid "This record indicates a fork event."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1403
+#, no-wrap
+msgid "B<PERF_RECORD_READ>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1406
+msgid "This record indicates a read event."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1414
+#, no-wrap
+msgid ""
+"struct {\n"
+" struct perf_event_header header;\n"
+" u32 pid, tid;\n"
+" struct read_format values;\n"
+"};\n"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1416
+#, no-wrap
+msgid "B<PERF_RECORD_SAMPLE>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1419
+msgid "This record indicates a sample."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1449
+#, no-wrap
+msgid ""
+"struct {\n"
+" struct perf_event_header header;\n"
+" u64 ip; /* if PERF_SAMPLE_IP */\n"
+" u32 pid, tid; /* if PERF_SAMPLE_TID */\n"
+" u64 time; /* if PERF_SAMPLE_TIME */\n"
+" u64 addr; /* if PERF_SAMPLE_ADDR */\n"
+" u64 id; /* if PERF_SAMPLE_ID */\n"
+" u64 stream_id; /* if PERF_SAMPLE_STREAM_ID */\n"
+" u32 cpu, res; /* if PERF_SAMPLE_CPU */\n"
+" u64 period; /* if PERF_SAMPLE_PERIOD */\n"
+" struct read_format v; /* if PERF_SAMPLE_READ */\n"
+" u64 nr; /* if PERF_SAMPLE_CALLCHAIN */\n"
+" u64 ips[nr]; /* if PERF_SAMPLE_CALLCHAIN */\n"
+" u32 size; /* if PERF_SAMPLE_RAW */\n"
+" char data[size]; /* if PERF_SAMPLE_RAW */\n"
+" u64 bnr; /* if PERF_SAMPLE_BRANCH_STACK */\n"
+" struct perf_branch_entry lbr[bnr];\n"
+" /* if PERF_SAMPLE_BRANCH_STACK */\n"
+" u64 abi; /* if PERF_SAMPLE_REGS_USER */\n"
+" u64 regs[weight(mask)];\n"
+" /* if PERF_SAMPLE_REGS_USER */\n"
+" u64 size; /* if PERF_SAMPLE_STACK_USER */\n"
+" char data[size]; /* if PERF_SAMPLE_STACK_USER */\n"
+" u64 dyn_size; /* if PERF_SAMPLE_STACK_USER */\n"
+" u64 weight; /* if PERF_SAMPLE_WEIGHT */\n"
+" u64 data_src; /* if PERF_SAMPLE_DATA_SRC */\n"
+"};\n"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1451
+#, no-wrap
+msgid "I<ip>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1457
+msgid ""
+"If B<PERF_SAMPLE_IP> is enabled, then a 64-bit instruction pointer value is "
+"included."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1457
+#, no-wrap
+msgid "I<pid>, I<tid>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1463
+msgid ""
+"If B<PERF_SAMPLE_TID> is enabled, then a 32-bit process ID and 32-bit thread "
+"ID are included."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1463
+#, no-wrap
+msgid "I<time>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1471
+msgid ""
+"If B<PERF_SAMPLE_TIME> is enabled, then a 64-bit timestamp is included. "
+"This is obtained via local_clock() which is a hardware timestamp if "
+"available and the jiffies value if not."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1471
+#, no-wrap
+msgid "I<addr>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1478
+msgid ""
+"If B<PERF_SAMPLE_ADDR> is enabled, then a 64-bit address is included. This "
+"is usually the address of a tracepoint, breakpoint, or software event; "
+"otherwise the value is 0."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1486
+msgid ""
+"If B<PERF_SAMPLE_ID> is enabled, a 64-bit unique ID is included. If the "
+"event is a member of an event group, the group leader ID is returned. This "
+"ID is the same as the one returned by B<PERF_FORMAT_ID>."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1486
+#, no-wrap
+msgid "I<stream_id>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1496
+msgid ""
+"If B<PERF_SAMPLE_STREAM_ID> is enabled, a 64-bit unique ID is included. "
+"Unlike B<PERF_SAMPLE_ID> the actual ID is returned, not the group leader. "
+"This ID is the same as the one returned by B<PERF_FORMAT_ID>."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1496
+#, no-wrap
+msgid "I<cpu>, I<res>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1503
+msgid ""
+"If B<PERF_SAMPLE_CPU> is enabled, this is a 32-bit value indicating which "
+"CPU was being used, in addition to a reserved (unused) 32-bit value."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1503
+#, no-wrap
+msgid "I<period>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1509
+msgid ""
+"If B<PERF_SAMPLE_PERIOD> is enabled, a 64-bit value indicating the current "
+"sampling period is written."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1509
+#, no-wrap
+msgid "I<v>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1520
+msgid ""
+"If B<PERF_SAMPLE_READ> is enabled, a structure of type read_format is "
+"included which has values for all events in the event group. The values "
+"included depend on the I<read_format> value used at B<perf_event_open>() "
+"time."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1520
+#, no-wrap
+msgid "I<nr>, I<ips[nr]>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1528
+msgid ""
+"If B<PERF_SAMPLE_CALLCHAIN> is enabled, then a 64-bit number is included "
+"which indicates how many following 64-bit instruction pointers will follow. "
+"This is the current callchain."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1528
+#, no-wrap
+msgid "I<size>, I<data[size]>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1535
+msgid ""
+"If B<PERF_SAMPLE_RAW> is enabled, then a 32-bit value indicating size is "
+"included followed by an array of 8-bit values of length size. The values "
+"are padded with 0 to have 64-bit alignment."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1540
+msgid ""
+"This RAW record data is opaque with respect to the ABI. The ABI doesn't "
+"make any promises with respect to the stability of its content, it may vary "
+"depending on event, hardware, and kernel version."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1540
+#, no-wrap
+msgid "I<bnr>, I<lbr[bnr]>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1551
+msgid ""
+"If B<PERF_SAMPLE_BRANCH_STACK> is enabled, then a 64-bit value indicating "
+"the number of records is included, followed by I<bnr> I<perf_branch_entry> "
+"structures. These structures have from, to, and flags values indicating the "
+"from and to addresses from the branches on the callstack."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1551
+#, no-wrap
+msgid "I<abi>, I<regs[weight(mask)]>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1556
+msgid ""
+"If B<PERF_SAMPLE_REGS_USER> is enabled, then the user CPU registers are "
+"recorded."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1562
+msgid ""
+"The I<abi> field is one of B<PERF_SAMPLE_REGS_ABI_NONE>, "
+"B<PERF_SAMPLE_REGS_ABI_32> or B<PERF_SAMPLE_REGS_ABI_64>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1572
+msgid ""
+"The I<regs> field is an array of the CPU registers that were specified by "
+"the I<sample_regs_user> attr field. The number of values is the number of "
+"bits set in the I<sample_regs_user> bitmask."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1572
+#, no-wrap
+msgid "I<size>, I<data[size]>, I<dyn_size>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1587
+msgid ""
+"If B<PERF_SAMPLE_STACK_USER> is enabled, then record the user stack to "
+"enable backtracing. I<size> is the size requested by the user in "
+"I<stack_user_size> or else the maximum record size. I<data> is the stack "
+"data. I<dyn_size> is the amount of data actually dumped (can be less than "
+"I<size> )."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1587
+#, no-wrap
+msgid "I<weight>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1595
+msgid ""
+"If B<PERF_SAMPLE_WEIGHT> is enabled, then a 64 bit value provided by the "
+"hardwre is recorded that indicates how costly the event was. This allows "
+"expensive events to stand out more clearly in profiles."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1595
+#, no-wrap
+msgid "I<data_src>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1601
+msgid ""
+"If B<PERF_SAMPLE_DATA_SRC> is enabled, then a 64 bit value is recorded that "
+"is made up of the following fields:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1602
+#, no-wrap
+msgid "I<mem_op>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1615
+msgid ""
+"type of opcode, a bitwise combination of B<PERF_MEM_OP_NA> (not available), "
+"B<PERF_MEM_OP_LOAD> (load instruction), B<PERF_MEM_OP_STORE> (store "
+"instruction), B<PERF_MEM_OP_PFETCH> (prefetch), and B<PERF_MEM_OP_EXEC> "
+"(executable code)."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1615
+#, no-wrap
+msgid "I<mem_lvl>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1646
+msgid ""
+"memory hierarchy level hit or miss, a bitwise combination of "
+"B<PERF_MEM_LVL_NA> (not available), B<PERF_MEM_LVL_HIT> (hit), "
+"B<PERF_MEM_LVL_MISS> (miss), B<PERF_MEM_LVL_L1> (level 1 cache), "
+"B<PERF_MEM_LVL_LFB> (line fill buffer), B<PERF_MEM_LVL_L2> (level 2 cache), "
+"B<PERF_MEM_LVL_L3> (level 3 cache), B<PERF_MEM_LVL_LOC_RAM> (local DRAM), "
+"B<PERF_MEM_LVL_REM_RAM1> (remote DRAM 1 hop), B<PERF_MEM_LVL_REM_RAM2> "
+"(remote DRAM 2 hops), B<PERF_MEM_LVL_REM_CCE1> (remote cache 1 hop), "
+"B<PERF_MEM_LVL_REM_CCE2> (remote Cache 2 hops), B<PERF_MEM_LVL_IO> (I/O "
+"memory), and B<PERF_MEM_LVL_UNC> (uncached memory)."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1646
+#, no-wrap
+msgid "I<mem_snoop>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1659
+msgid ""
+"snoop mode, a bitwise combination of B<PERF_MEM_SNOOP_NA> (not available), "
+"B<PERF_MEM_SNOOP_NONE> (no snoop), B<PERF_MEM_SNOOP_HIT> (snoop hit), "
+"B<PERF_MEM_SNOOP_MISS> (snoop miss), and B<PERF_MEM_SNOOP_HITM> (snoop hit "
+"modified)."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1659
+#, no-wrap
+msgid "I<mem_lock>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1666
+msgid ""
+"lock instruction, a bitwise combination of B<PERF_MEM_LOCK_NA> (not "
+"available) and B<PERF_MEM_LOCK_LOCKED> (locked transaction)."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1666
+#, no-wrap
+msgid "I<mem_dtlb>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1683
+msgid ""
+"tlb access hit or miss, a bitwise combination of B<PERF_MEM_TLB_NA> (not "
+"available), B<PERF_MEM_TLB_HIT> (hit), B<PERF_MEM_TLB_MISS> (miss), "
+"B<PERF_MEM_TLB_L1> (level 1 TLB), B<PERF_MEM_TLB_L2> (level 2 TLB), "
+"B<PERF_MEM_TLB_WK> (hardware walker), and B<PERF_MEM_TLB_OS> (OS fault "
+"handler)."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1686
+#, no-wrap
+msgid "I<misc>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1691
+msgid "The I<misc> field contains additional information about the sample."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1696
+msgid ""
+"The CPU mode can be determined from this value by masking with "
+"B<PERF_RECORD_MISC_CPUMODE_MASK> and looking for one of the following (note "
+"these are not bit masks, only one can be set at a time):"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1697
+#, no-wrap
+msgid "B<PERF_RECORD_MISC_CPUMODE_UNKNOWN>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1700
+msgid "Unknown CPU mode."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1700
+#, no-wrap
+msgid "B<PERF_RECORD_MISC_KERNEL>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1703
+msgid "Sample happened in the kernel."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1703
+#, no-wrap
+msgid "B<PERF_RECORD_MISC_USER>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1706
+msgid "Sample happened in user code."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1706
+#, no-wrap
+msgid "B<PERF_RECORD_MISC_HYPERVISOR>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1709
+msgid "Sample happened in the hypervisor."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1709
+#, no-wrap
+msgid "B<PERF_RECORD_MISC_GUEST_KERNEL>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1712
+msgid "Sample happened in the guest kernel."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1712
+#, no-wrap
+msgid "B<PERF_RECORD_MISC_GUEST_USER>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1715
+msgid "Sample happened in guest user code."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1718
+msgid "In addition, one of the following bits can be set:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1719
+#, fuzzy, no-wrap
+#| msgid "B<PERF_RECORD_EXIT>"
+msgid "B<PERF_RECORD_MISC_MMAP_DATA>"
+msgstr "B<PERF_RECORD_EXIT>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1723
+msgid ""
+"This is set when the mapping is not executable; otherwise the mapping is "
+"executable."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1723
+#, no-wrap
+msgid "B<PERF_RECORD_MISC_EXACT_IP>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1731
+msgid ""
+"This indicates that the content of B<PERF_SAMPLE_IP> points to the actual "
+"instruction that triggered the event. See also I<perf_event_attr."
+"precise_ip>."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1731
+#, no-wrap
+msgid "B<PERF_RECORD_MISC_EXT_RESERVED>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1734
+msgid "This indicates there is extended data available (currently not used)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1737
+msgid "This indicates the size of the record."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/perf_event_open.2:1738
+#, no-wrap
+msgid "Signal overflow"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1747
+msgid ""
+"Events can be set to deliver a signal when a threshold is crossed. The "
+"signal handler is set up using the B<poll>(2), B<select>(2), B<epoll>(2) "
+"and B<fcntl>(2), system calls."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1751
+msgid ""
+"To generate signals, sampling must be enabled (I<sample_period> must have a "
+"non-zero value)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1753
+msgid "There are two ways to generate signals."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1763
+msgid ""
+"The first is to set a I<wakeup_events> or I<wakeup_watermark> value that "
+"will generate a signal if a certain number of samples or bytes have been "
+"written to the mmap ring buffer. In this case a signal of type B<POLL_IN> "
+"is sent."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1775
+msgid ""
+"The other way is by use of the B<PERF_EVENT_IOC_REFRESH> ioctl. This ioctl "
+"adds to a counter that decrements each time the event overflows. When non-"
+"zero, a B<POLL_IN> signal is sent on overflow, but once the value reaches 0, "
+"a signal is sent of type B<POLL_HUP> and the underlying event is disabled."
+msgstr ""
+
+#. FIXME(Vince) : Find out when this was introduced
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1781
+msgid ""
+"Note: on newer kernels (definitely noticed with 3.2) a signal is provided "
+"for every overflow, even if I<wakeup_events> is not set."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/perf_event_open.2:1781
+#, no-wrap
+msgid "rdpmc instruction"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1788
+msgid ""
+"Starting with Linux 3.4 on x86, you can use the I<rdpmc> instruction to get "
+"low-latency reads without having to enter the kernel. Note that using "
+"I<rdpmc> is not necessarily faster than other methods for reading event "
+"values."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1793
+msgid ""
+"Support for this can be detected with the I<cap_usr_rdpmc> field in the mmap "
+"page; documentation on how to calculate event values can be found in that "
+"section."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/perf_event_open.2:1793
+#, no-wrap
+msgid "perf_event ioctl calls"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1798
+msgid "Various ioctls act on B<perf_event_open>() file descriptors"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1798
+#, fuzzy, no-wrap
+#| msgid "B<PTRACE_EVENT_CLONE>"
+msgid "B<PERF_EVENT_IOC_ENABLE>"
+msgstr "B<PTRACE_EVENT_CLONE>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1802
+msgid ""
+"Enables the individual event or event group specified by the file descriptor "
+"argument."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1807
+msgid ""
+"If the B<PERF_IOC_FLAG_GROUP> bit is set in the ioctl argument, then all "
+"events in a group are enabled, even if the event specified is not the group "
+"leader."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1807
+#, fuzzy, no-wrap
+#| msgid "B<PTRACE_EVENT_CLONE>"
+msgid "B<PERF_EVENT_IOC_DISABLE>"
+msgstr "B<PTRACE_EVENT_CLONE>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1811
+msgid ""
+"Disables the individual counter or event group specified by the file "
+"descriptor argument."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1818
+msgid ""
+"Enabling or disabling the leader of a group enables or disables the entire "
+"group; that is, while the group leader is disabled, none of the counters in "
+"the group will count. Enabling or disabling a member of a group other than "
+"the leader affects only that counter; disabling a non-leader stops that "
+"counter from counting but doesn't affect any other counter."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1823
+msgid ""
+"If the B<PERF_IOC_FLAG_GROUP> bit is set in the ioctl argument, then all "
+"events in a group are disabled, even if the event specified is not the group "
+"leader."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1823
+#, fuzzy, no-wrap
+#| msgid "B<PTRACE_EVENT_FORK>"
+msgid "B<PERF_EVENT_IOC_REFRESH>"
+msgstr "B<PTRACE_EVENT_FORK>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1837
+msgid ""
+"Non-inherited overflow counters can use this to enable a counter for a "
+"number of overflows specified by the argument, after which it is disabled. "
+"Subsequent calls of this ioctl add the argument value to the current count. "
+"A signal with B<POLL_IN> set will happen on each overflow until the count "
+"reaches 0; when that happens a signal with POLL_HUP set is sent and the "
+"event is disabled. Using an argument of 0 is considered undefined behavior."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1837
+#, fuzzy, no-wrap
+#| msgid "B<PTRACE_EVENT_FORK>"
+msgid "B<PERF_EVENT_IOC_RESET>"
+msgstr "B<PTRACE_EVENT_FORK>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1847
+msgid ""
+"Reset the event count specified by the file descriptor argumentto zero. "
+"This resets only the counts; there is no way to reset the multiplexing "
+"I<time_enabled> or I<time_running> values."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1852
+msgid ""
+"If the B<PERF_IOC_FLAG_GROUP> bit is set in the ioctl argument, then all "
+"events in a group are reset, even if the event specified is not the group "
+"leader."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1859
+msgid ""
+"If the B<PERF_IOC_FLAG_GROUP> bit is not set, then the behavior is somwhat "
+"unexpected: when sent to a group leader only the leader is reset (children "
+"are left alone); when sent to a child all events in a group are reset."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1859
+#, fuzzy, no-wrap
+#| msgid "B<PTRACE_EVENT_FORK>"
+msgid "B<PERF_EVENT_IOC_PERIOD>"
+msgstr "B<PTRACE_EVENT_FORK>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1863
+msgid ""
+"IOC_PERIOD is the command to update the period; it does not update the "
+"current period but instead defers until next."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1866
+msgid ""
+"The argument is a pointer to a 64-bit value containing the desired new "
+"period."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1866
+#, no-wrap
+msgid "B<PERF_EVENT_IOC_SET_OUTPUT>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1871
+msgid ""
+"This tells the kernel to report event notifications to the specified file "
+"descriptor rather than the default one. The file descriptors must all be on "
+"the same CPU."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1874
+msgid ""
+"The argument specifies the desired file descriptor, or -1 if output should "
+"be ignored."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1874
+#, fuzzy, no-wrap
+#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+msgid "B<PERF_EVENT_IOC_SET_FILTER> (Since Linux 2.6.33)"
+msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1877
+msgid "This adds an ftrace filter to this event."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1879
+msgid "The argument is a pointer to the desired ftrace filter."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/perf_event_open.2:1879
+#, no-wrap
+msgid "Using prctl"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1892
+msgid ""
+"A process can enable or disable all the event groups that are attached to it "
+"using the B<prctl>(2) B<PR_TASK_PERF_EVENTS_ENABLE> and "
+"B<PR_TASK_PERF_EVENTS_DISABLE> operations. This applies to all counters on "
+"the current process, whether created by this process or by another, and does "
+"not affect any counters that this process has created on other processes. "
+"It enables or disables only the group leaders, not any other members in the "
+"groups."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/perf_event_open.2:1892
+#, no-wrap
+msgid "perf_event related configuration files"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1895
+msgid "Files in I</proc/sys/kernel/>"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1896
+#, no-wrap
+msgid "I</proc/sys/kernel/perf_event_paranoid>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1902
+msgid ""
+"The I<perf_event_paranoid> file can be set to restrict access to the "
+"performance counters."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1904
+msgid "2 - only allow user-space measurements"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1906
+msgid "1 - (default) allow both kernel and user measurements"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1908
+msgid "0 - allow access to CPU-specific data but not raw tracepoint samples"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1910
+msgid "-1 - no restrictions"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1915
+msgid ""
+"The existence of the I<perf_event_paranoid> file is the official method for "
+"determining if a kernel supports B<perf_event_open>()."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1915
+#, no-wrap
+msgid "I</proc/sys/kernel/perf_event_max_sample_rate>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1924
+msgid ""
+"This sets the maximum sample rate. Setting this too high can allow users to "
+"sample at a rate that impacts overall machine performance and potentially "
+"lock up the machine. The default value is 100000 (samples per second)."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1924
+#, no-wrap
+msgid "I</proc/sys/kernel/perf_event_mlock_kb>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1929
+msgid ""
+"Maximum number of pages an unprivileged user can mlock (2) . The default is "
+"516 (kB)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1932
+msgid "Files in I</sys/bus/event_source/devices/>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1938
+msgid ""
+"Since Linux 2.6.34 the kernel supports having multiple PMUs available for "
+"monitoring. Information on how to program these PMUs can be found under I</"
+"sys/bus/event_source/devices/>. Each subdirectory corresponds to a "
+"different PMU."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1938
+#, no-wrap
+msgid "I</sys/bus/event_source/devices/*/type>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1943
+msgid ""
+"This contains an integer that can be used in the I<type> field of "
+"perf_event_attr to indicate you wish to use this PMU."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1943
+#, no-wrap
+msgid "I</sys/bus/event_source/devices/*/rdpmc>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1946 build/C/man2/perf_event_open.2:1963
+msgid "[To be documented]"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1946
+#, no-wrap
+msgid "I</sys/bus/event_source/devices/*/format/>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1951
+msgid ""
+"This sub-directory contains information on what bits in the I<config> field "
+"of perf_event_attr correspond to."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1951
+#, no-wrap
+msgid "I</sys/bus/event_source/devices/*/events/>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1960
+msgid ""
+"This sub-directory contains files with pre-defined events. The contents are "
+"strings describing the event settings expressed in terms of the fields found "
+"in the I<./format/> directory. These are not necessarily complete lists of "
+"all events supported by a PMU, but usually a subset of events deemed useful "
+"or interesting."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1960
+#, no-wrap
+msgid "I</sys/bus/event_source/devices/*/uevent>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1970
+msgid ""
+"B<perf_event_open>() returns the new file descriptor, or -1 if an error "
+"occurred (in which case, I<errno> is set appropriately)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1974
+msgid "Returned if the specified event is not available."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1974
+#, no-wrap
+msgid "B<ENOSPC>"
+msgstr "B<ENOSPC>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1984
+msgid ""
+"Prior to Linux 3.3, if there was not enough room for the event, B<ENOSPC> "
+"was returned. Linus did not like this, and this was changed to B<EINVAL>. "
+"B<ENOSPC> is still returned if you try to read results into too small of a "
+"buffer."
+msgstr ""
+
+#. type: SH
+#: build/C/man2/perf_event_open.2:1984
+#, no-wrap
+msgid "VERSION"
+msgstr "バージョン"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1989
+msgid ""
+"B<perf_event_open>() was introduced in Linux 2.6.31 but was called "
+"B<perf_counter_open>()B<.> It was renamed in Linux 2.6.32."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1994
+#, fuzzy
+#| msgid ""
+#| "B<personality>() is Linux-specific and should not be used in programs "
+#| "intended to be portable."
+msgid ""
+"This B<perf_event_open>() system call Linux- specific and should not be "
+"used in programs intended to be portable."
+msgstr ""
+"B<personality>() は Linux 固有であり、移植を意図したプログラムで使用すべきで"
+"はない。"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1998
+#, fuzzy
+#| msgid ""
+#| "Glibc does not provide a wrapper for this system call; call it using "
+#| "B<syscall>(2)."
+msgid ""
+"Glibc does not provide a wrapper for this system call; call it using "
+"B<syscall>(2). See the example below."
+msgstr ""
+"glibc はこのシステムコールに対するラッパー関数を提供していない。 B<syscall>"
+"(2) を使って呼び出すこと。"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2004
+msgid ""
+"The official way of knowing if B<perf_event_open>() support is enabled is "
+"checking for the existence of the file I</proc/sys/kernel/"
+"perf_event_paranoid>."
+msgstr ""
+
+#. type: SH
+#: build/C/man2/perf_event_open.2:2004 build/C/man2/pivot_root.2:134
+#: build/C/man2/ptrace.2:1811
+#, no-wrap
+msgid "BUGS"
+msgstr "バグ"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2011
+msgid ""
+"The B<F_SETOWN_EX> option to B<fcntl>(2) is needed to properly get overflow "
+"signals in threads. This was introduced in Linux 2.6.32."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2019
+msgid ""
+"Prior to Linux 2.6.33 (at least for x86) the kernel did not check if events "
+"could be scheduled together until read time. The same happens on all known "
+"kernels if the NMI watchdog is enabled. This means to see if a given set of "
+"events works you have to B<perf_event_open>(), start, then read before you "
+"know for sure you can get valid measurements."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2023
+msgid ""
+"Prior to Linux 2.6.34 event constraints were not enforced by the kernel. In "
+"that case, some events would silently return \"0\" if the kernel scheduled "
+"them in an improper counter slot."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2026
+msgid ""
+"Prior to Linux 2.6.34 there was a bug when multiplexing where the wrong "
+"results could be returned."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2029
+msgid ""
+"Kernels from Linux 2.6.35 to Linux 2.6.39 can quickly crash the kernel if "
+"\"inherit\" is enabled and many threads are started."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2033
+msgid ""
+"Prior to Linux 2.6.35, B<PERF_FORMAT_GROUP> did not work with attached "
+"processes."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2038
+msgid ""
+"In older Linux 2.6 versions, refreshing an event group leader refreshed all "
+"siblings, and refreshing with a parameter of 0 enabled infinite refresh. "
+"This behavior is unsupported and should not be relied on."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2044
+msgid ""
+"There is a bug in the kernel code between Linux 2.6.36 and Linux 3.0 that "
+"ignores the \"watermark\" field and acts as if a wakeup_event was chosen if "
+"the union has a non-zero value in it."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2049
+msgid ""
+"Always double-check your results! Various generalized events have had wrong "
+"values. For example, retired branches measured the wrong thing on AMD "
+"machines until Linux 2.6.35."
+msgstr ""
+
+#. type: SH
+#: build/C/man2/perf_event_open.2:2049 build/C/man2/process_vm_readv.2:295
+#: build/C/man2/splice.2:223 build/C/man2/tee.2:130
+#, no-wrap
+msgid "EXAMPLE"
+msgstr "例"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2053
+msgid ""
+"The following is a short example that measures the total instruction count "
+"of a call to B<printf>(3)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2062
+#, no-wrap
+msgid ""
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>sys/ioctl.hE<gt>\n"
+"#include E<lt>linux/perf_event.hE<gt>\n"
+"#include E<lt>asm/unistd.hE<gt>\n"
+msgstr ""
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>sys/ioctl.hE<gt>\n"
+"#include E<lt>linux/perf_event.hE<gt>\n"
+"#include E<lt>asm/unistd.hE<gt>\n"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2068
+#, no-wrap
+msgid ""
+"long\n"
+"perf_event_open(struct perf_event_attr *hw_event, pid_t pid,\n"
+" int cpu, int group_fd, unsigned long flags)\n"
+"{\n"
+" int ret;\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2073
+#, no-wrap
+msgid ""
+" ret = syscall(__NR_perf_event_open, hw_event, pid, cpu,\n"
+" group_fd, flags);\n"
+" return ret;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2080
+#, no-wrap
+msgid ""
+"int\n"
+"main(int argc, char **argv)\n"
+"{\n"
+" struct perf_event_attr pe;\n"
+" long long count;\n"
+" int fd;\n"
+msgstr ""
+"int\n"
+"main(int argc, char **argv)\n"
+"{\n"
+" struct perf_event_attr pe;\n"
+" long long count;\n"
+" int fd;\n"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2088
+#, no-wrap
+msgid ""
+" memset(&pe, 0, sizeof(struct perf_event_attr));\n"
+" pe.type = PERF_TYPE_HARDWARE;\n"
+" pe.size = sizeof(struct perf_event_attr);\n"
+" pe.config = PERF_COUNT_HW_INSTRUCTIONS;\n"
+" pe.disabled = 1;\n"
+" pe.exclude_kernel = 1;\n"
+" pe.exclude_hv = 1;\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2094
+#, no-wrap
+msgid ""
+" fd = perf_event_open(&pe, 0, -1, -1, 0);\n"
+" if (fd == -1) {\n"
+" fprintf(stderr, \"Error opening leader %llx\\en\", pe.config);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" fd = perf_event_open(&pe, 0, -1, -1, 0);\n"
+" if (fd == -1) {\n"
+" fprintf(stderr, \"Error opening leader %llx\\en\", pe.config);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2097
+#, no-wrap
+msgid ""
+" ioctl(fd, PERF_EVENT_IOC_RESET, 0);\n"
+" ioctl(fd, PERF_EVENT_IOC_ENABLE, 0);\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2099
+#, no-wrap
+msgid " printf(\"Measuring instruction count for this printf\\en\");\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2102
+#, no-wrap
+msgid ""
+" ioctl(fd, PERF_EVENT_IOC_DISABLE, 0);\n"
+" read(fd, &count, sizeof(long long));\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2104
+#, no-wrap
+msgid " printf(\"Used %lld instructions\\en\", count);\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2107
+#, no-wrap
+msgid ""
+" close(fd);\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2114
+msgid "B<fcntl>(2), B<mmap>(2), B<open>(2), B<prctl>(2), B<read>(2)"
+msgstr "B<fcntl>(2), B<mmap>(2), B<open>(2), B<prctl>(2), B<read>(2)"
+
+#. type: TH
+#: build/C/man2/perfmonctl.2:27
+#, no-wrap
+msgid "PERFMONCTL"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:30
+msgid "perfmonctl - interface to IA-64 performance monitoring unit"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:34
+#, no-wrap
+msgid ""
+"B<#include E<lt>syscall.hE<gt>>\n"
+"B<#include E<lt>perfmon.hE<gt>>\n"
+msgstr ""
+"B<#include E<lt>syscall.hE<gt>>\n"
+"B<#include E<lt>perfmon.hE<gt>>\n"
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:36
+#, no-wrap
+msgid "B<long perfmonctl(int >I<fd>B<, int >I<cmd>B<, void *>I<arg>B<, int >I<narg>B<);>\n"
+msgstr "B<long perfmonctl(int >I<fd>B<, int >I<cmd>B<, void *>I<arg>B<, int >I<narg>B<);>\n"
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:47
+msgid ""
+"The IA-64-specific B<perfmonctl>() system call provides an interface to the "
+"PMU (performance monitoring unit). The PMU consists of PMD (performance "
+"monitoring data) registers and PMC (performance monitoring control) "
+"registers, which gather hardware statistics."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:57
+msgid ""
+"B<perfmonctl>() applies the operation I<cmd> to the input arguments "
+"specified by I<arg>. The number of arguments is defined by I<narg>. The "
+"I<fd> argument specifies the perfmon context to operate on."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:61
+msgid "Supported values for I<cmd> are:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perfmonctl.2:61
+#, no-wrap
+msgid "B<PFM_CREATE_CONTEXT>"
+msgstr "B<PFM_CREATE_CONTEXT>"
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:65
+#, no-wrap
+msgid "B<perfmonctl(int >I<fd>B<, PFM_CREATE_CONTEXT, pfarg_context_t *>I<ctxt>B<, 1);>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:67
+msgid "Set up a context."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:74
+msgid ""
+"The I<fd> parameter is ignored. A new perfmon context is created as "
+"specified in I<ctxt> and its file descriptor is returned in I<ctxt-"
+"E<gt>ctx_fd>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:86
+msgid ""
+"The file descriptor can be used in subsequent calls to B<perfmonctl>() and "
+"can be used to read event notifications (type I<pfm_msg_t>) using B<read>"
+"(2). The file descriptor is pollable using B<select>(2), B<poll>(2), and "
+"B<epoll>(7)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:90
+msgid ""
+"The context can be destroyed by calling B<close>(2) on the file descriptor."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perfmonctl.2:90
+#, no-wrap
+msgid "B<PFM_WRITE_PMCS>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:95
+#, no-wrap
+msgid "B<perfmonctl(int >I<fd>B<, PFM_WRITE_PMCS, pfarg_reg_t *>I<pmcs>B<, n);>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:97
+msgid "Set PMC registers."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perfmonctl.2:97
+#, no-wrap
+msgid "B<PFM_WRITE_PMDS>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:101
+#, no-wrap
+msgid "B<perfmonctl(int >I<fd>B<, PFM_WRITE_PMDS, pfarg_reg_t *>I<pmds>B<, n);>\n"
+msgstr ""
+
+#. pfm_write_pmds()
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:104
+msgid "Set PMD registers."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perfmonctl.2:104
+#, no-wrap
+msgid "B<PFM_READ_PMDS>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:109
+#, no-wrap
+msgid "B<perfmonctl(int >I<fd>B<, PFM_READ_PMDS, pfarg_reg_t *>I<pmds>B<, n);>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:111
+msgid "Read PMD registers."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perfmonctl.2:111
+#, no-wrap
+msgid "B<PFM_START>"
+msgstr ""
+
+#. .BI "perfmonctl(int " fd ", PFM_START, arg, 1);
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:117
+#, no-wrap
+msgid "B<perfmonctl(int >I<fd>B<, PFM_START, NULL, 0);>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:119
+msgid "Start monitoring."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perfmonctl.2:119
+#, no-wrap
+msgid "B<PFM_STOP>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:124
+#, no-wrap
+msgid "B<perfmonctl(int >I<fd>B<, PFM_STOP, NULL, 0);>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:126
+msgid "Stop monitoring."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perfmonctl.2:126
+#, no-wrap
+msgid "B<PFM_LOAD_CONTEXT>"
+msgstr "B<PFM_LOAD_CONTEXT>"
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:131
+#, no-wrap
+msgid "B<perfmonctl(int >I<fd>B<, PFM_LOAD_CONTEXT, pfarg_load_t *>I<largs>B<, 1);>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:133
+msgid "Attach the context to a thread."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perfmonctl.2:133
+#, no-wrap
+msgid "B<PFM_UNLOAD_CONTEXT>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:138
+#, no-wrap
+msgid "B<perfmonctl(int >I<fd>B<, PFM_UNLOAD_CONTEXT, NULL, 0);>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:140
+msgid "Detach the context from a thread."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perfmonctl.2:140
+#, no-wrap
+msgid "B<PFM_RESTART>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:145
+#, no-wrap
+msgid "B<perfmonctl(int >I<fd>B<, PFM_RESTART, NULL, 0);>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:147
+msgid "Restart monitoring after receiving an overflow notification."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perfmonctl.2:147
+#, no-wrap
+msgid "B<PFM_GET_FEATURES>"
+msgstr "B<PFM_GET_FEATURES>"
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:152
+#, no-wrap
+msgid "B<perfmonctl(int >I<fd>B<, PFM_GET_FEARURES, pfarg_features_t *>I<arg>B<, 1);>\n"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perfmonctl.2:153
+#, no-wrap
+msgid "B<PFM_DEBUG>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:158
+#, no-wrap
+msgid "B<perfmonctl(int >I<fd>B<, PFM_DEBUG, >I<val>B<, 0);>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:162
+msgid "If I<val> is nonzero, enable debugging mode, otherwise disable."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perfmonctl.2:162
+#, no-wrap
+msgid "B<PFM_GET_PMC_RESET_VAL>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:167
+#, no-wrap
+msgid "B<perfmonctl(int >I<fd>B<, PFM_GET_PMC_RESET_VAL, pfarg_reg_t * >I<req>B<, n);>\n"
+msgstr ""
+
+#
+#
+#
+#. .TP
+#. .B PFM_CREATE_EVTSETS
+#. create or modify event sets
+#. .nf
+#. .BI "perfmonctl(int " fd ", PFM_CREATE_EVTSETS, pfarg_setdesc_t *desc , n);
+#. .fi
+#. .TP
+#. .B PFM_DELETE_EVTSETS
+#. delete event sets
+#. .nf
+#. .BI "perfmonctl(int " fd ", PFM_DELETE_EVTSET, pfarg_setdesc_t *desc , n);
+#. .fi
+#. .TP
+#. .B PFM_GETINFO_EVTSETS
+#. get information about event sets
+#. .nf
+#. .BI "perfmonctl(int " fd ", PFM_GETINFO_EVTSETS, pfarg_setinfo_t *info, n);
+#. .fi
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:190
+msgid "Reset PMC registers to default values."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:196
+#, fuzzy
+#| msgid ""
+#| "On success, B<kexec_load>() returns 0. On error, -1 is returned and "
+#| "I<errno> is set to indicate the error."
+msgid ""
+"B<performctl>() returns zero when the operation is successful. On error, "
+"-1 is returned and I<errno> is set to indicate the cause of the error."
+msgstr ""
+"成功すると、 B<kexec_load> は 0 を返す。\n"
+"エラーの場合、 -1 が返り、 I<errno> にエラーを示す値が設定される。"
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:199
+#, fuzzy
+#| msgid "B<pivot_root>() was introduced in Linux 2.3.41."
+msgid "B<perfmonctl>() is available since Linux 2.4."
+msgstr "B<pivot_root>() は Linux 2.3.41 で導入された。"
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:202
+msgid ""
+"B<perfmonctl>() is Linux specific and is available only on the IA-64 "
+"architecture."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:207
+msgid "B<gprof>(1)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perfmonctl.2:209
+msgid "The perfmon2 interface specification"
+msgstr ""
+
+#. type: TH
+#: build/C/man2/personality.2:32
+#, no-wrap
+msgid "PERSONALITY"
+msgstr "PERSONALITY"
+
+#. type: TH
+#: build/C/man2/personality.2:32
+#, no-wrap
+msgid "2003-01-01"
+msgstr "2003-01-01"
+
+#. type: Plain text
+#: build/C/man2/personality.2:35
+msgid "personality - set the process execution domain"
+msgstr "personality - プロセスを実行するドメインを設定する"