msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2013-04-30 20:29+0900\n"
-"PO-Revision-Date: 2013-05-04 22:18+0900\n"
+"POT-Creation-Date: 2013-09-28 04:05+0900\n"
+"PO-Revision-Date: 2013-08-16 14:23+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"The B<arch_prctl>() function sets architecture-specific process or thread "
"state. I<code> selects a subfunction and passes argument I<addr> to it; "
"I<addr> is interpreted as either an I<unsigned long> for the \"set\" "
-"operations, or as an I<unsigned long *>, for the \"get\" operations."
+"operations, or as an I<unsigned long\\ *>, for the \"get\" operations."
msgstr ""
"B<arch_prctl>() 関数はアーキテクチャ固有のプロセス状態またはスレッド状態を設"
"定する。 I<code> は副機能を選択し、引き数 I<addr> を副機能に渡す。 I<addr> "
"は、\"set\" 操作では I<unsigned long> として、\"get\" 操作では I<unsigned "
-"long *> として解釈される。"
+"long\\ *> として解釈される。"
#. type: Plain text
#: build/C/man2/arch_prctl.2:54
"I<unsigned long> の領域に格納する。"
#. type: SH
-#: build/C/man2/arch_prctl.2:82 build/C/man2/futex.2:209
+#: build/C/man2/arch_prctl.2:82 build/C/man2/futex.2:214
#: build/C/man2/get_robust_list.2:77 build/C/man2/getunwind.2:81
#: build/C/man2/kexec_load.2:114 build/C/man2/lookup_dcookie.2:43
-#: build/C/man2/modify_ldt.2:98 build/C/man2/nfsservctl.2:51
-#: build/C/man2/pciconfig_read.2:50 build/C/man2/perf_event_open.2:1804
+#: build/C/man2/modify_ldt.2:98 build/C/man2/nfsservctl.2:53
+#: build/C/man2/pciconfig_read.2:50 build/C/man2/perf_event_open.2:2116
#: build/C/man2/perfmonctl.2:190 build/C/man2/personality.2:57
#: build/C/man2/pivot_root.2:101 build/C/man2/process_vm_readv.2:209
-#: build/C/man2/ptrace.2:1714 build/C/man2/quotactl.2:419
+#: build/C/man2/ptrace.2:1780 build/C/man2/quotactl.2:419
#: build/C/man2/sendfile.2:108 build/C/man2/set_tid_address.2:88
-#: build/C/man2/splice.2:127 build/C/man2/tee.2:85 build/C/man2/vm86.2:52
+#: build/C/man2/splice.2:127 build/C/man2/tee.2:85 build/C/man2/vm86.2:54
#: build/C/man2/vmsplice.2:113
#, no-wrap
msgid "RETURN VALUE"
"I<errno> をエラーを示す値に設定する。"
#. type: SH
-#: build/C/man2/arch_prctl.2:88 build/C/man2/futex.2:234
+#: build/C/man2/arch_prctl.2:88 build/C/man2/futex.2:239
#: build/C/man2/get_robust_list.2:84 build/C/man2/getunwind.2:88
#: build/C/man2/kexec_load.2:121 build/C/man2/lookup_dcookie.2:50
#: build/C/man2/modify_ldt.2:108 build/C/man2/pciconfig_read.2:77
-#: build/C/man2/perf_event_open.2:1810 build/C/man2/personality.2:64
+#: build/C/man2/perf_event_open.2:2122 build/C/man2/personality.2:64
#: build/C/man2/pivot_root.2:105 build/C/man2/process_vm_readv.2:229
-#: build/C/man2/ptrace.2:1728 build/C/man2/quotactl.2:427
+#: build/C/man2/ptrace.2:1801 build/C/man2/quotactl.2:427
#: build/C/man2/sendfile.2:115 build/C/man2/set_tid_address.2:91
-#: build/C/man2/splice.2:142 build/C/man2/tee.2:100 build/C/man2/vm86.2:57
+#: build/C/man2/splice.2:142 build/C/man2/tee.2:100 build/C/man2/vm86.2:59
#: build/C/man2/vmsplice.2:122
#, no-wrap
msgid "ERRORS"
msgstr "エラー"
#. type: TP
-#: build/C/man2/arch_prctl.2:89 build/C/man2/futex.2:249
+#: build/C/man2/arch_prctl.2:89 build/C/man2/futex.2:254
#: build/C/man2/get_robust_list.2:111 build/C/man2/lookup_dcookie.2:51
#: build/C/man2/modify_ldt.2:109 build/C/man2/process_vm_readv.2:251
-#: build/C/man2/process_vm_readv.2:256 build/C/man2/ptrace.2:1732
+#: build/C/man2/process_vm_readv.2:256 build/C/man2/ptrace.2:1805
#: build/C/man2/quotactl.2:428 build/C/man2/sendfile.2:125
-#: build/C/man2/vm86.2:58
+#: build/C/man2/vm86.2:60
#, no-wrap
msgid "B<EFAULT>"
msgstr "B<EFAULT>"
"にある。"
#. type: TP
-#: build/C/man2/arch_prctl.2:93 build/C/man2/futex.2:261
+#: build/C/man2/arch_prctl.2:93 build/C/man2/futex.2:266
#: build/C/man2/get_robust_list.2:88 build/C/man2/kexec_load.2:126
#: build/C/man2/lookup_dcookie.2:54 build/C/man2/modify_ldt.2:113
-#: build/C/man2/pciconfig_read.2:78 build/C/man2/perf_event_open.2:1811
+#: build/C/man2/pciconfig_read.2:78 build/C/man2/perf_event_open.2:2123
#: build/C/man2/personality.2:65 build/C/man2/pivot_root.2:114
#: build/C/man2/process_vm_readv.2:230 build/C/man2/process_vm_readv.2:241
-#: build/C/man2/process_vm_readv.2:245 build/C/man2/ptrace.2:1743
+#: build/C/man2/process_vm_readv.2:245 build/C/man2/ptrace.2:1816
#: build/C/man2/quotactl.2:434 build/C/man2/quotactl.2:501
#: build/C/man2/sendfile.2:128 build/C/man2/splice.2:147
#: build/C/man2/tee.2:101 build/C/man2/vmsplice.2:127
#: build/C/man2/arch_prctl.2:97 build/C/man2/get_robust_list.2:98
#: build/C/man2/kexec_load.2:133 build/C/man2/lookup_dcookie.2:65
#: build/C/man2/pciconfig_read.2:105 build/C/man2/pivot_root.2:120
-#: build/C/man2/process_vm_readv.2:267 build/C/man2/ptrace.2:1753
-#: build/C/man2/quotactl.2:456 build/C/man2/vm86.2:66
+#: build/C/man2/process_vm_readv.2:267 build/C/man2/ptrace.2:1826
+#: build/C/man2/quotactl.2:456 build/C/man2/vm86.2:68
#, no-wrap
msgid "B<EPERM>"
msgstr "B<EPERM>"
msgstr "I<addr> がプロセスのアドレス空間の外にある。"
#. type: SH
-#: build/C/man2/arch_prctl.2:103 build/C/man2/futex.2:296
+#: build/C/man2/arch_prctl.2:103 build/C/man2/futex.2:301
#: build/C/man2/getunwind.2:96 build/C/man2/kexec_load.2:142
#: build/C/man2/lookup_dcookie.2:78 build/C/man2/modify_ldt.2:130
-#: build/C/man2/nfsservctl.2:56 build/C/man2/outb.2:87
-#: build/C/man2/pciconfig_read.2:110 build/C/man2/perf_event_open.2:1829
+#: build/C/man2/nfsservctl.2:58 build/C/man2/outb.2:87
+#: build/C/man2/pciconfig_read.2:112 build/C/man2/perf_event_open.2:2141
#: build/C/man2/perfmonctl.2:199 build/C/man2/personality.2:68
#: build/C/man2/pivot_root.2:128 build/C/man2/process_vm_readv.2:279
-#: build/C/man2/ptrace.2:1771 build/C/man2/sendfile.2:148
+#: build/C/man2/ptrace.2:1844 build/C/man2/sendfile.2:148
#: build/C/man2/set_tid_address.2:97 build/C/man2/splice.2:170
-#: build/C/man2/tee.2:119 build/C/man2/vm86.2:71 build/C/man2/vmsplice.2:143
+#: build/C/man2/tee.2:119 build/C/man2/vm86.2:73 build/C/man2/vmsplice.2:143
#, no-wrap
msgid "CONFORMING TO"
msgstr "準拠"
"うべきでない。"
#. type: SH
-#: build/C/man2/arch_prctl.2:107 build/C/man2/futex.2:298
+#: build/C/man2/arch_prctl.2:107 build/C/man2/futex.2:303
#: build/C/man2/get_robust_list.2:119 build/C/man2/getunwind.2:99
#: build/C/man2/kexec_load.2:144 build/C/man2/lookup_dcookie.2:81
-#: build/C/man2/modify_ldt.2:133 build/C/man2/perf_event_open.2:1834
+#: build/C/man2/modify_ldt.2:133 build/C/man2/perf_event_open.2:2146
#: build/C/man2/perfmonctl.2:202 build/C/man2/pivot_root.2:131
-#: build/C/man2/process_vm_readv.2:281 build/C/man2/ptrace.2:1773
+#: build/C/man2/process_vm_readv.2:281 build/C/man2/ptrace.2:1846
#: build/C/man2/sendfile.2:155 build/C/man2/splice.2:172
#: build/C/man2/tee.2:121 build/C/man2/vmsplice.2:145
#, no-wrap
msgstr "I<FS> はスレッドライブラリで既に使われているかもしれない。"
#. type: SH
-#: build/C/man2/arch_prctl.2:138 build/C/man2/futex.2:312
+#: build/C/man2/arch_prctl.2:138 build/C/man2/futex.2:317
#: build/C/man2/get_robust_list.2:128 build/C/man2/getunwind.2:111
#: build/C/man2/kexec_load.2:159 build/C/man2/modify_ldt.2:136
-#: build/C/man2/outb.2:96 build/C/man2/pciconfig_read.2:112
-#: build/C/man2/perf_event_open.2:1948 build/C/man2/perfmonctl.2:205
+#: build/C/man2/outb.2:96 build/C/man2/pciconfig_read.2:114
+#: build/C/man2/perf_event_open.2:2266 build/C/man2/perfmonctl.2:205
#: build/C/man2/pivot_root.2:143 build/C/man2/process_vm_readv.2:331
-#: build/C/man2/ptrace.2:1927 build/C/man2/quotactl.2:507
+#: build/C/man2/ptrace.2:2000 build/C/man2/quotactl.2:507
#: build/C/man2/sendfile.2:197 build/C/man2/set_tid_address.2:99
#: build/C/man2/splice.2:226 build/C/man2/tee.2:197
#: build/C/man2/vmsplice.2:154
msgstr "AMD X86-64 Programmer's manual"
#. type: SH
-#: build/C/man2/arch_prctl.2:145 build/C/man2/futex.2:325
+#: build/C/man2/arch_prctl.2:145 build/C/man2/futex.2:331
#: build/C/man2/get_robust_list.2:137 build/C/man2/getunwind.2:113
#: build/C/man2/kexec_load.2:162 build/C/man2/lookup_dcookie.2:88
-#: build/C/man2/modify_ldt.2:138 build/C/man2/nfsservctl.2:58
-#: build/C/man2/outb.2:99 build/C/man2/pciconfig_read.2:114
-#: build/C/man2/perf_event_open.2:1954 build/C/man2/perfmonctl.2:209
+#: build/C/man2/modify_ldt.2:138 build/C/man2/nfsservctl.2:60
+#: build/C/man2/outb.2:99 build/C/man2/pciconfig_read.2:116
+#: build/C/man2/perf_event_open.2:2272 build/C/man2/perfmonctl.2:209
#: build/C/man2/personality.2:72 build/C/man2/pivot_root.2:149
-#: build/C/man2/process_vm_readv.2:334 build/C/man2/ptrace.2:1941
+#: build/C/man2/process_vm_readv.2:334 build/C/man2/ptrace.2:2014
#: build/C/man2/quotactl.2:512 build/C/man2/sendfile.2:203
#: build/C/man2/set_tid_address.2:102 build/C/man2/splice.2:230
-#: build/C/man2/tee.2:200 build/C/man2/vm86.2:74 build/C/man2/vmsplice.2:157
+#: build/C/man2/tee.2:200 build/C/man2/vm86.2:76 build/C/man2/vmsplice.2:157
#, no-wrap
msgid "COLOPHON"
msgstr "この文書について"
#. type: Plain text
-#: build/C/man2/arch_prctl.2:152 build/C/man2/futex.2:332
+#: build/C/man2/arch_prctl.2:152 build/C/man2/futex.2:338
#: build/C/man2/get_robust_list.2:144 build/C/man2/getunwind.2:120
#: build/C/man2/kexec_load.2:169 build/C/man2/lookup_dcookie.2:95
-#: build/C/man2/modify_ldt.2:145 build/C/man2/nfsservctl.2:65
-#: build/C/man2/outb.2:106 build/C/man2/pciconfig_read.2:121
-#: build/C/man2/perf_event_open.2:1961 build/C/man2/perfmonctl.2:216
+#: build/C/man2/modify_ldt.2:145 build/C/man2/nfsservctl.2:67
+#: build/C/man2/outb.2:106 build/C/man2/pciconfig_read.2:123
+#: build/C/man2/perf_event_open.2:2279 build/C/man2/perfmonctl.2:216
#: build/C/man2/personality.2:79 build/C/man2/pivot_root.2:156
-#: build/C/man2/process_vm_readv.2:341 build/C/man2/ptrace.2:1948
+#: build/C/man2/process_vm_readv.2:341 build/C/man2/ptrace.2:2021
#: build/C/man2/quotactl.2:519 build/C/man2/sendfile.2:210
#: build/C/man2/set_tid_address.2:109 build/C/man2/splice.2:237
-#: build/C/man2/tee.2:207 build/C/man2/vm86.2:81 build/C/man2/vmsplice.2:164
+#: build/C/man2/tee.2:207 build/C/man2/vm86.2:83 build/C/man2/vmsplice.2:164
+#, fuzzy
+#| msgid ""
+#| "This page is part of release 3.53 of the Linux I<man-pages> project. A "
+#| "description of the project, and information about reporting bugs, can be "
+#| "found at \\%http://www.kernel.org/doc/man-pages/."
msgid ""
-"This page is part of release 3.51 of the Linux I<man-pages> project. A "
+"This page is part of release 3.54 of the Linux I<man-pages> project. A "
"description of the project, and information about reporting bugs, can be "
-"found at http://www.kernel.org/doc/man-pages/."
+"found at \\%http://www.kernel.org/doc/man-pages/."
msgstr ""
-"この man ページは Linux I<man-pages> プロジェクトのリリース 3.51 の一部\n"
+"この man ページは Linux I<man-pages> プロジェクトのリリース 3.53 の一部\n"
"である。プロジェクトの説明とバグ報告に関する情報は\n"
"http://www.kernel.org/doc/man-pages/ に書かれている。"
#. type: TH
#: build/C/man2/futex.2:53
-#, no-wrap
-msgid "2013-03-15"
-msgstr "2013-03-15"
+#, fuzzy, no-wrap
+#| msgid "2013-07-30"
+msgid "2013-09-04"
+msgstr "2013-07-30"
#. type: Plain text
#: build/C/man2/futex.2:56
msgstr "現在のところ 5 つの操作が定義されている:"
#. type: TP
-#: build/C/man2/futex.2:108 build/C/man2/futex.2:216
+#: build/C/man2/futex.2:108 build/C/man2/futex.2:221
#, no-wrap
msgid "B<FUTEX_WAIT>"
msgstr "B<FUTEX_WAIT>"
#. type: Plain text
-#: build/C/man2/futex.2:126
+#: build/C/man2/futex.2:131
+#, fuzzy
+#| msgid ""
+#| "This operation atomically verifies that the futex address I<uaddr> still "
+#| "contains the value I<val>, and sleeps awaiting B<FUTEX_WAKE> on this "
+#| "futex address. If the I<timeout> argument is non-NULL, its contents "
+#| "describe the minimum duration of the wait, which is infinite otherwise. "
+#| "The arguments I<uaddr2> and I<val3> are ignored."
msgid ""
"This operation atomically verifies that the futex address I<uaddr> still "
"contains the value I<val>, and sleeps awaiting B<FUTEX_WAKE> on this futex "
-"address. If the I<timeout> argument is non-NULL, its contents describe the "
-"minimum duration of the wait, which is infinite otherwise. The arguments "
-"I<uaddr2> and I<val3> are ignored."
+"address. If the I<timeout> argument is non-NULL, its contents specify the "
+"duration of the wait. (This interval will be rounded up to the system clock "
+"granularity, and kernel scheduling delays mean that the blocking interval "
+"may overrun by a small amount.) If I<timeout> is NULL, the call blocks "
+"indefinitely. The arguments I<uaddr2> and I<val3> are ignored."
msgstr ""
"この操作は futex アドレス I<uaddr> に指定された値 I<val> がまだ格納されている"
"かどうかを不可分操作で検証し、 sleep 状態で この futex アドレスに対して "
"I<uaddr2> と I<val3> は無視される。"
#. type: Plain text
-#: build/C/man2/futex.2:134
+#: build/C/man2/futex.2:139
msgid ""
"For B<futex>(7), this call is executed if decrementing the count gave a "
"negative value (indicating contention), and will sleep until another process "
"B<FUTEX_WAKE> の操作を実行するまで sleep する。"
#. type: TP
-#: build/C/man2/futex.2:134 build/C/man2/futex.2:222
+#: build/C/man2/futex.2:139 build/C/man2/futex.2:227
#, no-wrap
msgid "B<FUTEX_WAKE>"
msgstr "B<FUTEX_WAKE>"
#. type: Plain text
-#: build/C/man2/futex.2:145
+#: build/C/man2/futex.2:150
msgid ""
"This operation wakes at most I<val> processes waiting on this futex address "
"(i.e., inside B<FUTEX_WAIT>). The arguments I<timeout>, I<uaddr2> and "
"I<timeout>, I<uaddr2>, I<val3> は無視される。"
#. type: Plain text
-#: build/C/man2/futex.2:151
+#: build/C/man2/futex.2:156
msgid ""
"For B<futex>(7), this is executed if incrementing the count showed that "
"there were waiters, once the futex value has been set to 1 (indicating that "
"場合に実行される。"
#. type: TP
-#: build/C/man2/futex.2:151
+#: build/C/man2/futex.2:156
#, no-wrap
msgid "B<FUTEX_FD> (present up to and including Linux 2.6.25)"
msgstr "B<FUTEX_FD> (Linux 2.6.25 以前)"
#. , suitable for .BR poll (2).
#. type: Plain text
-#: build/C/man2/futex.2:167
+#: build/C/man2/futex.2:172
msgid ""
"To support asynchronous wakeups, this operation associates a file descriptor "
"with a futex. If another process executes a B<FUTEX_WAKE>, the process will "
"I<uaddr2>, I<val3> は無視される。"
#. type: Plain text
-#: build/C/man2/futex.2:172
+#: build/C/man2/futex.2:177
msgid ""
"To prevent race conditions, the caller should test if the futex has been "
"upped after B<FUTEX_FD> returns."
"up されたかどうかを確認しなければならない。"
#. type: Plain text
-#: build/C/man2/futex.2:176
+#: build/C/man2/futex.2:181
msgid ""
"Because it was inherently racy, B<FUTEX_FD> has been removed from Linux "
"2.6.26 onward."
"ている。"
#. type: TP
-#: build/C/man2/futex.2:176
+#: build/C/man2/futex.2:181
#, no-wrap
msgid "B<FUTEX_REQUEUE> (since Linux 2.5.70)"
msgstr "B<FUTEX_REQUEUE> (Linux 2.5.70 以降)"
#. type: Plain text
-#: build/C/man2/futex.2:191
+#: build/C/man2/futex.2:196
msgid ""
"This operation was introduced in order to avoid a \"thundering herd\" effect "
"when B<FUTEX_WAKE> is used and all processes woken up need to acquire "
"キューにいれる。 引き数 I<timeout> と I<val3> は無視される。"
#. type: TP
-#: build/C/man2/futex.2:191
+#: build/C/man2/futex.2:196
#, no-wrap
msgid "B<FUTEX_CMP_REQUEUE> (since Linux 2.6.7)"
msgstr "B<FUTEX_CMP_REQUEUE> (Linux 2.6.7 以降)"
#. type: Plain text
-#: build/C/man2/futex.2:209
+#: build/C/man2/futex.2:214
msgid ""
"There was a race in the intended use of B<FUTEX_REQUEUE>, so "
"B<FUTEX_CMP_REQUEUE> was introduced. This is similar to B<FUTEX_REQUEUE>, "
"作はエラー B<EAGAIN> で失敗する。引き数 I<timeout> は無視される。"
#. type: Plain text
-#: build/C/man2/futex.2:216
+#: build/C/man2/futex.2:221
msgid ""
"In the event of an error, all operations return -1, and set I<errno> to "
"indicate the error. The return value on success depends on the operation, "
"as described in the following list:"
-msgstr "エラーの場合、全ての操作で -1 が返り、 I<errno> がエラーの内容を示す値に設定される。成功時の返り値は操作によって異なり、以下のリストに書かれている通りである。"
+msgstr ""
+"エラーの場合、全ての操作で -1 が返り、 I<errno> がエラーの内容を示す値に設定"
+"される。成功時の返り値は操作によって異なり、以下のリストに書かれている通りで"
+"ある。"
#. type: Plain text
-#: build/C/man2/futex.2:222
+#: build/C/man2/futex.2:227
msgid ""
"Returns 0 if the process was woken by a B<FUTEX_WAKE> call. See ERRORS for "
"the various possible error returns."
-msgstr "そのプロセスが B<FUTEX_WAKE> により wake された場合 0 を返す。発生する可能性があるエラーについては「エラー」の節を参照。"
+msgstr ""
+"そのプロセスが B<FUTEX_WAKE> により wake された場合 0 を返す。発生する可能性"
+"があるエラーについては「エラー」の節を参照。"
#. type: Plain text
-#: build/C/man2/futex.2:225 build/C/man2/futex.2:231 build/C/man2/futex.2:234
+#: build/C/man2/futex.2:230 build/C/man2/futex.2:236 build/C/man2/futex.2:239
msgid "Returns the number of processes woken up."
msgstr "wake したプロセスの数を返す。"
#. type: TP
-#: build/C/man2/futex.2:225
+#: build/C/man2/futex.2:230
#, no-wrap
msgid "B<FUTEX_FD>"
msgstr "B<FUTEX_FD>"
#. type: Plain text
-#: build/C/man2/futex.2:228
+#: build/C/man2/futex.2:233
msgid "Returns the new file descriptor associated with the futex."
msgstr "futex に関連づけられた新たなファイルディスクリプタを返す。"
#. type: TP
-#: build/C/man2/futex.2:228
+#: build/C/man2/futex.2:233
#, no-wrap
msgid "B<FUTEX_REQUEUE>"
msgstr "B<FUTEX_REQUEUE>"
#. type: TP
-#: build/C/man2/futex.2:231
+#: build/C/man2/futex.2:236
#, no-wrap
msgid "B<FUTEX_CMP_REQUEUE>"
msgstr "B<FUTEX_CMP_REQUEUE>"
#. type: TP
-#: build/C/man2/futex.2:235 build/C/man2/quotactl.2:486
+#: build/C/man2/futex.2:240 build/C/man2/quotactl.2:486
#, no-wrap
msgid "B<EACCES>"
msgstr "B<EACCES>"
#. type: Plain text
-#: build/C/man2/futex.2:238
+#: build/C/man2/futex.2:243
msgid "No read access to futex memory."
msgstr "futex メモリに読み込みアクセス権がなかった。"
#. type: TP
-#: build/C/man2/futex.2:238 build/C/man2/sendfile.2:116
+#: build/C/man2/futex.2:243 build/C/man2/sendfile.2:116
#, no-wrap
msgid "B<EAGAIN>"
msgstr "B<EAGAIN>"
#. type: Plain text
-#: build/C/man2/futex.2:249
+#: build/C/man2/futex.2:254
msgid ""
"B<FUTEX_CMP_REQUEUE> detected that the value pointed to by I<uaddr> is not "
"equal to the expected value I<val3>. (This probably indicates a race; use "
"the safe B<FUTEX_WAKE> now.)"
-msgstr "B<FUTEX_CMP_REQUEUE> で、I<uaddr> が指す値が期待値 I<val3> と異なる状況が検出された。 (これは競合を示しているかもしれない。この場合は安全な B<FUTEX_WAKE> を使うこと。)"
+msgstr ""
+"B<FUTEX_CMP_REQUEUE> で、I<uaddr> が指す値が期待値 I<val3> と異なる状況が検出"
+"された。 (これは競合を示しているかもしれない。この場合は安全な B<FUTEX_WAKE> "
+"を使うこと。)"
#. type: Plain text
-#: build/C/man2/futex.2:254
+#: build/C/man2/futex.2:259
msgid "Error retrieving I<timeout> information from user space."
msgstr "ユーザ空間から I<timeout> の情報を取得する際にエラーが発生した。"
#. type: TP
-#: build/C/man2/futex.2:254
+#: build/C/man2/futex.2:259
#, no-wrap
msgid "B<EINTR>"
msgstr "B<EINTR>"
#. type: Plain text
-#: build/C/man2/futex.2:261
+#: build/C/man2/futex.2:266
msgid ""
"A B<FUTEX_WAIT> operation was interrupted by a signal (see B<signal>(7)) or "
"a spurious wakeup."
-msgstr "B<FUTEX_WAIT> 操作がシグナル (B<signal>(7) 参照) もしくは偽の wakeup により中断された。"
+msgstr ""
+"B<FUTEX_WAIT> 操作がシグナル (B<signal>(7) 参照) もしくは偽の wakeup により中"
+"断された。"
#. type: Plain text
-#: build/C/man2/futex.2:264
+#: build/C/man2/futex.2:269
msgid "Invalid argument."
msgstr "無効な引き数。"
#. type: TP
-#: build/C/man2/futex.2:264
+#: build/C/man2/futex.2:269
#, no-wrap
msgid "B<ENFILE>"
msgstr "B<ENFILE>"
#. type: Plain text
-#: build/C/man2/futex.2:267
+#: build/C/man2/futex.2:272
msgid "The system limit on the total number of open files has been reached."
msgstr "オープンされているファイルの総数がシステムの制限に達した。"
#. type: TP
-#: build/C/man2/futex.2:267 build/C/man2/modify_ldt.2:126
+#: build/C/man2/futex.2:272 build/C/man2/modify_ldt.2:126
#: build/C/man2/pciconfig_read.2:93 build/C/man2/quotactl.2:447
-#: build/C/man2/vm86.2:62
+#: build/C/man2/vm86.2:64
#, no-wrap
msgid "B<ENOSYS>"
msgstr "B<ENOSYS>"
#. type: Plain text
-#: build/C/man2/futex.2:271
+#: build/C/man2/futex.2:276
msgid "Invalid operation specified in I<op>."
msgstr "I<op> に無効な操作が指定された。"
#. type: TP
-#: build/C/man2/futex.2:271
+#: build/C/man2/futex.2:276
#, no-wrap
msgid "B<ETIMEDOUT>"
msgstr "B<ETIMEDOUT>"
#. type: Plain text
-#: build/C/man2/futex.2:276
+#: build/C/man2/futex.2:281
msgid "Timeout during the B<FUTEX_WAIT> operation."
msgstr "B<FUTEX_WAIT> 操作でタイムアウトが発生した。"
#. type: TP
-#: build/C/man2/futex.2:276
+#: build/C/man2/futex.2:281
#, no-wrap
msgid "B<EWOULDBLOCK>"
msgstr "B<EWOULDBLOCK>"
#. type: Plain text
-#: build/C/man2/futex.2:286
+#: build/C/man2/futex.2:291
msgid ""
"I<op> was B<FUTEX_WAIT> and the value pointed to by I<uaddr> was not equal "
"to the expected value I<val> at the time of the call."
-msgstr "I<op> が B<FUTEX_WAIT> で、その呼び出しにおいて I<uaddr> が指す値が期待値 I<val> と異なっていた。"
+msgstr ""
+"I<op> が B<FUTEX_WAIT> で、その呼び出しにおいて I<uaddr> が指す値が期待値 "
+"I<val> と異なっていた。"
#. type: SH
-#: build/C/man2/futex.2:286 build/C/man2/get_robust_list.2:115
+#: build/C/man2/futex.2:291 build/C/man2/get_robust_list.2:115
#: build/C/man2/getunwind.2:94 build/C/man2/kexec_load.2:138
#: build/C/man2/lookup_dcookie.2:73 build/C/man2/perfmonctl.2:196
#: build/C/man2/pivot_root.2:125 build/C/man2/process_vm_readv.2:276
msgstr "バージョン"
#. type: Plain text
-#: build/C/man2/futex.2:296
+#: build/C/man2/futex.2:301
msgid ""
"Initial futex support was merged in Linux 2.5.7 but with different semantics "
"from what was described above. A 4-argument system call with the semantics "
"上の特別のものである。"
#. type: Plain text
-#: build/C/man2/futex.2:298 build/C/man2/kexec_load.2:144
+#: build/C/man2/futex.2:303 build/C/man2/kexec_load.2:144
#: build/C/man2/set_tid_address.2:99 build/C/man2/splice.2:172
#: build/C/man2/tee.2:121 build/C/man2/vmsplice.2:145
msgid "This system call is Linux-specific."
#. and Rusty Russell (IBM Linux Technology Center).
#. This page written by bert hubert.
#. type: Plain text
-#: build/C/man2/futex.2:312
+#: build/C/man2/futex.2:317
msgid ""
"To reiterate, bare futexes are not intended as an easy-to-use abstraction "
"for end-users. (There is no wrapper function for this system call in "
"ブラリの ソースを読み終えていることが要求される。"
#. type: Plain text
-#: build/C/man2/futex.2:314
-msgid "B<futex>(7)"
-msgstr "B<futex>(7)"
+#: build/C/man2/futex.2:320
+msgid "B<restart_syscall>(2), B<futex>(7)"
+msgstr "B<restart_syscall>(2), B<futex>(7)"
#. type: Plain text
-#: build/C/man2/futex.2:317
+#: build/C/man2/futex.2:323
msgid ""
"I<Fuss, Futexes and Furwocks: Fast Userlevel Locking in Linux> (proceedings "
"of the Ottawa Linux Symposium 2002), online at"
"of the Ottawa Linux Symposium 2002), online at"
#. type: Plain text
-#: build/C/man2/futex.2:320
+#: build/C/man2/futex.2:326
msgid ""
"E<.UR http://kernel.org\\:/doc\\:/ols\\:/2002\\:/ols2002-pages-479-495.pdf> "
"E<.UE>"
"E<.UE>"
#. type: Plain text
-#: build/C/man2/futex.2:322
+#: build/C/man2/futex.2:328
msgid "Futex example library, futex-*.tar.bz2 at"
msgstr "futex の使用例ライブラリ, futex-*.tar.bz2"
#. type: Plain text
-#: build/C/man2/futex.2:325
+#: build/C/man2/futex.2:331
msgid ""
"E<.UR ftp://ftp.nl.kernel.org\\:/pub\\:/linux\\:/kernel\\:/people\\:/rusty/> "
"E<.UE>"
#: build/C/man2/get_robust_list.2:44
msgid "I<Note>: There are no glibc wrappers for these system calls; see NOTES."
msgstr ""
+"I<注意>: これらのシステムコールには glibc ラッパー関数は存在しない。 「注意」"
+"の節を参照。"
#. type: Plain text
#: build/C/man2/get_robust_list.2:49
#. type: TP
#: build/C/man2/get_robust_list.2:106 build/C/man2/process_vm_readv.2:271
-#: build/C/man2/ptrace.2:1766 build/C/man2/quotactl.2:461
+#: build/C/man2/ptrace.2:1839 build/C/man2/quotactl.2:461
#: build/C/man2/quotactl.2:504
#, no-wrap
msgid "B<ESRCH>"
#. type: Plain text
#: build/C/man2/getunwind.2:88
-#, fuzzy
-#| msgid ""
-#| "On success, B<kexec_load>() returns 0. On error, -1 is returned and "
-#| "I<errno> is set to indicate the error."
msgid ""
"On success, B<getunwind>() returns the size of unwind table. On error, -1 "
"is returned and I<errno> is set to indicate the error."
msgstr ""
-"成功すると、 B<kexec_load> は 0 を返す。\n"
-"エラーの場合、 -1 が返り、 I<errno> にエラーを示す値が設定される。"
#. type: Plain text
#: build/C/man2/getunwind.2:94
#. type: Plain text
#: build/C/man2/getunwind.2:96
-#, fuzzy
-#| msgid "These calls are Linux-specific, available since Linux 2.0.26/2.1.11."
msgid "This system call is available since Linux 2.4."
msgstr ""
-"これらの呼び出しは Linux 特有のものであり、 Linux 2.0.26/2.1.11 から使用可能"
-"である。"
#. type: Plain text
#: build/C/man2/getunwind.2:99
#. type: TP
#: build/C/man2/kexec_load.2:122 build/C/man2/pivot_root.2:110
-#: build/C/man2/ptrace.2:1729 build/C/man2/quotactl.2:495
+#: build/C/man2/ptrace.2:1802 build/C/man2/quotactl.2:495
#, no-wrap
msgid "B<EBUSY>"
msgstr "B<EBUSY>"
"which is not currently exported to glibc. Therefore, these constants must "
"be defined manually."
msgstr ""
-"必要な定数は Linux カーネルのソースファイル I<linux/kexec.h> で定義されている\n"
+"必要な定数は Linux カーネルのソースファイル I<linux/kexec.h> で定義されてい"
+"る\n"
"が、現在のところ glibc には公開されていない。\n"
"そのため、これらの定数は手動で定義しなければならない。"
#. type: TH
#: build/C/man2/nfsservctl.2:8
-#, no-wrap
-msgid "2012-03-05"
-msgstr "2012-03-05"
+#, fuzzy, no-wrap
+#| msgid "2013-02-13"
+msgid "2013-09-17"
+msgstr "2013-02-13"
#. type: Plain text
#: build/C/man2/nfsservctl.2:11
msgstr "I<注意>: Linux 3.1 以降では、このシステムコールはもはや存在しない。"
#. type: Plain text
-#: build/C/man2/nfsservctl.2:33
-#, no-wrap
+#: build/C/man2/nfsservctl.2:35
+#, fuzzy, no-wrap
+#| msgid ""
+#| "/*\n"
+#| " * These are the commands understood by nfsctl().\n"
+#| " */\n"
+#| "#define NFSCTL_SVC 0 /* This is a server process. */\n"
+#| "#define NFSCTL_ADDCLIENT 1 /* Add an NFS client. */\n"
+#| "#define NFSCTL_DELCLIENT 2 /* Remove an NFS client. */\n"
+#| "#define NFSCTL_EXPORT 3 /* export a file system. */\n"
+#| "#define NFSCTL_UNEXPORT 4 /* unexport a file system. */\n"
+#| "#define NFSCTL_UGIDUPDATE 5 /* update a client's UID/GID map. */\n"
+#| "#define NFSCTL_GETFH 6 /* get an fh (used by mountd) */\n"
msgid ""
"/*\n"
" * These are the commands understood by nfsctl().\n"
"#define NFSCTL_SVC 0 /* This is a server process. */\n"
"#define NFSCTL_ADDCLIENT 1 /* Add an NFS client. */\n"
"#define NFSCTL_DELCLIENT 2 /* Remove an NFS client. */\n"
-"#define NFSCTL_EXPORT 3 /* export a file system. */\n"
-"#define NFSCTL_UNEXPORT 4 /* unexport a file system. */\n"
-"#define NFSCTL_UGIDUPDATE 5 /* update a client's UID/GID map. */\n"
-"#define NFSCTL_GETFH 6 /* get an fh (used by mountd) */\n"
+"#define NFSCTL_EXPORT 3 /* Export a filesystem. */\n"
+"#define NFSCTL_UNEXPORT 4 /* Unexport a filesystem. */\n"
+"#define NFSCTL_UGIDUPDATE 5 /* Update a client's UID/GID map\n"
+" (only in Linux 2.4.x and earlier). */\n"
+"#define NFSCTL_GETFH 6 /* Get a file handle (used by mountd)\n"
+" (only in Linux 2.4.x and earlier). */\n"
msgstr ""
"/*\n"
" * nfsctl() によって理解されるコマンド\n"
"#define NFSCTL_GETFH 6 /* (mountd で使用される) fh の取得 */\n"
#. type: Plain text
-#: build/C/man2/nfsservctl.2:45
+#: build/C/man2/nfsservctl.2:47
#, no-wrap
msgid ""
"struct nfsctl_arg {\n"
"}\n"
#. type: Plain text
-#: build/C/man2/nfsservctl.2:50
+#: build/C/man2/nfsservctl.2:52
#, no-wrap
msgid ""
"union nfsctl_res {\n"
"};\n"
#. type: Plain text
-#: build/C/man2/nfsservctl.2:56 build/C/man2/pivot_root.2:105
-#: build/C/man2/vm86.2:57
+#: build/C/man2/nfsservctl.2:58 build/C/man2/pivot_root.2:105
+#: build/C/man2/vm86.2:59
msgid ""
"On success, zero is returned. On error, -1 is returned, and I<errno> is set "
"appropriately."
"定される。"
#. type: Plain text
-#: build/C/man2/nfsservctl.2:58
+#: build/C/man2/nfsservctl.2:60
msgid "This call is Linux-specific."
msgstr "このコールは Linux 特有である。"
"い。"
#. type: TP
-#: build/C/man2/pciconfig_read.2:84 build/C/man2/ptrace.2:1746
+#: build/C/man2/pciconfig_read.2:84 build/C/man2/ptrace.2:1819
#: build/C/man2/sendfile.2:134
#, no-wrap
msgid "B<EIO>"
"の値が無効であるときに返される。"
#. type: Plain text
-#: build/C/man2/pciconfig_read.2:110
+#: build/C/man2/pciconfig_read.2:112
msgid ""
"User does not have the B<CAP_SYS_ADMIN> capability. This does not apply to "
"B<pciconfig_iobase>()."
"B<pciconfig_iobase>() には適用されない。"
#. type: Plain text
-#: build/C/man2/pciconfig_read.2:112
+#: build/C/man2/pciconfig_read.2:114
msgid "These calls are Linux-specific, available since Linux 2.0.26/2.1.11."
msgstr ""
"これらの呼び出しは Linux 特有のものであり、 Linux 2.0.26/2.1.11 から使用可能"
"である。"
#. type: Plain text
-#: build/C/man2/pciconfig_read.2:114
+#: build/C/man2/pciconfig_read.2:116
msgid "B<capabilities>(7)"
msgstr "B<capabilities>(7)"
#. type: TH
#: build/C/man2/perf_event_open.2:27
-#, no-wrap
-msgid "2013-02-04"
-msgstr "2013-02-04"
+#, fuzzy, no-wrap
+#| msgid "2013-02-13"
+msgid "2013-09-13"
+msgstr "2013-02-13"
#. type: Plain text
#: build/C/man2/perf_event_open.2:30
"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 ionly 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."
+"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<subcmd> value is one of the following:"
-msgid "The I<flags> argument takes one of the following values:"
-msgstr "I<subcmd> の値は以下のいずれかである"
+#| 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
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 "
+"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 "
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:261 build/C/man2/perf_event_open.2:1272
+#: build/C/man2/perf_event_open.2:261 build/C/man2/perf_event_open.2:1379
#, no-wrap
msgid "I<type>"
msgstr ""
#. type: TP
#: build/C/man2/perf_event_open.2:291
-#, fuzzy, no-wrap
-#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+#, no-wrap
msgid "B<PERF_TYPE_BREAKPOINT> (Since Linux 2.6.33)"
-msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+msgstr "B<PERF_TYPE_BREAKPOINT> (Linux 2.6.33 以降)"
#. type: Plain text
#: build/C/man2/perf_event_open.2:296
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:316 build/C/man2/perf_event_open.2:1588
+#: build/C/man2/perf_event_open.2:316 build/C/man2/perf_event_open.2:1327
#, no-wrap
msgid "I<size>"
msgstr ""
#. type: Plain text
#: build/C/man2/perf_event_open.2:383
-msgid "Total cycles. Be wary of what happens during CPU frequency scaling"
+msgid "Total cycles. Be wary of what happens during CPU frequency scaling."
msgstr ""
#. type: TP
#: 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"
+"most notably hardware interrupt counts."
msgstr ""
#. type: TP
#. type: TP
#: build/C/man2/perf_event_open.2:413
-#, fuzzy, no-wrap
-#| msgid "B<PTRACE_O_TRACEVFORKDONE> (since Linux 2.5.60)"
+#, no-wrap
msgid "B<PERF_COUNT_HW_STALLED_CYCLES_FRONTEND> (Since Linux 3.0)"
-msgstr "B<PTRACE_O_TRACEVFORKDONE> (Linux 2.5.60 以降)"
+msgstr "B<PERF_COUNT_HW_STALLED_CYCLES_FRONTEND> (Linux 3.0 以降)"
#. type: Plain text
#: build/C/man2/perf_event_open.2:416
#. type: TP
#: build/C/man2/perf_event_open.2:419
-#, fuzzy, no-wrap
-#| msgid "B<PTRACE_O_TRACECLONE> (since Linux 2.5.46)"
+#, no-wrap
msgid "B<PERF_COUNT_HW_REF_CPU_CYCLES> (Since Linux 3.3)"
-msgstr "B<PTRACE_O_TRACECLONE> (Linux 2.5.46 以降)"
+msgstr "B<PERF_COUNT_HW_REF_CPU_CYCLES> (Linux 3.3 以降)"
#. type: Plain text
#: build/C/man2/perf_event_open.2:422
#. type: TP
#: build/C/man2/perf_event_open.2:459
-#, fuzzy, no-wrap
-#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+#, no-wrap
msgid "B<PERF_COUNT_SW_ALIGNMENT_FAULTS> (Since Linux 2.6.33)"
-msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+msgstr "B<PERF_COUNT_SW_ALIGNMENT_FAULTS> (Linux 2.6.33 以降)"
#. type: Plain text
#: build/C/man2/perf_event_open.2:465
#. type: TP
#: build/C/man2/perf_event_open.2:465
-#, fuzzy, no-wrap
-#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+#, no-wrap
msgid "B<PERF_COUNT_SW_EMULATION_FAULTS> (Since Linux 2.6.33)"
-msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+msgstr "B<PERF_COUNT_SW_EMULATION_FAULTS> (Linux 2.6.33 以降)"
#. type: Plain text
#: build/C/man2/perf_event_open.2:471
#. type: TP
#: build/C/man2/perf_event_open.2:524
-#, fuzzy, no-wrap
-#| msgid "B<PTRACE_O_TRACEVFORKDONE> (since Linux 2.5.60)"
+#, no-wrap
msgid "B<PERF_COUNT_HW_CACHE_NODE> (Since Linux 3.0)"
-msgstr "B<PTRACE_O_TRACEVFORKDONE> (Linux 2.5.60 以降)"
+msgstr "B<PERF_COUNT_HW_CACHE_NODE> (Linux 3.0 以降)"
#. type: Plain text
#: build/C/man2/perf_event_open.2:527
#. type: TP
#: build/C/man2/perf_event_open.2:655
-#, fuzzy, no-wrap
-#| msgid "B<PTRACE_O_TRACEFORK> (since Linux 2.5.46)"
+#, no-wrap
msgid "B<PERF_SAMPLE_BRANCH_STACK> (Since Linux 3.4)"
-msgstr "B<PTRACE_O_TRACEFORK> (Linux 2.5.46 以降)"
+msgstr "B<PERF_SAMPLE_BRANCH_STACK> (Linux 3.4 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:660
+msgid ""
+"This provides a record of recent branches, as provided by CPU branch "
+"sampling hardware (such as Intel Last Branch Record). Not all hardware "
+"supports this feature."
+msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:659
-msgid "Records the branch stack. See branch_sample_type."
+#: build/C/man2/perf_event_open.2:664
+msgid ""
+"See the I<branch_sample_type> field for how to filter which branches are "
+"reported."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:659
-#, fuzzy, no-wrap
-#| msgid "B<FUTEX_CMP_REQUEUE> (since Linux 2.6.7)"
+#: build/C/man2/perf_event_open.2:664
+#, no-wrap
msgid "B<PERF_SAMPLE_REGS_USER> (Since Linux 3.7)"
-msgstr "B<FUTEX_CMP_REQUEUE> (Linux 2.6.7 以降)"
+msgstr "B<PERF_SAMPLE_REGS_USER> (Linux 3.7 以降)"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:662
-msgid "Records the current register state."
+#: build/C/man2/perf_event_open.2:668
+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:662
-#, fuzzy, no-wrap
-#| msgid "B<PTRACE_O_TRACEFORK> (since Linux 2.5.46)"
+#: build/C/man2/perf_event_open.2:668
+#, no-wrap
msgid "B<PERF_SAMPLE_STACK_USER> (Since Linux 3.7)"
-msgstr "B<PTRACE_O_TRACEFORK> (Linux 2.5.46 以降)"
+msgstr "B<PERF_SAMPLE_STACK_USER> (Linux 3.7 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:671
+msgid "Records the user level stack, allowing stack unwinding."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:671
+#, no-wrap
+msgid "B<PERF_SAMPLE_WEIGHT> (Since Linux 3.10)"
+msgstr "B<PERF_SAMPLE_WEIGHT> (Linux 3.10 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:677
+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:677
+#, no-wrap
+msgid "B<PERF_SAMPLE_DATA_SRC> (Since Linux 3.10)"
+msgstr "B<PERF_SAMPLE_DATA_SRC> (Linux 3.10 以降)"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:665 build/C/man2/perf_event_open.2:1786
-#: build/C/man2/perf_event_open.2:1803
-msgid "[To be documented]"
+#: build/C/man2/perf_event_open.2:683
+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:666
+#: build/C/man2/perf_event_open.2:684
#, no-wrap
msgid "I<read_format>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:673
+#: build/C/man2/perf_event_open.2:691
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:674
+#: build/C/man2/perf_event_open.2:692
#, no-wrap
msgid "B<PERF_FORMAT_TOTAL_TIME_ENABLED>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:681
+#: build/C/man2/perf_event_open.2:699
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:681
+#: build/C/man2/perf_event_open.2:699
#, no-wrap
msgid "B<PERF_FORMAT_TOTAL_TIME_RUNNING>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:688
+#: build/C/man2/perf_event_open.2:706
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:688
+#: build/C/man2/perf_event_open.2:706
#, no-wrap
msgid "B<PERF_FORMAT_ID>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:691
+#: build/C/man2/perf_event_open.2:709
msgid "Adds a 64-bit unique value that corresponds to the event group."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:691
+#: build/C/man2/perf_event_open.2:709
#, no-wrap
msgid "B<PERF_FORMAT_GROUP>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:694
+#: build/C/man2/perf_event_open.2:712
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:695
+#: build/C/man2/perf_event_open.2:713
#, no-wrap
msgid "I<disabled>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:705
+#: build/C/man2/perf_event_open.2:723
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), "
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:705
+#: build/C/man2/perf_event_open.2:723
#, no-wrap
msgid "I<inherit>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:714
+#: build/C/man2/perf_event_open.2:732
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:719
+#: build/C/man2/perf_event_open.2:737
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:719
+#: build/C/man2/perf_event_open.2:737
#, no-wrap
msgid "I<pinned>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:732
+#: build/C/man2/perf_event_open.2:750
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 "
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:732
+#: build/C/man2/perf_event_open.2:750
#, no-wrap
msgid "I<exclusive>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:741
+#: build/C/man2/perf_event_open.2:759
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 "
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:741
+#: build/C/man2/perf_event_open.2:759
#, no-wrap
msgid "I<exclude_user>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:744
+#: build/C/man2/perf_event_open.2:762
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:744
+#: build/C/man2/perf_event_open.2:762
#, no-wrap
msgid "I<exclude_kernel>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:747
+#: build/C/man2/perf_event_open.2:765
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:747
+#: build/C/man2/perf_event_open.2:765
#, no-wrap
msgid "I<exclude_hv>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:755
+#: build/C/man2/perf_event_open.2:773
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 "
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:755
+#: build/C/man2/perf_event_open.2:773
#, no-wrap
msgid "I<exclude_idle>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:758
+#: build/C/man2/perf_event_open.2:776
msgid "If set, don't count when the CPU is idle."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:758
+#: build/C/man2/perf_event_open.2:776
#, no-wrap
msgid "I<mmap>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:763
+#: build/C/man2/perf_event_open.2:781
msgid "The I<mmap> bit enables recording of exec mmap events."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:763
+#: build/C/man2/perf_event_open.2:781
#, no-wrap
msgid "I<comm>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:774
+#: build/C/man2/perf_event_open.2:792
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 "
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:774
+#: build/C/man2/perf_event_open.2:792
#, no-wrap
msgid "I<freq>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:781
+#: build/C/man2/perf_event_open.2:799
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:781
+#: build/C/man2/perf_event_open.2:799
#, no-wrap
msgid "I<inherit_stat>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:788
+#: build/C/man2/perf_event_open.2:806
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:788
+#: build/C/man2/perf_event_open.2:806
#, no-wrap
msgid "I<enable_on_exec>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:793
+#: build/C/man2/perf_event_open.2:811
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:793
+#: build/C/man2/perf_event_open.2:811
#, no-wrap
msgid "I<task>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:797
+#: build/C/man2/perf_event_open.2:815
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:797
+#: build/C/man2/perf_event_open.2:815
#, no-wrap
msgid "I<watermark>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:805
+#: build/C/man2/perf_event_open.2:823
msgid ""
"If set, have a sampling interrupt happen when we cross the "
"I<wakeup_watermark> boundary. Otherwise interrupts happen after "
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:805
-#, fuzzy, no-wrap
-#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+#: build/C/man2/perf_event_open.2:823
+#, no-wrap
msgid "I<precise_ip> (Since Linux 2.6.35)"
-msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+msgstr "I<precise_ip> (Linux 2.6.35 以降)"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:815
+#: build/C/man2/perf_event_open.2:833
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:817
+#: build/C/man2/perf_event_open.2:835
#, 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:818
+#: build/C/man2/perf_event_open.2:836
#, no-wrap
msgid "0 -"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:822
-msgid "B<SAMPLE_IP> can have arbitrary skid"
+#: build/C/man2/perf_event_open.2:840
+msgid "B<SAMPLE_IP> can have arbitrary skid."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:822
+#: build/C/man2/perf_event_open.2:840
#, no-wrap
msgid "1 -"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:826
-msgid "B<SAMPLE_IP> must have constant skid"
+#: build/C/man2/perf_event_open.2:844
+msgid "B<SAMPLE_IP> must have constant skid."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:826
+#: build/C/man2/perf_event_open.2:844
#, no-wrap
msgid "2 -"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:830
-msgid "B<SAMPLE_IP> requested to have 0 skid"
+#: build/C/man2/perf_event_open.2:848
+msgid "B<SAMPLE_IP> requested to have 0 skid."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:830
+#: build/C/man2/perf_event_open.2:848
#, no-wrap
msgid "3 -"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:836
+#: build/C/man2/perf_event_open.2:854
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:837
-#, fuzzy, no-wrap
-#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+#: build/C/man2/perf_event_open.2:855
+#, no-wrap
msgid "I<mmap_data> (Since Linux 2.6.36)"
-msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+msgstr "I<mmap_data> (Linux 2.6.36 以降)"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:843
+#: build/C/man2/perf_event_open.2:861
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:843
-#, fuzzy, no-wrap
-#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+#: build/C/man2/perf_event_open.2:861
+#, no-wrap
msgid "I<sample_id_all> (Since Linux 2.6.38)"
-msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+msgstr "I<sample_id_all> (Linux 2.6.38 以降)"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:851
+#: build/C/man2/perf_event_open.2:869
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 "
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:851
+#: build/C/man2/perf_event_open.2:869
#, no-wrap
msgid "I<exclude_host> (Since Linux 3.2)"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:854
-msgid "Do not measure time spent in VM host"
+#: build/C/man2/perf_event_open.2:872
+msgid "Do not measure time spent in VM host."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:854
+#: build/C/man2/perf_event_open.2:872
#, no-wrap
msgid "I<exclude_guest> (Since Linux 3.2)"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:857
-msgid "Do not measure time spent in VM guest"
+#: build/C/man2/perf_event_open.2:875
+msgid "Do not measure time spent in VM guest."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:857
+#: build/C/man2/perf_event_open.2:875
#, no-wrap
msgid "I<exclude_callchain_kernel> (Since Linux 3.7)"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:860
+#: build/C/man2/perf_event_open.2:878
msgid "Do not include kernel callchains."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:860
+#: build/C/man2/perf_event_open.2:878
#, no-wrap
msgid "I<exclude_callchain_user> (Since Linux 3.7)"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:863
+#: build/C/man2/perf_event_open.2:881
msgid "Do not include user callchains."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:863
+#: build/C/man2/perf_event_open.2:881
#, no-wrap
msgid "I<wakeup_events>, I<wakeup_watermark>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:873
+#: build/C/man2/perf_event_open.2:891
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:901
+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:873
-#, fuzzy, no-wrap
-#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+#: build/C/man2/perf_event_open.2:901
+#, no-wrap
msgid "I<bp_type> (Since Linux 2.6.33)"
-msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+msgstr "I<bp_type> (Linux 2.6.33 以降)"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:877
+#: build/C/man2/perf_event_open.2:905
msgid "This chooses the breakpoint type. It is one of:"
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:878
+#: build/C/man2/perf_event_open.2:906
#, no-wrap
msgid "B<HW_BREAKPOINT_EMPTY>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:881
-msgid "no breakpoint"
+#: build/C/man2/perf_event_open.2:909
+msgid "No breakpoint."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:881
+#: build/C/man2/perf_event_open.2:909
#, no-wrap
msgid "B<HW_BREAKPOINT_R>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:884
-msgid "count when we read the memory location"
+#: build/C/man2/perf_event_open.2:912
+msgid "Count when we read the memory location."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:884
+#: build/C/man2/perf_event_open.2:912
#, no-wrap
msgid "B<HW_BREAKPOINT_W>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:887
-msgid "count when we write the memory location"
+#: build/C/man2/perf_event_open.2:915
+msgid "Count when we write the memory location."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:887
+#: build/C/man2/perf_event_open.2:915
#, no-wrap
msgid "B<HW_BREAKPOINT_RW>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:890
-msgid "count when we read or write the memory location"
-msgstr ""
+#: build/C/man2/perf_event_open.2:918
+#, fuzzy
+#| msgid "Cannot read or write the quota file."
+msgid "Count when we read or write the memory location."
+msgstr "quota ファイルへの読み書きが出来ない。"
#. type: TP
-#: build/C/man2/perf_event_open.2:890
+#: build/C/man2/perf_event_open.2:918
#, no-wrap
msgid "B<HW_BREAKPOINT_X>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:893
-msgid "count when we execute code at the memory location"
+#: build/C/man2/perf_event_open.2:921
+msgid "Count when we execute code at the memory location."
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:902
+#: build/C/man2/perf_event_open.2:930
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 "
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:903
-#, fuzzy, no-wrap
-#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+#: build/C/man2/perf_event_open.2:931
+#, no-wrap
msgid "I<bp_addr> (Since Linux 2.6.33)"
-msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+msgstr "I<bp_addr> (Linux 2.6.33 以降)"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:910
+#: build/C/man2/perf_event_open.2:938
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 "
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:910
-#, fuzzy, no-wrap
-#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+#: build/C/man2/perf_event_open.2:938
+#, no-wrap
msgid "I<config1> (Since Linux 2.6.39)"
-msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+msgstr "I<config1> (Linux 2.6.39 以降)"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:917
+#: build/C/man2/perf_event_open.2:945
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 "
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:917
-#, fuzzy, no-wrap
-#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+#: build/C/man2/perf_event_open.2:945
+#, no-wrap
msgid "I<bp_len> (Since Linux 2.6.33)"
-msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+msgstr "I<bp_len> (Linux 2.6.33 以降)"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:931
+#: build/C/man2/perf_event_open.2:959
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>, "
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:931
-#, fuzzy, no-wrap
-#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+#: build/C/man2/perf_event_open.2:959
+#, no-wrap
msgid "I<config2> (Since Linux 2.6.39)"
-msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+msgstr "I<config2> (Linux 2.6.39 以降)"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:938
+#: build/C/man2/perf_event_open.2:966
msgid "I<config2> is a further extension of the I<config1> field."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:938
+#: build/C/man2/perf_event_open.2:966
#, no-wrap
msgid "I<branch_sample_type> (Since Linux 3.4)"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:942
+#: build/C/man2/perf_event_open.2:972
+msgid ""
+"If B<PERF_SAMPLE_BRANCH_STACK> is enabled, then this specifies what branches "
+"to include in the branch record."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:978
msgid ""
-"This is used with the CPUs hardware branch sampling, if available. It can "
-"have one of the following values:"
+"The first part of the value is the privilege level, which is a combination "
+"of one of the following values. If the user does not set privilege level "
+"explicitly, the kernel will use the event's privilege level. Event and "
+"branch privilege levels do not have to match."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:943
+#: build/C/man2/perf_event_open.2:979
#, no-wrap
msgid "B<PERF_SAMPLE_BRANCH_USER>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:946
-msgid "Branch target is in user space"
+#: build/C/man2/perf_event_open.2:982
+msgid "Branch target is in user space."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:946
+#: build/C/man2/perf_event_open.2:982
#, no-wrap
msgid "B<PERF_SAMPLE_BRANCH_KERNEL>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:949
-msgid "Branch target is in kernel space"
+#: build/C/man2/perf_event_open.2:985
+msgid "Branch target is in kernel space."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:949
+#: build/C/man2/perf_event_open.2:985
#, no-wrap
msgid "B<PERF_SAMPLE_BRANCH_HV>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:952
-msgid "Branch target is in hypervisor"
+#: build/C/man2/perf_event_open.2:988
+msgid "Branch target is in hypervisor."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:988
+#, no-wrap
+msgid "B<PERF_SAMPLE_BRANCH_PLM_ALL>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:991
+msgid "A convenience value that is the three preceding values ORed together."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:995
+msgid ""
+"In addition to the privilege value, at least one or more of the following "
+"bits must be set."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:952
+#: build/C/man2/perf_event_open.2:996
#, no-wrap
msgid "B<PERF_SAMPLE_BRANCH_ANY>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:955
+#: build/C/man2/perf_event_open.2:999
msgid "Any branch type."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:955
+#: build/C/man2/perf_event_open.2:999
#, no-wrap
msgid "B<PERF_SAMPLE_BRANCH_ANY_CALL>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:958
-msgid "Any call branch"
+#: build/C/man2/perf_event_open.2:1002
+msgid "Any call branch."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:958
+#: build/C/man2/perf_event_open.2:1002
#, no-wrap
msgid "B<PERF_SAMPLE_BRANCH_ANY_RETURN>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:961
-msgid "Any return branch"
+#: build/C/man2/perf_event_open.2:1005
+msgid "Any return branch."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:961
+#: build/C/man2/perf_event_open.2:1005
#, no-wrap
msgid "B<PERF_SAMPLE_BRANCH_IND_CALL>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:964
-msgid "Indirect calls"
+#: build/C/man2/perf_event_open.2:1008
+msgid "Indirect calls."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:964
-#, no-wrap
-msgid "B<PERF_SAMPLE_BRANCH_PLM_ALL>"
+#: build/C/man2/perf_event_open.2:1008
+#, fuzzy, no-wrap
+#| msgid "B<PERF_SAMPLE_BRANCH_STACK> (Since Linux 3.4)"
+msgid "B<PERF_SAMPLE_BRANCH_ABORT_TX> (Since Linux 3.11)"
+msgstr "B<PERF_SAMPLE_BRANCH_STACK> (Linux 3.4 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1011
+msgid "Transactional memory aborts."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1011
+#, fuzzy, no-wrap
+#| msgid "B<PERF_SAMPLE_BRANCH_STACK> (Since Linux 3.4)"
+msgid "B<PERF_SAMPLE_BRANCH_IN_TX> (Since Linux 3.11)"
+msgstr "B<PERF_SAMPLE_BRANCH_STACK> (Linux 3.4 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1014
+msgid "Branch in transactional memory transaction."
msgstr ""
+#. type: TP
+#: build/C/man2/perf_event_open.2:1014
+#, fuzzy, no-wrap
+#| msgid "B<PERF_SAMPLE_BRANCH_STACK> (Since Linux 3.4)"
+msgid "B<PERF_SAMPLE_BRANCH_NO_TX> (Since Linux 3.11)"
+msgstr "B<PERF_SAMPLE_BRANCH_STACK> (Linux 3.4 以降)"
+
#. type: Plain text
-#: build/C/man2/perf_event_open.2:967
-msgid "User, kernel, and hv"
+#: build/C/man2/perf_event_open.2:1017
+msgid "Branch not in transactional memory transaction."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:968
+#: build/C/man2/perf_event_open.2:1019
#, no-wrap
msgid "I<sample_regs_user> (Since Linux 3.7)"
msgstr ""
-#. FIXME: The following reference seems to be not quite right:
#. type: Plain text
-#: build/C/man2/perf_event_open.2:974
+#: build/C/man2/perf_event_open.2:1025
msgid ""
-"This defines the set of user registers to dump on samples. See I<asm/"
-"perf_regs.h>."
+"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:974
+#: build/C/man2/perf_event_open.2:1025
#, no-wrap
msgid "I<sample_stack_user> (Since Linux 3.7)"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:977
-msgid "This defines the size of the user stack to dump on samples."
+#: build/C/man2/perf_event_open.2:1030
+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:977
+#: build/C/man2/perf_event_open.2:1030
#, no-wrap
msgid "Reading results"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:987
+#: build/C/man2/perf_event_open.2:1040
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:992
+#: build/C/man2/perf_event_open.2:1045
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:994
+#: build/C/man2/perf_event_open.2:1047
msgid "Here is the layout of the data returned by a read:"
msgstr ""
#. type: IP
-#: build/C/man2/perf_event_open.2:994 build/C/man2/perf_event_open.2:1012
-#: 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
+#: build/C/man2/perf_event_open.2:1047 build/C/man2/perf_event_open.2:1065
+#: build/C/man2/ptrace.2:1619 build/C/man2/ptrace.2:1629
+#: build/C/man2/ptrace.2:1637 build/C/man2/ptrace.2:1643
+#: build/C/man2/ptrace.2:1772
#, no-wrap
msgid "*"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:998
+#: build/C/man2/perf_event_open.2:1051
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:1010
+#: build/C/man2/perf_event_open.2:1063
#, no-wrap
msgid ""
"struct read_format {\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1018
+#: build/C/man2/perf_event_open.2:1071
msgid "If B<PERF_FORMAT_GROUP> was I<not> specified:"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1027
+#: build/C/man2/perf_event_open.2:1080
#, no-wrap
msgid ""
"struct read_format {\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1031
+#: build/C/man2/perf_event_open.2:1084
msgid "The values read are as follows:"
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1031
+#: build/C/man2/perf_event_open.2:1084
#, no-wrap
msgid "I<nr>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1037
+#: build/C/man2/perf_event_open.2:1090
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:1037
+#: build/C/man2/perf_event_open.2:1090
#, no-wrap
msgid "I<time_enabled>, I<time_running>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1049
+#: build/C/man2/perf_event_open.2:1102
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 "
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1049
+#: build/C/man2/perf_event_open.2:1102
#, no-wrap
msgid "I<value>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1052
+#: build/C/man2/perf_event_open.2:1105
msgid "An unsigned 64-bit value containing the counter result."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1052 build/C/man2/perf_event_open.2:1316
-#: build/C/man2/perf_event_open.2:1451
+#: build/C/man2/perf_event_open.2:1105 build/C/man2/perf_event_open.2:1423
+#: build/C/man2/perf_event_open.2:1560
#, no-wrap
msgid "I<id>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1058
+#: build/C/man2/perf_event_open.2:1111
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:1058
+#: build/C/man2/perf_event_open.2:1111
#, no-wrap
msgid "MMAP layout"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1068
+#: build/C/man2/perf_event_open.2:1121
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-"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1074
+#: build/C/man2/perf_event_open.2:1127
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1077
+#: build/C/man2/perf_event_open.2:1130
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:1079
+#: build/C/man2/perf_event_open.2:1132
msgid "The structure of the first metadata mmap page is as follows:"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1103
+#: build/C/man2/perf_event_open.2:1156
#, no-wrap
msgid ""
"struct perf_event_mmap_page {\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1109
+#: build/C/man2/perf_event_open.2:1162
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:1109
+#: build/C/man2/perf_event_open.2:1162
#, no-wrap
msgid "I<version>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1112
+#: build/C/man2/perf_event_open.2:1165
msgid "Version number of this structure."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1112
+#: build/C/man2/perf_event_open.2:1165
#, no-wrap
msgid "I<compat_version>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1115
+#: build/C/man2/perf_event_open.2:1168
msgid "The lowest version this is compatible with."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1115
+#: build/C/man2/perf_event_open.2:1168
#, no-wrap
msgid "I<lock>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1118
+#: build/C/man2/perf_event_open.2:1171
msgid "A seqlock for synchronization."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1118
+#: build/C/man2/perf_event_open.2:1171
#, no-wrap
msgid "I<index>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1121
+#: build/C/man2/perf_event_open.2:1174
msgid "A unique hardware counter identifier."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1121
+#: build/C/man2/perf_event_open.2:1174
#, no-wrap
msgid "I<offset>"
msgstr ""
#. FIXME clarify
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1125
+#: build/C/man2/perf_event_open.2:1178
msgid "Add this to hardware counter value??"
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1125
+#: build/C/man2/perf_event_open.2:1178
#, no-wrap
msgid "I<time_enabled>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1128
+#: build/C/man2/perf_event_open.2:1181
msgid "Time the event was active."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1128
+#: build/C/man2/perf_event_open.2:1181
#, no-wrap
msgid "I<time_running>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1131
+#: build/C/man2/perf_event_open.2:1184
msgid "Time the event was running."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1131
+#: build/C/man2/perf_event_open.2:1184
#, no-wrap
msgid "I<cap_usr_time>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1134
-msgid "User time capability"
+#: build/C/man2/perf_event_open.2:1187
+msgid "User time capability."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1134
+#: build/C/man2/perf_event_open.2:1187
#, no-wrap
msgid "I<cap_usr_rdpmc>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1139
+#: build/C/man2/perf_event_open.2:1192
msgid ""
"If the hardware supports user-space read of performance counters without "
"syscall (this is the \"rdpmc\" instruction on x86), then the following code "
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1146
+#: build/C/man2/perf_event_open.2:1199
#, no-wrap
msgid ""
"u32 seq, time_mult, time_shift, idx, width;\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1152
+#: build/C/man2/perf_event_open.2:1205
#, no-wrap
msgid ""
"do {\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1159
+#: build/C/man2/perf_event_open.2:1212
#, no-wrap
msgid ""
" if (pc-E<gt>cap_usr_time && enabled != running) {\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1162
+#: build/C/man2/perf_event_open.2:1215
#, no-wrap
msgid ""
" idx = pc-E<gt>index;\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1167
+#: build/C/man2/perf_event_open.2:1220
#, no-wrap
msgid ""
" if (pc-E<gt>cap_usr_rdpmc && idx) {\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1170
+#: build/C/man2/perf_event_open.2:1223
#, no-wrap
msgid ""
" barrier();\n"
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1172
+#: build/C/man2/perf_event_open.2:1225
#, no-wrap
msgid "I<pmc_width>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1179
+#: build/C/man2/perf_event_open.2:1232
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1185
+#: build/C/man2/perf_event_open.2:1238
#, no-wrap
msgid ""
"pmc E<lt>E<lt>= 64 - pmc_width;\n"
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1187
+#: build/C/man2/perf_event_open.2:1240
#, no-wrap
msgid "I<time_shift>, I<time_mult>, I<time_offset>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1194
+#: build/C/man2/perf_event_open.2:1247
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:1202
+#: build/C/man2/perf_event_open.2:1255
#, no-wrap
msgid ""
" u64 quot, rem;\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1214
+#: build/C/man2/perf_event_open.2:1267
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1222
+#: build/C/man2/perf_event_open.2:1275
#, no-wrap
msgid ""
" enabled += delta;\n"
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1223
+#: build/C/man2/perf_event_open.2:1276
#, no-wrap
msgid "I<data_head>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1229
+#: build/C/man2/perf_event_open.2:1282
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1232
+#: build/C/man2/perf_event_open.2:1285
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:1232
+#: build/C/man2/perf_event_open.2:1285
#, no-wrap
msgid "I<data_tail;>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1240
+#: build/C/man2/perf_event_open.2:1293
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1242
+#: build/C/man2/perf_event_open.2:1295
msgid "The following 2^n ring-buffer pages have the layout described below."
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1256
+#: build/C/man2/perf_event_open.2:1309
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 "
+"that is, 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:1258
+#: build/C/man2/perf_event_open.2:1311
msgid "The mmap values start with a header:"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1266
+#: build/C/man2/perf_event_open.2:1319
#, no-wrap
msgid ""
"struct perf_event_header {\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1272
-msgid "Below, we describe the I<perf_event_header> fields in more detail."
+#: build/C/man2/perf_event_open.2:1327
+msgid ""
+"Below, we describe the I<perf_event_header> fields in more detail. For ease "
+"of reading, the fields with shorter descriptions are presented first."
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1281
-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."
+#: build/C/man2/perf_event_open.2:1330
+msgid "This indicates the size of the record."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1282
+#: build/C/man2/perf_event_open.2:1330
#, no-wrap
-msgid "B<PERF_RECORD_MMAP>"
+msgid "I<misc>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1289
-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:"
+#: build/C/man2/perf_event_open.2:1335
+msgid "The I<misc> field contains additional information about the sample."
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1300
-#, no-wrap
+#: build/C/man2/perf_event_open.2:1340
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"
+"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:1302
+#: build/C/man2/perf_event_open.2:1341
#, no-wrap
-msgid "B<PERF_RECORD_LOST>"
+msgid "B<PERF_RECORD_MISC_CPUMODE_UNKNOWN>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1305
-msgid "This record indicates when events are lost."
+#: build/C/man2/perf_event_open.2:1344
+msgid "Unknown CPU mode."
msgstr ""
-#. type: Plain text
-#: build/C/man2/perf_event_open.2:1313
+#. type: TP
+#: build/C/man2/perf_event_open.2:1344
#, no-wrap
-msgid ""
-"struct {\n"
-" struct perf_event_header header;\n"
-" u64 id;\n"
+msgid "B<PERF_RECORD_MISC_KERNEL>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1347
+msgid "Sample happened in the kernel."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1347
+#, no-wrap
+msgid "B<PERF_RECORD_MISC_USER>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1350
+msgid "Sample happened in user code."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1350
+#, no-wrap
+msgid "B<PERF_RECORD_MISC_HYPERVISOR>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1353
+msgid "Sample happened in the hypervisor."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1353
+#, no-wrap
+msgid "B<PERF_RECORD_MISC_GUEST_KERNEL>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1356
+msgid "Sample happened in the guest kernel."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1356
+#, no-wrap
+msgid "B<PERF_RECORD_MISC_GUEST_USER>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1359
+msgid "Sample happened in guest user code."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1363
+msgid "In addition, one of the following bits can be set:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1363
+#, no-wrap
+msgid "B<PERF_RECORD_MISC_MMAP_DATA>"
+msgstr "B<PERF_RECORD_MISC_MMAP_DATA>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1367
+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:1367
+#, no-wrap
+msgid "B<PERF_RECORD_MISC_EXACT_IP>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1375
+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:1375
+#, no-wrap
+msgid "B<PERF_RECORD_MISC_EXT_RESERVED>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1378
+msgid "This indicates there is extended data available (currently not used)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1388
+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:1389
+#, no-wrap
+msgid "B<PERF_RECORD_MMAP>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1396
+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:1407
+#, 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:1409
+#, no-wrap
+msgid "B<PERF_RECORD_LOST>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1412
+msgid "This record indicates when events are lost."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1420
+#, 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:1319
+#: build/C/man2/perf_event_open.2:1426
msgid "is the unique event ID for the samples that were lost."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1319
+#: build/C/man2/perf_event_open.2:1426
#, no-wrap
msgid "I<lost>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1322
+#: build/C/man2/perf_event_open.2:1429
#, 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:1323
+#: build/C/man2/perf_event_open.2:1430
#, no-wrap
msgid "B<PERF_RECORD_COMM>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1326
+#: build/C/man2/perf_event_open.2:1433
msgid "This record indicates a change in the process name."
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1334
+#: build/C/man2/perf_event_open.2:1441
#, no-wrap
msgid ""
"struct {\n"
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1336
+#: build/C/man2/perf_event_open.2:1443
#, no-wrap
msgid "B<PERF_RECORD_EXIT>"
msgstr "B<PERF_RECORD_EXIT>"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1339
+#: build/C/man2/perf_event_open.2:1446
msgid "This record indicates a process exit event."
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1348 build/C/man2/perf_event_open.2:1376
+#: build/C/man2/perf_event_open.2:1455 build/C/man2/perf_event_open.2:1483
#, no-wrap
msgid ""
"struct {\n"
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1350
+#: build/C/man2/perf_event_open.2:1457
#, no-wrap
msgid "B<PERF_RECORD_THROTTLE>, B<PERF_RECORD_UNTHROTTLE>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1353
+#: build/C/man2/perf_event_open.2:1460
msgid "This record indicates a throttle/unthrottle event."
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1362
+#: build/C/man2/perf_event_open.2:1469
#, no-wrap
msgid ""
"struct {\n"
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1364
-#, fuzzy, no-wrap
-#| msgid "B<PTRACE_EVENT_FORK>"
+#: build/C/man2/perf_event_open.2:1471
+#, no-wrap
msgid "B<PERF_RECORD_FORK>"
-msgstr "B<PTRACE_EVENT_FORK>"
+msgstr "B<PERF_RECORD_FORK>"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1367
+#: build/C/man2/perf_event_open.2:1474
msgid "This record indicates a fork event."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1378
+#: build/C/man2/perf_event_open.2:1485
#, no-wrap
msgid "B<PERF_RECORD_READ>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1381
+#: build/C/man2/perf_event_open.2:1488
msgid "This record indicates a read event."
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1389
+#: build/C/man2/perf_event_open.2:1496
#, no-wrap
msgid ""
"struct {\n"
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1391
+#: build/C/man2/perf_event_open.2:1498
#, no-wrap
msgid "B<PERF_RECORD_SAMPLE>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1394
+#: build/C/man2/perf_event_open.2:1501
msgid "This record indicates a sample."
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1422
+#: build/C/man2/perf_event_open.2:1531
#, no-wrap
msgid ""
"struct {\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:1424
+#: build/C/man2/perf_event_open.2:1533
#, no-wrap
msgid "I<ip>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1430
+#: build/C/man2/perf_event_open.2:1539
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:1430
+#: build/C/man2/perf_event_open.2:1539
#, no-wrap
msgid "I<pid>, I<tid>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1436
+#: build/C/man2/perf_event_open.2:1545
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:1436
+#: build/C/man2/perf_event_open.2:1545
#, no-wrap
msgid "I<time>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1444
+#: build/C/man2/perf_event_open.2:1553
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 "
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1444
+#: build/C/man2/perf_event_open.2:1553
#, no-wrap
msgid "I<addr>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1451
+#: build/C/man2/perf_event_open.2:1560
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; "
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1459
+#: build/C/man2/perf_event_open.2:1568
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 "
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1459
+#: build/C/man2/perf_event_open.2:1568
#, no-wrap
msgid "I<stream_id>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1469
+#: build/C/man2/perf_event_open.2:1578
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. "
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1469
+#: build/C/man2/perf_event_open.2:1578
#, no-wrap
msgid "I<cpu>, I<res>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1476
+#: build/C/man2/perf_event_open.2:1585
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:1476
+#: build/C/man2/perf_event_open.2:1585
#, no-wrap
msgid "I<period>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1482
+#: build/C/man2/perf_event_open.2:1591
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:1482
+#: build/C/man2/perf_event_open.2:1591
#, no-wrap
msgid "I<v>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1493
+#: build/C/man2/perf_event_open.2:1602
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 "
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1493
+#: build/C/man2/perf_event_open.2:1602
#, no-wrap
msgid "I<nr>, I<ips[nr]>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1501
+#: build/C/man2/perf_event_open.2:1610
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. "
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1501
+#: build/C/man2/perf_event_open.2:1610
#, no-wrap
msgid "I<size>, I<data[size]>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1508
+#: build/C/man2/perf_event_open.2:1617
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1513
+#: build/C/man2/perf_event_open.2:1622
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 "
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1513
+#: build/C/man2/perf_event_open.2:1622
#, no-wrap
msgid "I<bnr>, I<lbr[bnr]>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1524
+#: build/C/man2/perf_event_open.2:1631
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."
+"structures which each include the fields:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1632
+#, no-wrap
+msgid "I<from>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1635
+msgid "This indicates the source instruction (may not be a branch)."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1635
+#, no-wrap
+msgid "I<to>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1638
+msgid "The branch target."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1638
+#, no-wrap
+msgid "I<mispred>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1641
+msgid "The branch target was mispredicted."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1641
+#, no-wrap
+msgid "I<predicted>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1644
+msgid "The branch target was predicted."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1644
+#, fuzzy, no-wrap
+#| msgid "I<bp_type> (Since Linux 2.6.33)"
+msgid "I<in_tx> (Since Linux 3.11)"
+msgstr "I<bp_type> (Linux 2.6.33 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1647
+msgid "The branch was in a transactional memory transaction."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1524
+#: build/C/man2/perf_event_open.2:1647
+#, fuzzy, no-wrap
+#| msgid "I<bp_type> (Since Linux 2.6.33)"
+msgid "I<abort> (Since Linux 3.11)"
+msgstr "I<bp_type> (Linux 2.6.33 以降)"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1650
+msgid "The branch was in an aborted transactional memory transaction."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1654
+msgid ""
+"The entries are from most to least recent, so the first entry has the most "
+"recent branch."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1661
+msgid ""
+"Support for I<mispred> and I<predicted> is optional; if not supported, both "
+"values will be 0."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1665
+msgid ""
+"The type of branches recorded is specified by the I<branch_sample_type> "
+"field."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1667
#, no-wrap
msgid "I<abi>, I<regs[weight(mask)]>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1530
-msgid "If B<PERF_SAMPLE_REGS_USER> is enabled, then [to be documented]."
+#: build/C/man2/perf_event_open.2:1672
+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:1536
+#: build/C/man2/perf_event_open.2:1678
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:1688
+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:1536
+#: build/C/man2/perf_event_open.2:1688
#, no-wrap
msgid "I<size>, I<data[size]>, I<dyn_size>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1542
-msgid "If B<PERF_SAMPLE_STACK_USER> is enabled, then [to be documented]."
+#: build/C/man2/perf_event_open.2:1702
+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:1544
+#: build/C/man2/perf_event_open.2:1702
#, no-wrap
-msgid "I<misc>"
+msgid "I<weight>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1549
-msgid "The I<misc> field contains additional information about the sample."
+#: build/C/man2/perf_event_open.2:1710
+msgid ""
+"If B<PERF_SAMPLE_WEIGHT> is enabled, then a 64 bit value provided by the "
+"hardware 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:1710
+#, no-wrap
+msgid "I<data_src>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1554
+#: build/C/man2/perf_event_open.2:1716
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):"
+"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:1555
+#: build/C/man2/perf_event_open.2:1717
#, no-wrap
-msgid "B<PERF_RECORD_MISC_CPUMODE_UNKNOWN>"
+msgid "I<mem_op>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1558
-msgid "Unknown CPU mode."
+#: build/C/man2/perf_event_open.2:1720
+msgid "Type of opcode, a bitwise combination of:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1723
+#, fuzzy, no-wrap
+#| msgid "B<PERF_EVENT_IOC_ENABLE>"
+msgid "B<PERF_MEM_OP_NA>"
+msgstr "B<PERF_EVENT_IOC_ENABLE>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1726 build/C/man2/perf_event_open.2:1749
+#: build/C/man2/perf_event_open.2:1799 build/C/man2/perf_event_open.2:1822
+#: build/C/man2/perf_event_open.2:1836
+msgid "Not available"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1726
+#, fuzzy, no-wrap
+#| msgid "B<PERF_EVENT_IOC_PERIOD>"
+msgid "B<PERF_MEM_OP_LOAD>"
+msgstr "B<PERF_EVENT_IOC_PERIOD>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1729
+msgid "Load instruction"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1729
+#, fuzzy, no-wrap
+#| msgid "B<PERF_RECORD_FORK>"
+msgid "B<PERF_MEM_OP_STORE>"
+msgstr "B<PERF_RECORD_FORK>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1732
+msgid "Store instruction"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1732
+#, fuzzy, no-wrap
+#| msgid "B<PERF_EVENT_IOC_REFRESH>"
+msgid "B<PERF_MEM_OP_PFETCH>"
+msgstr "B<PERF_EVENT_IOC_REFRESH>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1735
+msgid "Prefetch"
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1558
+#: build/C/man2/perf_event_open.2:1735
+#, fuzzy, no-wrap
+#| msgid "B<PERF_RECORD_EXIT>"
+msgid "B<PERF_MEM_OP_EXEC>"
+msgstr "B<PERF_RECORD_EXIT>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1738
+msgid "Executable code"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1740
#, no-wrap
-msgid "B<PERF_RECORD_MISC_KERNEL>"
+msgid "I<mem_lvl>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1561
-msgid "Sample happened in the kernel."
+#: build/C/man2/perf_event_open.2:1743
+msgid "Memory hierarchy level hit or miss, a bitwise combination of:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1746
+#, fuzzy, no-wrap
+#| msgid "B<PERF_EVENT_IOC_ENABLE>"
+msgid "B<PERF_MEM_LVL_NA>"
+msgstr "B<PERF_EVENT_IOC_ENABLE>"
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1749
+#, fuzzy, no-wrap
+#| msgid "B<PERF_RECORD_EXIT>"
+msgid "B<PERF_MEM_LVL_HIT>"
+msgstr "B<PERF_RECORD_EXIT>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1752 build/C/man2/perf_event_open.2:1839
+msgid "Hit"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1752
+#, fuzzy, no-wrap
+#| msgid "B<PERF_EVENT_IOC_RESET>"
+msgid "B<PERF_MEM_LVL_MISS>"
+msgstr "B<PERF_EVENT_IOC_RESET>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1755 build/C/man2/perf_event_open.2:1842
+msgid "Miss"
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1561
+#: build/C/man2/perf_event_open.2:1755
#, no-wrap
-msgid "B<PERF_RECORD_MISC_USER>"
+msgid "B<PERF_MEM_LVL_L1>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1564
-msgid "Sample happened in user code."
+#: build/C/man2/perf_event_open.2:1758
+msgid "Level 1 cache"
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1564
+#: build/C/man2/perf_event_open.2:1758
#, no-wrap
-msgid "B<PERF_RECORD_MISC_HYPERVISOR>"
+msgid "B<PERF_MEM_LVL_LFB>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1567
-msgid "Sample happened in the hypervisor."
+#: build/C/man2/perf_event_open.2:1761
+msgid "Line fill buffer"
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1567
+#: build/C/man2/perf_event_open.2:1761
#, no-wrap
-msgid "B<PERF_RECORD_MISC_GUEST_KERNEL>"
+msgid "B<PERF_MEM_LVL_L2>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1570
-msgid "Sample happened in the guest kernel."
+#: build/C/man2/perf_event_open.2:1764
+msgid "Level 2 cache"
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1570
+#: build/C/man2/perf_event_open.2:1764
#, no-wrap
-msgid "B<PERF_RECORD_MISC_GUEST_USER>"
+msgid "B<PERF_MEM_LVL_L3>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1573
-msgid "Sample happened in guest user code."
+#: build/C/man2/perf_event_open.2:1767
+msgid "Level 3 cache"
msgstr ""
+#. type: TP
+#: build/C/man2/perf_event_open.2:1767
+#, fuzzy, no-wrap
+#| msgid "B<PERF_EVENT_IOC_RESET>"
+msgid "B<PERF_MEM_LVL_LOC_RAM>"
+msgstr "B<PERF_EVENT_IOC_RESET>"
+
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1576
-msgid "In addition, one of the following bits can be set:"
+#: build/C/man2/perf_event_open.2:1770
+msgid "Local DRAM"
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1577
+#: build/C/man2/perf_event_open.2:1770
#, no-wrap
-msgid "B<PERF_RECORD_MISC_EXACT_IP>"
+msgid "B<PERF_MEM_LVL_REM_RAM1>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1585
-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>."
+#: build/C/man2/perf_event_open.2:1773
+msgid "Remote DRAM 1 hop"
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1585
+#: build/C/man2/perf_event_open.2:1773
#, no-wrap
-msgid "B<PERF_RECORD_MISC_EXT_RESERVED>"
+msgid "B<PERF_MEM_LVL_REM_RAM2>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1588
-msgid "This indicates there is extended data available (currently not used)."
+#: build/C/man2/perf_event_open.2:1776
+msgid "Remote DRAM 2 hops"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1776
+#, no-wrap
+msgid "B<PERF_MEM_LVL_REM_CCE1>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1591
-msgid "This indicates the size of the record."
+#: build/C/man2/perf_event_open.2:1779
+msgid "Remote cache 1 hop"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1779
+#, no-wrap
+msgid "B<PERF_MEM_LVL_REM_CCE2>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1782
+msgid "Remote cache 2 hops"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1782
+#, fuzzy, no-wrap
+#| msgid "B<PERF_EVENT_IOC_RESET>"
+msgid "B<PERF_MEM_LVL_IO>"
+msgstr "B<PERF_EVENT_IOC_RESET>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1785
+#, fuzzy
+#| msgid "I/O error."
+msgid "I/O memory"
+msgstr "I/O エラー。"
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1785
+#, no-wrap
+msgid "B<PERF_MEM_LVL_UNC>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1788
+msgid "Uncached memory"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1790
+#, no-wrap
+msgid "I<mem_snoop>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1793
+msgid "Snoop mode, a bitwise combination of:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1796
+#, fuzzy, no-wrap
+#| msgid "B<PERF_EVENT_IOC_ENABLE>"
+msgid "B<PERF_MEM_SNOOP_NA>"
+msgstr "B<PERF_EVENT_IOC_ENABLE>"
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1799
+#, fuzzy, no-wrap
+#| msgid "B<PERF_EVENT_IOC_ENABLE>"
+msgid "B<PERF_MEM_SNOOP_NONE>"
+msgstr "B<PERF_EVENT_IOC_ENABLE>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1802
+msgid "No snoop"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1802
+#, fuzzy, no-wrap
+#| msgid "B<PERF_RECORD_EXIT>"
+msgid "B<PERF_MEM_SNOOP_HIT>"
+msgstr "B<PERF_RECORD_EXIT>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1805
+msgid "Snoop hit"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1805
+#, no-wrap
+msgid "B<PERF_MEM_SNOOP_MISS>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1808
+msgid "Snoop miss"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1808
+#, fuzzy, no-wrap
+#| msgid "B<PERF_RECORD_EXIT>"
+msgid "B<PERF_MEM_SNOOP_HITM>"
+msgstr "B<PERF_RECORD_EXIT>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1811
+msgid "Snoop hit modified"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1813
+#, no-wrap
+msgid "I<mem_lock>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1816
+msgid "Lock instruction, a bitwise combination of:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1819
+#, fuzzy, no-wrap
+#| msgid "B<PERF_EVENT_IOC_ENABLE>"
+msgid "B<PERF_MEM_LOCK_NA>"
+msgstr "B<PERF_EVENT_IOC_ENABLE>"
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1822
+#, fuzzy, no-wrap
+#| msgid "B<PERF_EVENT_IOC_ENABLE>"
+msgid "B<PERF_MEM_LOCK_LOCKED>"
+msgstr "B<PERF_EVENT_IOC_ENABLE>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1825
+msgid "Locked transaction"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1827
+#, no-wrap
+msgid "I<mem_dtlb>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1830
+msgid "TLB access hit or miss, a bitwise combination of:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1833
+#, fuzzy, no-wrap
+#| msgid "B<PERF_EVENT_IOC_ENABLE>"
+msgid "B<PERF_MEM_TLB_NA>"
+msgstr "B<PERF_EVENT_IOC_ENABLE>"
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1836
+#, fuzzy, no-wrap
+#| msgid "B<PERF_RECORD_EXIT>"
+msgid "B<PERF_MEM_TLB_HIT>"
+msgstr "B<PERF_RECORD_EXIT>"
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1839
+#, fuzzy, no-wrap
+#| msgid "B<PERF_EVENT_IOC_RESET>"
+msgid "B<PERF_MEM_TLB_MISS>"
+msgstr "B<PERF_EVENT_IOC_RESET>"
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1842
+#, no-wrap
+msgid "B<PERF_MEM_TLB_L1>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1845
+msgid "Level 1 TLB"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1845
+#, no-wrap
+msgid "B<PERF_MEM_TLB_L2>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1848
+msgid "Level 2 TLB"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1848
+#, no-wrap
+msgid "B<PERF_MEM_TLB_WK>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1851
+msgid "Hardware walker"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:1851
+#, fuzzy, no-wrap
+#| msgid "B<PERF_EVENT_IOC_RESET>"
+msgid "B<PERF_MEM_TLB_OS>"
+msgstr "B<PERF_EVENT_IOC_RESET>"
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1854
+msgid "OS fault handler"
msgstr ""
#. type: SS
-#: build/C/man2/perf_event_open.2:1592
+#: build/C/man2/perf_event_open.2:1860
#, no-wrap
msgid "Signal overflow"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1601
+#: build/C/man2/perf_event_open.2:1869
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) "
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1605
+#: build/C/man2/perf_event_open.2:1873
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:1607
+#: build/C/man2/perf_event_open.2:1875
msgid "There are two ways to generate signals."
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1617
+#: build/C/man2/perf_event_open.2:1885
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1629
+#: build/C/man2/perf_event_open.2:1897
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-"
#. FIXME(Vince) : Find out when this was introduced
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1635
+#: build/C/man2/perf_event_open.2:1903
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:1635
+#: build/C/man2/perf_event_open.2:1903
#, no-wrap
msgid "rdpmc instruction"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1642
+#: build/C/man2/perf_event_open.2:1910
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1647
+#: build/C/man2/perf_event_open.2:1915
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 "
msgstr ""
#. type: SS
-#: build/C/man2/perf_event_open.2:1647
+#: build/C/man2/perf_event_open.2:1915
#, no-wrap
msgid "perf_event ioctl calls"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1652
+#: build/C/man2/perf_event_open.2:1920
msgid "Various ioctls act on B<perf_event_open>() file descriptors"
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1652
-#, fuzzy, no-wrap
-#| msgid "B<PTRACE_EVENT_CLONE>"
+#: build/C/man2/perf_event_open.2:1920
+#, no-wrap
msgid "B<PERF_EVENT_IOC_ENABLE>"
-msgstr "B<PTRACE_EVENT_CLONE>"
+msgstr "B<PERF_EVENT_IOC_ENABLE>"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1656
+#: build/C/man2/perf_event_open.2:1924
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:1658 build/C/man2/perf_event_open.2:1671
-#: build/C/man2/perf_event_open.2:1699
-msgid "The ioctl argument is ignored."
+#: build/C/man2/perf_event_open.2:1930
+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 (but see BUGS)."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1658
-#, fuzzy, no-wrap
-#| msgid "B<PTRACE_EVENT_CLONE>"
+#: build/C/man2/perf_event_open.2:1930
+#, no-wrap
msgid "B<PERF_EVENT_IOC_DISABLE>"
-msgstr "B<PTRACE_EVENT_CLONE>"
+msgstr "B<PERF_EVENT_IOC_DISABLE>"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1662
+#: build/C/man2/perf_event_open.2:1934
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:1669
+#: build/C/man2/perf_event_open.2:1941
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 "
"counter from counting but doesn't affect any other counter."
msgstr ""
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1947
+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 (but see BUGS)."
+msgstr ""
+
#. type: TP
-#: build/C/man2/perf_event_open.2:1671
-#, fuzzy, no-wrap
-#| msgid "B<PTRACE_EVENT_FORK>"
+#: build/C/man2/perf_event_open.2:1947
+#, no-wrap
msgid "B<PERF_EVENT_IOC_REFRESH>"
-msgstr "B<PTRACE_EVENT_FORK>"
+msgstr "B<PERF_EVENT_IOC_REFRESH>"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1685
+#: build/C/man2/perf_event_open.2:1961
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. "
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1685
-#, fuzzy, no-wrap
-#| msgid "B<PTRACE_EVENT_FORK>"
+#: build/C/man2/perf_event_open.2:1961
+#, no-wrap
msgid "B<PERF_EVENT_IOC_RESET>"
-msgstr "B<PTRACE_EVENT_FORK>"
+msgstr "B<PERF_EVENT_IOC_RESET>"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1697
+#: build/C/man2/perf_event_open.2:1971
msgid ""
-"Reset the event count specified by the file descriptor argumentto zero. "
+"Reset the event count specified by the file descriptor argument to zero. "
"This resets only the counts; there is no way to reset the multiplexing "
-"I<time_enabled> or I<time_running> values. When sent to a group leader, "
-"only the leader is reset (child events are not)."
+"I<time_enabled> or I<time_running> values."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:1977
+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 (but see BUGS)."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1699
-#, fuzzy, no-wrap
-#| msgid "B<PTRACE_EVENT_FORK>"
+#: build/C/man2/perf_event_open.2:1977
+#, no-wrap
msgid "B<PERF_EVENT_IOC_PERIOD>"
-msgstr "B<PTRACE_EVENT_FORK>"
+msgstr "B<PERF_EVENT_IOC_PERIOD>"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1703
+#: build/C/man2/perf_event_open.2:1981
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:1706
+#: build/C/man2/perf_event_open.2:1984
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:1706
+#: build/C/man2/perf_event_open.2:1984
#, no-wrap
msgid "B<PERF_EVENT_IOC_SET_OUTPUT>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1711
+#: build/C/man2/perf_event_open.2:1989
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1714
+#: build/C/man2/perf_event_open.2:1992
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:1714
-#, fuzzy, no-wrap
-#| msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
+#: build/C/man2/perf_event_open.2:1992
+#, no-wrap
msgid "B<PERF_EVENT_IOC_SET_FILTER> (Since Linux 2.6.33)"
-msgstr "B<KEXEC_ON_CRASH> (Linux 2.6.13 以降)"
+msgstr "B<PERF_EVENT_IOC_SET_FILTER> (Linux 2.6.33 以降)"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1717
+#: build/C/man2/perf_event_open.2:1995
msgid "This adds an ftrace filter to this event."
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1719
+#: build/C/man2/perf_event_open.2:1997
msgid "The argument is a pointer to the desired ftrace filter."
msgstr ""
#. type: SS
-#: build/C/man2/perf_event_open.2:1719
+#: build/C/man2/perf_event_open.2:1997
#, no-wrap
msgid "Using prctl"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1732
+#: build/C/man2/perf_event_open.2:2010
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 "
msgstr ""
#. type: SS
-#: build/C/man2/perf_event_open.2:1732
+#: build/C/man2/perf_event_open.2:2010
#, no-wrap
msgid "perf_event related configuration files"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1735
+#: build/C/man2/perf_event_open.2:2013
msgid "Files in I</proc/sys/kernel/>"
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1736
+#: build/C/man2/perf_event_open.2:2014
#, no-wrap
msgid "I</proc/sys/kernel/perf_event_paranoid>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1742
+#: build/C/man2/perf_event_open.2:2020
msgid ""
"The I<perf_event_paranoid> file can be set to restrict access to the "
"performance counters."
msgstr ""
+#. type: IP
+#: build/C/man2/perf_event_open.2:2021
+#, no-wrap
+msgid "2"
+msgstr ""
+
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1744
-msgid "2 - only allow user-space measurements"
+#: build/C/man2/perf_event_open.2:2023
+msgid "only allow user-space measurements."
+msgstr ""
+
+#. type: IP
+#: build/C/man2/perf_event_open.2:2023
+#, no-wrap
+msgid "1"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1746
-msgid "1 - (default) allow both kernel and user measurements"
+#: build/C/man2/perf_event_open.2:2025
+msgid "allow both kernel and user measurements (default)."
+msgstr ""
+
+#. type: IP
+#: build/C/man2/perf_event_open.2:2025
+#, no-wrap
+msgid "0"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1748
-msgid "0 - allow access to CPU-specific data but not raw tracepoint samples"
+#: build/C/man2/perf_event_open.2:2027
+msgid "allow access to CPU-specific data but not raw tracepoint samples."
msgstr ""
+#. type: IP
+#: build/C/man2/perf_event_open.2:2027
+#, fuzzy, no-wrap
+#| msgid "-"
+msgid "-1"
+msgstr "-"
+
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1750
-msgid "-1 - no restrictions"
+#: build/C/man2/perf_event_open.2:2029
+msgid "no restrictions."
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1755
+#: build/C/man2/perf_event_open.2:2035
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:1755
+#: build/C/man2/perf_event_open.2:2035
#, no-wrap
msgid "I</proc/sys/kernel/perf_event_max_sample_rate>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1764
+#: build/C/man2/perf_event_open.2:2044
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 "
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1764
+#: build/C/man2/perf_event_open.2:2044
#, no-wrap
msgid "I</proc/sys/kernel/perf_event_mlock_kb>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1769
+#: build/C/man2/perf_event_open.2:2049
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:1772
+#: build/C/man2/perf_event_open.2:2053
msgid "Files in I</sys/bus/event_source/devices/>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1778
+#: build/C/man2/perf_event_open.2:2059
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</"
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1778
+#: build/C/man2/perf_event_open.2:2059
#, no-wrap
-msgid "I</sys/bus/event_source/devices/*/type>"
-msgstr ""
+msgid "I</sys/bus/event_source/devices/*/type> (Since Linux 2.6.38)"
+msgstr "I</sys/bus/event_source/devices/*/type> (Linux 2.6.38 以降)"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1783
+#: build/C/man2/perf_event_open.2:2064
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:1783
+#: build/C/man2/perf_event_open.2:2064
#, no-wrap
-msgid "I</sys/bus/event_source/devices/*/rdpmc>"
+msgid "I</sys/bus/event_source/devices/*/rdpmc> (Since Linux 3.4)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2069
+msgid ""
+"If this file is 1, then direct user-space access to the performance counter "
+"registers is allowed via the rdpmc instruction. This can be disabled by "
+"echoing 0 to the file."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1786
+#: build/C/man2/perf_event_open.2:2069
#, no-wrap
-msgid "I</sys/bus/event_source/devices/*/format/>"
+msgid "I</sys/bus/event_source/devices/*/format/> (Since Linux 3.4)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2075
+msgid ""
+"This sub-directory contains information on the architecture-specific sub-"
+"fields available for programming the various I<config> fields in the "
+"perf_event_attr struct."
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1791
+#: build/C/man2/perf_event_open.2:2085
msgid ""
-"This sub-directory contains information on what bits in the I<config> field "
-"of perf_event_attr correspond to."
+"The content of each file is the name of the config field, followed by a "
+"colon, followed by a series of integer bit ranges separated by commas. For "
+"example, the file I<event> may contain the value I<config1:1,6-10,44> which "
+"indicates that event is an attribute that occupies bits 1,6-10, and 44 of "
+"perf_event_attr::config1."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1791
+#: build/C/man2/perf_event_open.2:2085
#, no-wrap
-msgid "I</sys/bus/event_source/devices/*/events/>"
+msgid "I</sys/bus/event_source/devices/*/events/> (Since Linux 3.4)"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1800
+#: build/C/man2/perf_event_open.2:2094
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."
+"in the previously mentioned 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: Plain text
+#: build/C/man2/perf_event_open.2:2102
+msgid ""
+"The content of each file is a list of attribute names separated by commas. "
+"Each entry has an optional value (either hex or decimal). If no value is "
+"specified than it is assumed to be a single-bit field with a value of 1. An "
+"example entry may look like this: I<event=0x2,inv,ldlat=3>."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1800
+#: build/C/man2/perf_event_open.2:2102
#, no-wrap
msgid "I</sys/bus/event_source/devices/*/uevent>"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1810
+#: build/C/man2/perf_event_open.2:2106
+msgid ""
+"This file is the standard kernel device interface for injecting hotplug "
+"events."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/perf_event_open.2:2106
+#, no-wrap
+msgid "I</sys/bus/event_source/devices/*/cpumask> (Since Linux 3.7)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2115
+msgid ""
+"The I<cpumask> file contains a comma-separated list of integers that "
+"indicate a representative CPU number for each socket (package) on the "
+"motherboard. This is needed when setting up uncore or northbridge events, "
+"as those PMUs present socket-wide events."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2122
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:1814
+#: build/C/man2/perf_event_open.2:2126
msgid "Returned if the specified event is not available."
msgstr ""
#. type: TP
-#: build/C/man2/perf_event_open.2:1814
+#: build/C/man2/perf_event_open.2:2126
#, no-wrap
msgid "B<ENOSPC>"
msgstr "B<ENOSPC>"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1824
+#: build/C/man2/perf_event_open.2:2136
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>. "
msgstr ""
#. type: SH
-#: build/C/man2/perf_event_open.2:1824
+#: build/C/man2/perf_event_open.2:2136
#, no-wrap
msgid "VERSION"
msgstr "バージョン"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1829
+#: build/C/man2/perf_event_open.2:2141
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:1834
+#: build/C/man2/perf_event_open.2:2146
#, fuzzy
#| msgid ""
#| "B<personality>() is Linux-specific and should not be used in programs "
"はない。"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1838
+#: build/C/man2/perf_event_open.2:2150
#, fuzzy
#| msgid ""
#| "Glibc does not provide a wrapper for this system call; call it using "
"(2) を使って呼び出すこと。"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1844
+#: build/C/man2/perf_event_open.2:2156
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/"
msgstr ""
#. type: SH
-#: build/C/man2/perf_event_open.2:1844 build/C/man2/pivot_root.2:134
-#: build/C/man2/ptrace.2:1811
+#: build/C/man2/perf_event_open.2:2156 build/C/man2/pivot_root.2:134
+#: build/C/man2/ptrace.2:1884
#, no-wrap
msgid "BUGS"
msgstr "バグ"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1851
+#: build/C/man2/perf_event_open.2:2163
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:1859
+#: build/C/man2/perf_event_open.2:2171
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1863
+#: build/C/man2/perf_event_open.2:2175
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1866
+#: build/C/man2/perf_event_open.2:2178
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:1869
+#: build/C/man2/perf_event_open.2:2181
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:1873
+#: build/C/man2/perf_event_open.2:2185
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:1878
+#: build/C/man2/perf_event_open.2:2190
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. "
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1884
+#: build/C/man2/perf_event_open.2:2196
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 "
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1889
+#: build/C/man2/perf_event_open.2:2202
+msgid ""
+"From Linux 2.6.31 to Linux 3.4, the B<PERF_IOC_FLAG_GROUP> ioctl argument "
+"was broken and would repeatedly operate on the event specified rather than "
+"iterating across all sibling events in a group."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/perf_event_open.2:2207
msgid ""
"Always double-check your results! Various generalized events have had wrong "
"values. For example, retired branches measured the wrong thing on AMD "
msgstr ""
#. type: SH
-#: build/C/man2/perf_event_open.2:1889 build/C/man2/process_vm_readv.2:295
+#: build/C/man2/perf_event_open.2:2207 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:1893
+#: build/C/man2/perf_event_open.2:2211
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:1902
+#: build/C/man2/perf_event_open.2:2220
#, no-wrap
msgid ""
"#include E<lt>stdlib.hE<gt>\n"
"#include E<lt>asm/unistd.hE<gt>\n"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1908
+#: build/C/man2/perf_event_open.2:2226
#, no-wrap
msgid ""
"long\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1913
+#: build/C/man2/perf_event_open.2:2231
#, no-wrap
msgid ""
" ret = syscall(__NR_perf_event_open, hw_event, pid, cpu,\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1920
+#: build/C/man2/perf_event_open.2:2238
#, no-wrap
msgid ""
"int\n"
" int fd;\n"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1928
+#: build/C/man2/perf_event_open.2:2246
#, no-wrap
msgid ""
" memset(&pe, 0, sizeof(struct perf_event_attr));\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1934
+#: build/C/man2/perf_event_open.2:2252
#, no-wrap
msgid ""
" fd = perf_event_open(&pe, 0, -1, -1, 0);\n"
" }\n"
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1937
+#: build/C/man2/perf_event_open.2:2255
#, no-wrap
msgid ""
" ioctl(fd, PERF_EVENT_IOC_RESET, 0);\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1939
+#: build/C/man2/perf_event_open.2:2257
#, no-wrap
msgid " printf(\"Measuring instruction count for this printf\\en\");\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1942
+#: build/C/man2/perf_event_open.2:2260
#, no-wrap
msgid ""
" ioctl(fd, PERF_EVENT_IOC_DISABLE, 0);\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1944
+#: build/C/man2/perf_event_open.2:2262
#, no-wrap
msgid " printf(\"Used %lld instructions\\en\", count);\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1947
+#: build/C/man2/perf_event_open.2:2265
#, no-wrap
msgid ""
" close(fd);\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/perf_event_open.2:1954
+#: build/C/man2/perf_event_open.2:2272
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: Plain text
#: build/C/man2/pivot_root.2:13
-msgid "pivot_root - change the root file system"
+#, fuzzy
+#| msgid "pivot_root - change the root file system"
+msgid "pivot_root - change the root filesystem"
msgstr "pivot_root - root ファイルシステムを変更する"
#. type: Plain text
#. capability is required.
#. type: Plain text
#: build/C/man2/pivot_root.2:27
+#, fuzzy
+#| msgid ""
+#| "B<pivot_root>() moves the root file system of the calling process to the "
+#| "directory I<put_old> and makes I<new_root> the new root file system of "
+#| "the calling process."
msgid ""
-"B<pivot_root>() moves the root file system of the calling process to the "
-"directory I<put_old> and makes I<new_root> the new root file system of the "
+"B<pivot_root>() moves the root filesystem of the calling process to the "
+"directory I<put_old> and makes I<new_root> the new root filesystem of the "
"calling process."
msgstr ""
"B<pivot_root>() は呼び出し元のプロセスの root ファイルシステムを I<put_old> "
#. type: Plain text
#: build/C/man2/pivot_root.2:34
+#, fuzzy
+#| msgid ""
+#| "The typical use of B<pivot_root>() is during system startup, when the "
+#| "system mounts a temporary root file system (e.g., an B<initrd>), then "
+#| "mounts the real root file system, and eventually turns the latter into "
+#| "the current root of all relevant processes or threads."
msgid ""
"The typical use of B<pivot_root>() is during system startup, when the "
-"system mounts a temporary root file system (e.g., an B<initrd>), then mounts "
-"the real root file system, and eventually turns the latter into the current "
+"system mounts a temporary root filesystem (e.g., an B<initrd>), then mounts "
+"the real root filesystem, and eventually turns the latter into the current "
"root of all relevant processes or threads."
msgstr ""
"B<pivot_root>() の典型的な利用法は、システムの起動中にシステムが一時的な "
#. type: Plain text
#: build/C/man2/pivot_root.2:64
+#, fuzzy
+#| msgid ""
+#| "The paragraph above is intentionally vague because the implementation of "
+#| "B<pivot_root>() may change in the future. At the time of writing, "
+#| "B<pivot_root>() changes root and current working directory of each "
+#| "process or thread to I<new_root> if they point to the old root "
+#| "directory. This is necessary in order to prevent kernel threads from "
+#| "keeping the old root directory busy with their root and current working "
+#| "directory, even if they never access the file system in any way. In the "
+#| "future, there may be a mechanism for kernel threads to explicitly "
+#| "relinquish any access to the file system, such that this fairly intrusive "
+#| "mechanism can be removed from B<pivot_root>()."
msgid ""
"The paragraph above is intentionally vague because the implementation of "
"B<pivot_root>() may change in the future. At the time of writing, "
"or thread to I<new_root> if they point to the old root directory. This is "
"necessary in order to prevent kernel threads from keeping the old root "
"directory busy with their root and current working directory, even if they "
-"never access the file system in any way. In the future, there may be a "
-"mechanism for kernel threads to explicitly relinquish any access to the file "
-"system, such that this fairly intrusive mechanism can be removed from "
+"never access the filesystem in any way. In the future, there may be a "
+"mechanism for kernel threads to explicitly relinquish any access to the "
+"filesystem, such that this fairly intrusive mechanism can be removed from "
"B<pivot_root>()."
msgstr ""
"上記の段落は、将来 B<pivot_root>() が変更されるかも知れないことを鑑みて、わ"
#. type: Plain text
#: build/C/man2/pivot_root.2:79
+#, fuzzy
+#| msgid ""
+#| "I<new_root> and I<put_old> must not be on the same file system as the "
+#| "current root."
msgid ""
-"I<new_root> and I<put_old> must not be on the same file system as the "
-"current root."
+"I<new_root> and I<put_old> must not be on the same filesystem as the current "
+"root."
msgstr ""
"I<new_root> と I<put_old> は現在の root と同じファイルシステムにあってはなら"
"ない。"
#. type: Plain text
#: build/C/man2/pivot_root.2:85
-msgid "No other file system may be mounted on I<put_old>."
+#, fuzzy
+#| msgid "No other file system may be mounted on I<put_old>."
+msgid "No other filesystem may be mounted on I<put_old>."
msgstr "他のファイルシステムが I<put_old> にマウントされていてはならない。"
#. type: Plain text
#. type: Plain text
#: build/C/man2/pivot_root.2:96
+#, fuzzy
+#| msgid ""
+#| "If the current root is not a mount point (e.g., after B<chroot>(2) or "
+#| "B<pivot_root>(), see also below), not the old root directory, but the "
+#| "mount point of that file system is mounted on I<put_old>."
msgid ""
"If the current root is not a mount point (e.g., after B<chroot>(2) or "
"B<pivot_root>(), see also below), not the old root directory, but the mount "
-"point of that file system is mounted on I<put_old>."
+"point of that filesystem is mounted on I<put_old>."
msgstr ""
"現在の root がマウントポイントではない (B<chroot>(2) や B<pivot_root>() の"
"後など。以下も参照) 場合、 古い root ディレクトリではなく、 そのファイルシス"
#. type: Plain text
#: build/C/man2/pivot_root.2:101
+#, fuzzy
+#| msgid ""
+#| "I<new_root> does not have to be a mount point. In this case, I</proc/"
+#| "mounts> will show the mount point of the file system containing "
+#| "I<new_root> as root (I</>)."
msgid ""
"I<new_root> does not have to be a mount point. In this case, I</proc/"
-"mounts> will show the mount point of the file system containing I<new_root> "
+"mounts> will show the mount point of the filesystem containing I<new_root> "
"as root (I</>)."
msgstr ""
"I<new_root> はマウントポイントでなくてもよい。 この場合 I</proc/mounts> は、 "
#. type: Plain text
#: build/C/man2/pivot_root.2:114
+#, fuzzy
+#| msgid ""
+#| "I<new_root> or I<put_old> are on the current root file system, or a file "
+#| "system is already mounted on I<put_old>."
msgid ""
-"I<new_root> or I<put_old> are on the current root file system, or a file "
-"system is already mounted on I<put_old>."
+"I<new_root> or I<put_old> are on the current root filesystem, or a "
+"filesystem is already mounted on I<put_old>."
msgstr ""
"I<new_root> または I<put_old> が、現在の root ファイルシステム上にあるか、既"
"に I<put_old> になんらかのファイルシステムがマウントされている。"
#. type: TH
#: build/C/man2/ptrace.2:44
#, no-wrap
-msgid "2013-02-16"
-msgstr "2013-02-16"
+msgid "2013-07-11"
+msgstr "2013-07-11"
#. type: Plain text
#: build/C/man2/ptrace.2:47
"Indicate that this process is to be traced by its parent. A process "
"probably shouldn't make this request if its parent isn't expecting to trace "
"it. (I<pid>, I<addr>, and I<data> are ignored.)"
-msgstr "このプロセスが親プロセスによってトレースされることを表す。親プロセスが自プロセスをトレースするつもりがない場合には、 おそらくこのプロセスは本要求を行うべきではないだろう。 (I<pid>, I<addr>, I<data> は無視される。)"
+msgstr ""
+"このプロセスが親プロセスによってトレースされることを表す。親プロセスが自プロ"
+"セスをトレースするつもりがない場合には、 おそらくこのプロセスは本要求を行うべ"
+"きではないだろう。 (I<pid>, I<addr>, I<data> は無視される。)"
#. type: Plain text
#: build/C/man2/ptrace.2:156
#. type: TP
#: build/C/man2/ptrace.2:236
-#, fuzzy, no-wrap
-#| msgid "B<PTRACE_GETEVENTMSG> (since Linux 2.5.46)"
+#, no-wrap
msgid "B<PTRACE_GETREGSET> (since Linux 2.6.34)"
-msgstr "B<PTRACE_GETEVENTMSG> (Linux 2.5.46 以降)"
+msgstr " B<PTRACE_GETREGSET> (since Linux 2.6.34)"
#. type: Plain text
#: build/C/man2/ptrace.2:257
#. type: TP
#: build/C/man2/ptrace.2:257
#, no-wrap
-msgid "B<PTRACE_GETSIGINFO> (since Linux 2.3.99-pre6)"
-msgstr "B<PTRACE_GETSIGINFO> (Linux 2.3.99-pre6 以降)"
-
-#. type: Plain text
-#: build/C/man2/ptrace.2:269
-#, fuzzy
-#| msgid ""
-#| "Retrieve information about the signal that caused the stop. Copies a "
-#| "I<siginfo_t> structure (see B<sigaction>(2)) from the child to location "
-#| "I<data> in the parent. (I<addr> is ignored.)"
-msgid ""
-"Retrieve information about the signal that caused the stop. Copy a "
-"I<siginfo_t> structure (see B<sigaction>(2)) from the tracee to the address "
-"I<data> in the tracer. (I<addr> is ignored.)"
-msgstr ""
-"停止の原因となったシグナルに関する情報を取得する。 I<siginfo_t> 構造体 "
-"(B<sigaction>(2) 参照) を子プロセスから親プロセスの I<data> の位置にコピーす"
-"る。 (I<addr> は無視される。)"
-
-#. type: TP
-#: build/C/man2/ptrace.2:269
-#, no-wrap
msgid "B<PTRACE_SETREGS>, B<PTRACE_SETFPREGS>"
msgstr "B<PTRACE_SETREGS>, B<PTRACE_SETFPREGS>"
#. FIXME In the preceding sentence, which modifications are disallowed,
#. and when they are disallowed, how does user space discover that fact?
#. type: Plain text
-#: build/C/man2/ptrace.2:294
+#: build/C/man2/ptrace.2:282
#, fuzzy
#| msgid ""
#| "Copies the child's general purpose or floating-point registers, "
"よっては 変更が禁止されている場合がある。 (I<addr> は無視される。)"
#. type: TP
-#: build/C/man2/ptrace.2:294
-#, fuzzy, no-wrap
-#| msgid "B<PTRACE_GETEVENTMSG> (since Linux 2.5.46)"
+#: build/C/man2/ptrace.2:282
+#, no-wrap
msgid "B<PTRACE_SETREGSET> (since Linux 2.6.34)"
-msgstr "B<PTRACE_GETEVENTMSG> (Linux 2.5.46 以降)"
+msgstr " B<PTRACE_SETREGSET> (since Linux 2.6.34)"
#. type: Plain text
-#: build/C/man2/ptrace.2:303
+#: build/C/man2/ptrace.2:291
msgid ""
"Modify the tracee's registers. The meaning of I<addr> and I<data> is "
"analogous to B<PTRACE_GETREGSET>."
msgstr ""
#. type: TP
+#: build/C/man2/ptrace.2:291
+#, no-wrap
+msgid "B<PTRACE_GETSIGINFO> (since Linux 2.3.99-pre6)"
+msgstr "B<PTRACE_GETSIGINFO> (Linux 2.3.99-pre6 以降)"
+
+#. type: Plain text
+#: build/C/man2/ptrace.2:303
+#, fuzzy
+#| msgid ""
+#| "Retrieve information about the signal that caused the stop. Copies a "
+#| "I<siginfo_t> structure (see B<sigaction>(2)) from the child to location "
+#| "I<data> in the parent. (I<addr> is ignored.)"
+msgid ""
+"Retrieve information about the signal that caused the stop. Copy a "
+"I<siginfo_t> structure (see B<sigaction>(2)) from the tracee to the address "
+"I<data> in the tracer. (I<addr> is ignored.)"
+msgstr ""
+"停止の原因となったシグナルに関する情報を取得する。 I<siginfo_t> 構造体 "
+"(B<sigaction>(2) 参照) を子プロセスから親プロセスの I<data> の位置にコピーす"
+"る。 (I<addr> は無視される。)"
+
+#. type: TP
#: build/C/man2/ptrace.2:303
#, no-wrap
msgid "B<PTRACE_SETSIGINFO> (since Linux 2.3.99-pre6)"
#. type: TP
#: build/C/man2/ptrace.2:329
-#, fuzzy, no-wrap
-#| msgid "B<PTRACE_O_TRACEEXIT> (since Linux 2.5.60)"
+#, no-wrap
msgid "B<PTRACE_O_EXITKILL> (since Linux 3.8)"
-msgstr "B<PTRACE_O_TRACEEXIT> (Linux 2.5.60 以降)"
+msgstr " B<PTRACE_O_EXITKILL> (since Linux 3.8)"
#. commit 992fb6e170639b0849bace8e49bf31bd37c4123
#. type: Plain text
msgstr "B<PTRACE_O_TRACECLONE> (Linux 2.5.46 以降)"
#. type: Plain text
-#: build/C/man2/ptrace.2:349
+#: build/C/man2/ptrace.2:354
#, fuzzy
#| msgid ""
#| "Stop the child at the next B<fork>(2) call with I<SIGTRAP | "
#| "the new process can be retrieved with B<PTRACE_GETEVENTMSG>."
msgid ""
"Stop the tracee at the next B<clone>(2) and automatically start tracing the "
-"newly cloned process, which will start with a B<SIGSTOP>. A B<waitpid>(2) "
-"by the tracer will return a I<status> value such that"
+"newly cloned process, which will start with a B<SIGSTOP>, or "
+"B<PTRACE_EVENT_STOP> if B<PTRACE_SEIZE> was used. A B<waitpid>(2) by the "
+"tracer will return a I<status> value such that"
msgstr ""
"次の B<fork>(2) 呼び出し時に I<SIGTRAP | PTRACE_EVENT_FORK\\ E<lt>E<lt>\\ "
"8> で 子プロセスの動作を停止させ、 新たに fork されたプロセスのトレースを自動"
"PID は B<PTRACE_GETEVENTMSG> で取得できる。"
#. type: Plain text
-#: build/C/man2/ptrace.2:352
+#: build/C/man2/ptrace.2:357
#, no-wrap
msgid " statusE<gt>E<gt>8 == (SIGTRAP | (PTRACE_EVENT_CLONEE<lt>E<lt>8))\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:356 build/C/man2/ptrace.2:437
-#: build/C/man2/ptrace.2:465
+#: build/C/man2/ptrace.2:361 build/C/man2/ptrace.2:447
+#: build/C/man2/ptrace.2:480
msgid "The PID of the new process can be retrieved with B<PTRACE_GETEVENTMSG>."
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:377
+#: build/C/man2/ptrace.2:382
#, fuzzy
#| msgid ""
#| "Stop the child at the next B<clone>(2) call with I<SIGTRAP | "
"B<PTRACE_O_TRACEFORK> が設定されていれば B<PTRACE_EVENT_FORK> が配送される。"
#. type: TP
-#: build/C/man2/ptrace.2:377
+#: build/C/man2/ptrace.2:382
#, no-wrap
msgid "B<PTRACE_O_TRACEEXEC> (since Linux 2.5.46)"
msgstr "B<PTRACE_O_TRACEEXEC> (Linux 2.5.46 以降)"
#. type: Plain text
-#: build/C/man2/ptrace.2:386
+#: build/C/man2/ptrace.2:391
msgid ""
"Stop the tracee at the next B<execve>(2). A B<waitpid>(2) by the tracer "
"will return a I<status> value such that"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:389
+#: build/C/man2/ptrace.2:394
#, no-wrap
msgid " statusE<gt>E<gt>8 == (SIGTRAP | (PTRACE_EVENT_EXECE<lt>E<lt>8))\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:395
+#: build/C/man2/ptrace.2:400
msgid ""
"If the execing thread is not a thread group leader, the thread ID is reset "
"to thread group leader's ID before this stop. Since Linux 3.0, the former "
msgstr ""
#. type: TP
-#: build/C/man2/ptrace.2:395
+#: build/C/man2/ptrace.2:400
#, no-wrap
msgid "B<PTRACE_O_TRACEEXIT> (since Linux 2.5.60)"
msgstr "B<PTRACE_O_TRACEEXIT> (Linux 2.5.60 以降)"
#. type: Plain text
-#: build/C/man2/ptrace.2:403
+#: build/C/man2/ptrace.2:408
msgid ""
"Stop the tracee at exit. A B<waitpid>(2) by the tracer will return a "
"I<status> value such that"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:406
+#: build/C/man2/ptrace.2:411
#, no-wrap
msgid " statusE<gt>E<gt>8 == (SIGTRAP | (PTRACE_EVENT_EXITE<lt>E<lt>8))\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:410
+#: build/C/man2/ptrace.2:415
msgid "The tracee's exit status can be retrieved with B<PTRACE_GETEVENTMSG>."
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:418
+#: build/C/man2/ptrace.2:423
#, fuzzy
#| msgid ""
#| "Stop the child at exit with I<SIGTRAP | PTRACE_EVENT_EXIT\\ E<lt>E<lt>\\ "
"できない。"
#. type: TP
-#: build/C/man2/ptrace.2:418
+#: build/C/man2/ptrace.2:423
#, no-wrap
msgid "B<PTRACE_O_TRACEFORK> (since Linux 2.5.46)"
msgstr "B<PTRACE_O_TRACEFORK> (Linux 2.5.46 以降)"
#. type: Plain text
-#: build/C/man2/ptrace.2:430
+#: build/C/man2/ptrace.2:440
#, fuzzy
#| msgid ""
#| "Stop the child at the next B<fork>(2) call with I<SIGTRAP | "
#| "the new process can be retrieved with B<PTRACE_GETEVENTMSG>."
msgid ""
"Stop the tracee at the next B<fork>(2) and automatically start tracing the "
-"newly forked process, which will start with a B<SIGSTOP>. A B<waitpid>(2) "
-"by the tracer will return a I<status> value such that"
+"newly forked process, which will start with a B<SIGSTOP>, or "
+"B<PTRACE_EVENT_STOP> if B<PTRACE_SEIZE> was used. A B<waitpid>(2) by the "
+"tracer will return a I<status> value such that"
msgstr ""
"次の B<fork>(2) 呼び出し時に I<SIGTRAP | PTRACE_EVENT_FORK\\ E<lt>E<lt>\\ "
"8> で 子プロセスの動作を停止させ、 新たに fork されたプロセスのトレースを自動"
"PID は B<PTRACE_GETEVENTMSG> で取得できる。"
#. type: Plain text
-#: build/C/man2/ptrace.2:433
+#: build/C/man2/ptrace.2:443
#, no-wrap
msgid " statusE<gt>E<gt>8 == (SIGTRAP | (PTRACE_EVENT_FORKE<lt>E<lt>8))\n"
msgstr ""
#. type: TP
-#: build/C/man2/ptrace.2:437
+#: build/C/man2/ptrace.2:447
#, no-wrap
msgid "B<PTRACE_O_TRACESYSGOOD> (since Linux 2.4.6)"
msgstr "B<PTRACE_O_TRACESYSGOOD> (Linux 2.4.6 以降)"
#. type: Plain text
-#: build/C/man2/ptrace.2:446
+#: build/C/man2/ptrace.2:456
#, fuzzy
#| msgid ""
#| "When delivering syscall traps, set bit 7 in the signal number (i.e., "
"(B<PTRACE_O_TRACESYSGOOD> はどのアーキテクチャでも動作しない可能性がある。)"
#. type: TP
-#: build/C/man2/ptrace.2:446
+#: build/C/man2/ptrace.2:456
#, no-wrap
msgid "B<PTRACE_O_TRACEVFORK> (since Linux 2.5.46)"
msgstr "B<PTRACE_O_TRACEVFORK> (Linux 2.5.46 以降)"
#. type: Plain text
-#: build/C/man2/ptrace.2:458
+#: build/C/man2/ptrace.2:473
#, fuzzy
#| msgid ""
#| "Stop the child at the next B<vfork>(2) call with I<SIGTRAP | "
#| "the new process can be retrieved with B<PTRACE_GETEVENTMSG>."
msgid ""
"Stop the tracee at the next B<vfork>(2) and automatically start tracing the "
-"newly vforked process, which will start with a B<SIGSTOP>. A B<waitpid>(2) "
-"by the tracer will return a I<status> value such that"
+"newly vforked process, which will start with a B<SIGSTOP>, or "
+"B<PTRACE_EVENT_STOP> if B<PTRACE_SEIZE> was used. A B<waitpid>(2) by the "
+"tracer will return a I<status> value such that"
msgstr ""
"次の B<vfork>(2) 呼び出し時に I<SIGTRAP | PTRACE_EVENT_VFORK\\ E<lt>E<lt>\\ "
"8> で 子プロセスの動作を停止させ、 新たに vfork されたプロセスのトレースを自"
"PID は B<PTRACE_GETEVENTMSG> で取得できる。"
#. type: Plain text
-#: build/C/man2/ptrace.2:461
+#: build/C/man2/ptrace.2:476
#, no-wrap
msgid " statusE<gt>E<gt>8 == (SIGTRAP | (PTRACE_EVENT_VFORKE<lt>E<lt>8))\n"
msgstr ""
#. type: TP
-#: build/C/man2/ptrace.2:465
+#: build/C/man2/ptrace.2:480
#, no-wrap
msgid "B<PTRACE_O_TRACEVFORKDONE> (since Linux 2.5.60)"
msgstr "B<PTRACE_O_TRACEVFORKDONE> (Linux 2.5.60 以降)"
#. type: Plain text
-#: build/C/man2/ptrace.2:474
+#: build/C/man2/ptrace.2:489
msgid ""
"Stop the tracee at the completion of the next B<vfork>(2). A B<waitpid>(2) "
"by the tracer will return a I<status> value such that"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:477
+#: build/C/man2/ptrace.2:492
#, no-wrap
msgid " statusE<gt>E<gt>8 == (SIGTRAP | (PTRACE_EVENT_VFORK_DONEE<lt>E<lt>8))\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:481
+#: build/C/man2/ptrace.2:496
msgid ""
"The PID of the new process can (since Linux 2.6.18) be retrieved with "
"B<PTRACE_GETEVENTMSG>."
msgstr ""
#. type: TP
-#: build/C/man2/ptrace.2:482
+#: build/C/man2/ptrace.2:497
#, no-wrap
msgid "B<PTRACE_GETEVENTMSG> (since Linux 2.5.46)"
msgstr "B<PTRACE_GETEVENTMSG> (Linux 2.5.46 以降)"
#. type: Plain text
-#: build/C/man2/ptrace.2:502
+#: build/C/man2/ptrace.2:517
#, fuzzy
#| msgid ""
#| "Retrieve a message (as an I<unsigned long>) about the ptrace event that "
"B<PTRACE_EVENT_VFORK_DONE> で入手できる。 (I<addr> は無視される。)"
#. type: TP
-#: build/C/man2/ptrace.2:502
+#: build/C/man2/ptrace.2:517
#, no-wrap
msgid "B<PTRACE_CONT>"
msgstr "B<PTRACE_CONT>"
#. type: Plain text
-#: build/C/man2/ptrace.2:514
+#: build/C/man2/ptrace.2:529
#, fuzzy
#| msgid ""
#| "Restarts the stopped child process. If I<data> is nonzero and not "
"は無視される。)"
#. type: TP
-#: build/C/man2/ptrace.2:514
+#: build/C/man2/ptrace.2:529
#, no-wrap
msgid "B<PTRACE_SYSCALL>, B<PTRACE_SINGLESTEP>"
msgstr "B<PTRACE_SYSCALL>, B<PTRACE_SINGLESTEP>"
#. type: Plain text
-#: build/C/man2/ptrace.2:538
+#: build/C/man2/ptrace.2:553
#, fuzzy
#| msgid ""
#| "Restarts the stopped child as for B<PTRACE_CONT>, but arranges for the "
"同じ様に解釈される。 (I<addr> は無視される。)"
#. type: TP
-#: build/C/man2/ptrace.2:538
+#: build/C/man2/ptrace.2:553
#, no-wrap
msgid "B<PTRACE_SYSEMU>, B<PTRACE_SYSEMU_SINGLESTEP> (since Linux 2.6.14)"
msgstr "B<PTRACE_SYSEMU>, B<PTRACE_SYSEMU_SINGLESTEP> (Linux 2.6.14 以降)"
#. As at 3.7
#. type: Plain text
-#: build/C/man2/ptrace.2:559
+#: build/C/man2/ptrace.2:574
#, fuzzy
#| msgid ""
#| "For B<PTRACE_SYSEMU>, continue and stop on entry to the next syscall, "
"ポートされているわけではない。)"
#. type: TP
-#: build/C/man2/ptrace.2:559
-#, fuzzy, no-wrap
-#| msgid "B<PTRACE_GETEVENTMSG> (since Linux 2.5.46)"
+#: build/C/man2/ptrace.2:574
+#, no-wrap
msgid "B<PTRACE_LISTEN> (since Linux 3.4)"
-msgstr "B<PTRACE_GETEVENTMSG> (Linux 2.5.46 以降)"
+msgstr " B<PTRACE_LISTEN> (since Linux 3.4)"
#. type: Plain text
-#: build/C/man2/ptrace.2:570
+#: build/C/man2/ptrace.2:585
msgid ""
"Restart the stopped tracee, but prevent it from executing. The resulting "
"state of the tracee is similar to a process which has been stopped by a "
msgstr ""
#. type: TP
-#: build/C/man2/ptrace.2:570
+#: build/C/man2/ptrace.2:585
#, no-wrap
msgid "B<PTRACE_KILL>"
msgstr "B<PTRACE_KILL>"
#. type: Plain text
-#: build/C/man2/ptrace.2:579
+#: build/C/man2/ptrace.2:594
#, fuzzy
#| msgid ""
#| "Sends the child a B<SIGKILL> to terminate it. (I<addr> and I<data> are "
#. deprecation suggested by Oleg Nesterov. He prefers to deprecate it
#. instead of describing (and needing to support) PTRACE_KILL's quirks.]
#. type: Plain text
-#: build/C/man2/ptrace.2:598
+#: build/C/man2/ptrace.2:613
msgid ""
"I<This operation is deprecated; do not use it!> Instead, send a B<SIGKILL> "
"directly using B<kill>(2) or B<tgkill>(2). The problem with B<PTRACE_KILL> "
msgstr ""
#. type: TP
-#: build/C/man2/ptrace.2:598
-#, fuzzy, no-wrap
-#| msgid "B<PTRACE_O_TRACEFORK> (since Linux 2.5.46)"
+#: build/C/man2/ptrace.2:613
+#, no-wrap
msgid "B<PTRACE_INTERRUPT> (since Linux 3.4)"
-msgstr "B<PTRACE_O_TRACEFORK> (Linux 2.5.46 以降)"
+msgstr " B<PTRACE_INTERRUPT> (since Linux 3.4)"
#. type: Plain text
-#: build/C/man2/ptrace.2:612
+#: build/C/man2/ptrace.2:641
msgid ""
-"Stop a tracee. If the tracee is running, it will stop with "
-"B<PTRACE_EVENT_STOP>. If the tracee is already stopped by a signal, or "
-"receives a signal in parallel with B<PTRACE_INTERRUPT>, it may report a "
-"group-stop or a signal-delivery-stop instead of B<PTRACE_EVENT_STOP>. "
+"Stop a tracee. If the tracee is running or sleeping in kernel space and "
+"B<PTRACE_SYSCALL> is in effect, the system call is interrupted and syscall-"
+"exit-stop is reported. (The interrupted system call is restarted when the "
+"tracee is restarted.) If the tracee was already stopped by a signal and "
+"B<PTRACE_LISTEN> was sent to it, the tracee stops with B<PTRACE_EVENT_STOP> "
+"and I<WSTOPSIG(status)> returns the stop signal. If any other ptrace-stop "
+"is generated at the same time (for example, if a signal is sent to the "
+"tracee), this ptrace-stop happens. If none of the above applies (for "
+"example, if the tracee is running in userspace), it stops with "
+"B<PTRACE_EVENT_STOP> with I<WSTOPSIG(status)> == B<SIGTRAP>. "
"B<PTRACE_INTERRUPT> only works on tracees attached by B<PTRACE_SEIZE>."
msgstr ""
#. type: TP
-#: build/C/man2/ptrace.2:612
+#: build/C/man2/ptrace.2:641
#, no-wrap
msgid "B<PTRACE_ATTACH>"
msgstr "B<PTRACE_ATTACH>"
#. .BR getppid (2)
#. by the tracee will still return the PID of the original parent.
#. type: Plain text
-#: build/C/man2/ptrace.2:640
+#: build/C/man2/ptrace.2:669
msgid ""
"Attach to the process specified in I<pid>, making it a tracee of the calling "
"process. The tracee is sent a B<SIGSTOP>, but will not necessarily have "
msgstr ""
#. type: TP
-#: build/C/man2/ptrace.2:640
-#, fuzzy, no-wrap
-#| msgid "B<PTRACE_O_TRACEEXEC> (since Linux 2.5.46)"
+#: build/C/man2/ptrace.2:669
+#, no-wrap
msgid "B<PTRACE_SEIZE> (since Linux 3.4)"
-msgstr "B<PTRACE_O_TRACEEXEC> (Linux 2.5.46 以降)"
+msgstr " B<PTRACE_SEIZE> (since Linux 3.4)"
#. type: Plain text
-#: build/C/man2/ptrace.2:660
+#: build/C/man2/ptrace.2:689
msgid ""
"Attach to the process specified in I<pid>, making it a tracee of the calling "
"process. Unlike B<PTRACE_ATTACH>, B<PTRACE_SEIZE> does not stop the "
msgstr ""
#. type: TP
-#: build/C/man2/ptrace.2:660
+#: build/C/man2/ptrace.2:689
#, no-wrap
msgid "B<PTRACE_DETACH>"
msgstr "B<PTRACE_DETACH>"
#. type: Plain text
-#: build/C/man2/ptrace.2:669
+#: build/C/man2/ptrace.2:698
#, fuzzy
#| msgid ""
#| "Restarts the stopped child as for B<PTRACE_CONT>, but first detaches from "
"も、この方法で分離 (detach) することができる。 (I<addr> は無視される。)"
#. type: SS
-#: build/C/man2/ptrace.2:669
+#: build/C/man2/ptrace.2:698
#, no-wrap
msgid "Death under ptrace"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:678
+#: build/C/man2/ptrace.2:707
msgid ""
"When a (possibly multithreaded) process receives a killing signal (one whose "
"disposition is set to B<SIG_DFL> and whose default action is to kill the "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:687
+#: build/C/man2/ptrace.2:716
msgid ""
"Note that the killing signal will first cause signal-delivery-stop (on one "
"tracee only), and only after it is injected by the tracer (or after it was "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:699
+#: build/C/man2/ptrace.2:728
msgid ""
"B<SIGKILL> does not generate signal-delivery-stop and therefore the tracer "
"can't suppress it. B<SIGKILL> kills even within system calls (syscall-exit-"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:704
+#: build/C/man2/ptrace.2:733
msgid ""
"When the tracee calls B<_exit>(2), it reports its death to its tracer. "
"Other threads are not affected."
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:708
+#: build/C/man2/ptrace.2:737
msgid ""
"When any thread executes B<exit_group>(2), every tracee in its thread group "
"reports its death to its tracer."
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:722
+#: build/C/man2/ptrace.2:751
msgid ""
"If the B<PTRACE_O_TRACEEXIT> option is on, B<PTRACE_EVENT_EXIT> will happen "
"before actual death. This applies to exits via B<exit>(2), B<exit_group>"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:747
+#: build/C/man2/ptrace.2:776
msgid ""
"The tracer cannot assume that the ptrace-stopped tracee exists. There are "
"many scenarios when the tracee may die while stopped (such as B<SIGKILL>). "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:761
+#: build/C/man2/ptrace.2:790
msgid ""
"The tracer can't assume that the tracee I<always> ends its life by reporting "
"I<WIFEXITED(status)> or I<WIFSIGNALED(status)>; there are cases where this "
msgstr ""
#. type: SS
-#: build/C/man2/ptrace.2:761
+#: build/C/man2/ptrace.2:790
#, no-wrap
msgid "Stopped states"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:763
-msgid "A tracee can be in two states: running or stopped."
+#: build/C/man2/ptrace.2:812
+msgid ""
+"A tracee can be in two states: running or stopped. For the purposes of "
+"ptrace, a tracee which is blocked in a system call (such as B<read>(2), "
+"B<pause>(2), etc.) is nevertheless considered to be running, even if the "
+"tracee is blocked for a long time. The state of the tracee after "
+"B<PTRACE_LISTEN> is somewhat of a gray area: it is not in any ptrace-stop "
+"(ptrace commands won't work on it, and it will deliver B<waitpid>(2) "
+"notifications), but it also may be considered \"stopped\" because it is not "
+"executing instructions (is not scheduled), and if it was in group-stop "
+"before B<PTRACE_LISTEN>, it will not respond to signals until B<SIGCONT> is "
+"received."
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:767
+#: build/C/man2/ptrace.2:816
msgid ""
"There are many kinds of states when the tracee is stopped, and in ptrace "
"discussions they are often conflated. Therefore, it is important to use "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:778
+#: build/C/man2/ptrace.2:827
msgid ""
"In this manual page, any stopped state in which the tracee is ready to "
"accept ptrace commands from the tracer is called I<ptrace-stop>. Ptrace-"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:783
+#: build/C/man2/ptrace.2:832
msgid ""
"When the running tracee enters ptrace-stop, it notifies its tracer using "
"B<waitpid>(2) (or one of the other \"wait\" system calls). Most of this "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:785
+#: build/C/man2/ptrace.2:834
#, no-wrap
msgid " pid = waitpid(pid_or_minus_1, &status, __WALL);\n"
msgstr ""
#. rules different if user wants to use waitid? Will waitid require
#. WEXITED?
#. type: Plain text
-#: build/C/man2/ptrace.2:797
+#: build/C/man2/ptrace.2:846
msgid ""
"Ptrace-stopped tracees are reported as returns with I<pid> greater than 0 "
"and I<WIFSTOPPED(status)> true."
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:805
+#: build/C/man2/ptrace.2:854
msgid ""
"The B<__WALL> flag does not include the B<WSTOPPED> and B<WEXITED> flags, "
"but implies their functionality."
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:812
+#: build/C/man2/ptrace.2:861
msgid ""
"Setting the B<WCONTINUED> flag when calling B<waitpid>(2) is not "
"recommended: the \"continued\" state is per-process and consuming it can "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:820
+#: build/C/man2/ptrace.2:869
msgid ""
"Use of the B<WNOHANG> flag may cause B<waitpid>(2) to return 0 (\"no wait "
"results available yet\") even if the tracer knows there should be a "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:829
+#: build/C/man2/ptrace.2:878
#, no-wrap
msgid ""
" errno = 0;\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:852
+#: build/C/man2/ptrace.2:901
msgid ""
"The following kinds of ptrace-stops exist: signal-delivery-stops, group-"
"stops, B<PTRACE_EVENT> stops, syscall-stops. They all are reported by "
msgstr ""
#. type: SS
-#: build/C/man2/ptrace.2:852
+#: build/C/man2/ptrace.2:901
#, no-wrap
msgid "Signal-delivery-stop"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:872
+#: build/C/man2/ptrace.2:921
msgid ""
"When a (possibly multithreaded) process receives any signal except "
"B<SIGKILL>, the kernel selects an arbitrary thread which handles the "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:886
+#: build/C/man2/ptrace.2:935
msgid ""
"Signal-delivery-stop is observed by the tracer as B<waitpid>(2) returning "
"with I<WIFSTOPPED(status)> true, with the signal returned by I<WSTOPSIG"
msgstr ""
#. type: SS
-#: build/C/man2/ptrace.2:886
+#: build/C/man2/ptrace.2:935
#, no-wrap
msgid "Signal injection and suppression"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:889
+#: build/C/man2/ptrace.2:938
msgid ""
"After signal-delivery-stop is observed by the tracer, the tracer should "
"restart the tracee with the call"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:891
+#: build/C/man2/ptrace.2:940
#, no-wrap
msgid " ptrace(PTRACE_restart, pid, 0, sig)\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:904
+#: build/C/man2/ptrace.2:953
msgid ""
"where B<PTRACE_restart> is one of the restarting ptrace requests. If I<sig> "
"is 0, then a signal is not delivered. Otherwise, the signal I<sig> is "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:910
+#: build/C/man2/ptrace.2:959
msgid ""
"The I<sig> value may be different from the I<WSTOPSIG(status)> value: the "
"tracer can cause a different signal to be injected."
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:926
+#: build/C/man2/ptrace.2:975
msgid ""
"Note that a suppressed signal still causes system calls to return "
"prematurely. In this case system calls will be restarted: the tracer will "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:937
+#: build/C/man2/ptrace.2:986
msgid ""
"Restarting ptrace commands issued in ptrace-stops other than signal-delivery-"
"stop are not guaranteed to inject a signal, even if I<sig> is nonzero. No "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:944
+#: build/C/man2/ptrace.2:993
msgid ""
"The fact that signal injection requests may be ignored when restarting the "
"tracee after ptrace stops that are not signal-delivery-stops is a cause of "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:946
+#: build/C/man2/ptrace.2:995
#, no-wrap
msgid " ptrace(PTRACE_restart, pid, 0, stopsig)\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:952
+#: build/C/man2/ptrace.2:1001
msgid ""
"with the intention of injecting I<stopsig>, but I<stopsig> gets ignored and "
"the tracee continues to run."
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:972
+#: build/C/man2/ptrace.2:1021
msgid ""
"The B<SIGCONT> signal has a side effect of waking up (all threads of) a "
"group-stopped process. This side effect happens before signal-delivery-"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:976
+#: build/C/man2/ptrace.2:1025
msgid ""
"Stopping signals cause (all threads of) a process to enter group-stop. This "
"side effect happens after signal injection, and therefore can be suppressed "
#. if (signr == SIGSTOP)
#. continue;
#. type: Plain text
-#: build/C/man2/ptrace.2:986
+#: build/C/man2/ptrace.2:1035
msgid "In Linux 2.4 and earlier, the B<SIGSTOP> signal can't be injected."
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1003
+#: build/C/man2/ptrace.2:1052
msgid ""
"B<PTRACE_GETSIGINFO> can be used to retrieve a I<siginfo_t> structure which "
"corresponds to the delivered signal. B<PTRACE_SETSIGINFO> may be used to "
msgstr ""
#. type: SS
-#: build/C/man2/ptrace.2:1003
+#: build/C/man2/ptrace.2:1052
#, no-wrap
msgid "Group-stop"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1015
+#: build/C/man2/ptrace.2:1064
msgid ""
"When a (possibly multithreaded) process receives a stopping signal, all "
"threads stop. If some threads are traced, they enter a group-stop. Note "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1024
+#: build/C/man2/ptrace.2:1073
msgid ""
"Group-stop is observed by the tracer as B<waitpid>(2) returning with "
"I<WIFSTOPPED(status)> true, with the stopping signal available via I<WSTOPSIG"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1026
+#: build/C/man2/ptrace.2:1075
#, no-wrap
msgid " ptrace(PTRACE_GETSIGINFO, pid, 0, &siginfo)\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1047
+#: build/C/man2/ptrace.2:1096
msgid ""
"The call can be avoided if the signal is not B<SIGSTOP>, B<SIGTSTP>, "
"B<SIGTTIN>, or B<SIGTTOU>; only these four signals are stopping signals. If "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1056
+#: build/C/man2/ptrace.2:1106
+msgid ""
+"If tracee was attached using B<PTRACE_SEIZE>, group-stop is indicated by "
+"B<PTRACE_EVENT_STOP>: I<statusE<gt>E<gt>16 == PTRACE_EVENT_STOP>. This "
+"allows detection of group-stops without requiring an extra "
+"B<PTRACE_GETSIGINFO> call."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/ptrace.2:1115
msgid ""
"As of Linux 2.6.38, after the tracer sees the tracee ptrace-stop and until "
"it restarts or kills it, the tracee will not run, and will not send "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1070
+#: build/C/man2/ptrace.2:1129
msgid ""
"The kernel behavior described in the previous paragraph causes a problem "
"with transparent handling of stopping signals. If the tracer restarts the "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1081
+#: build/C/man2/ptrace.2:1140
msgid ""
"Since Linux 3.4, there is a method to overcome this problem: instead of "
"B<PTRACE_CONT>, a B<PTRACE_LISTEN> command can be used to restart a tracee "
msgstr ""
#. type: SS
-#: build/C/man2/ptrace.2:1081
+#: build/C/man2/ptrace.2:1140
#, no-wrap
msgid "PTRACE_EVENT stops"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1087
+#: build/C/man2/ptrace.2:1146
msgid ""
"If the tracer sets B<PTRACE_O_TRACE_*> options, the tracee will enter ptrace-"
"stops called B<PTRACE_EVENT> stops."
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1101
+#: build/C/man2/ptrace.2:1160
msgid ""
"B<PTRACE_EVENT> stops are observed by the tracer as B<waitpid>(2) returning "
"with I<WIFSTOPPED(status)>, and I<WSTOPSIG(status)> returns B<SIGTRAP>. An "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1103
+#: build/C/man2/ptrace.2:1162
#, no-wrap
msgid " (SIGTRAP | PTRACE_EVENT_foo E<lt>E<lt> 8).\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1105
+#: build/C/man2/ptrace.2:1164
msgid "The following events exist:"
msgstr ""
#. type: TP
-#: build/C/man2/ptrace.2:1105
+#: build/C/man2/ptrace.2:1164
#, no-wrap
msgid "B<PTRACE_EVENT_VFORK>"
msgstr "B<PTRACE_EVENT_VFORK>"
#. type: Plain text
-#: build/C/man2/ptrace.2:1118
+#: build/C/man2/ptrace.2:1177
msgid ""
"Stop before return from B<vfork>(2) or B<clone>(2) with the B<CLONE_VFORK> "
"flag. When the tracee is continued after this stop, it will wait for child "
msgstr ""
#. type: TP
-#: build/C/man2/ptrace.2:1118
+#: build/C/man2/ptrace.2:1177
#, no-wrap
msgid "B<PTRACE_EVENT_FORK>"
msgstr "B<PTRACE_EVENT_FORK>"
#. type: Plain text
-#: build/C/man2/ptrace.2:1126
+#: build/C/man2/ptrace.2:1185
msgid ""
"Stop before return from B<fork>(2) or B<clone>(2) with the exit signal set "
"to B<SIGCHLD>."
msgstr ""
#. type: TP
-#: build/C/man2/ptrace.2:1126
+#: build/C/man2/ptrace.2:1185
#, no-wrap
msgid "B<PTRACE_EVENT_CLONE>"
msgstr "B<PTRACE_EVENT_CLONE>"
#. type: Plain text
-#: build/C/man2/ptrace.2:1130
+#: build/C/man2/ptrace.2:1189
msgid "Stop before return from B<clone>(2)."
msgstr ""
#. type: TP
-#: build/C/man2/ptrace.2:1130
+#: build/C/man2/ptrace.2:1189
#, no-wrap
msgid "B<PTRACE_EVENT_VFORK_DONE>"
msgstr "B<PTRACE_EVENT_VFORK_DONE>"
#. type: Plain text
-#: build/C/man2/ptrace.2:1140
+#: build/C/man2/ptrace.2:1199
msgid ""
"Stop before return from B<vfork>(2) or B<clone>(2) with the B<CLONE_VFORK> "
"flag, but after the child unblocked this tracee by exiting or execing."
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1146
+#: build/C/man2/ptrace.2:1205
msgid ""
"For all four stops described above, the stop occurs in the parent (i.e., the "
"tracee), not in the newly created thread. B<PTRACE_GETEVENTMSG> can be used "
msgstr ""
#. type: TP
-#: build/C/man2/ptrace.2:1146
+#: build/C/man2/ptrace.2:1205
#, no-wrap
msgid "B<PTRACE_EVENT_EXEC>"
msgstr "B<PTRACE_EVENT_EXEC>"
#. type: Plain text
-#: build/C/man2/ptrace.2:1153
+#: build/C/man2/ptrace.2:1212
msgid ""
"Stop before return from B<execve>(2). Since Linux 3.0, "
"B<PTRACE_GETEVENTMSG> returns the former thread ID."
msgstr ""
#. type: TP
-#: build/C/man2/ptrace.2:1153
+#: build/C/man2/ptrace.2:1212
#, no-wrap
msgid "B<PTRACE_EVENT_EXIT>"
msgstr "B<PTRACE_EVENT_EXIT>"
#. type: Plain text
-#: build/C/man2/ptrace.2:1169
+#: build/C/man2/ptrace.2:1228
msgid ""
"Stop before exit (including death from B<exit_group>(2)), signal death, or "
"exit caused by B<execve>(2) in a multithreaded process. "
msgstr ""
#. type: TP
-#: build/C/man2/ptrace.2:1169
-#, fuzzy, no-wrap
-#| msgid "B<PTRACE_EVENT_FORK>"
+#: build/C/man2/ptrace.2:1228
+#, no-wrap
msgid "B<PTRACE_EVENT_STOP>"
-msgstr "B<PTRACE_EVENT_FORK>"
+msgstr "B<PTRACE_EVENT_STOP>"
#. type: Plain text
-#: build/C/man2/ptrace.2:1174
-msgid "Stop induced by B<PTRACE_INTERRUPT> command."
+#: build/C/man2/ptrace.2:1240
+msgid ""
+"Stop induced by B<PTRACE_INTERRUPT> command, or group-stop, or initial "
+"ptrace-stop when a new child is attached (only if attached using "
+"B<PTRACE_SEIZE>), or B<PTRACE_EVENT_STOP> if B<PTRACE_SEIZE> was used."
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1186
+#: build/C/man2/ptrace.2:1252
msgid ""
"B<PTRACE_GETSIGINFO> on B<PTRACE_EVENT> stops returns B<SIGTRAP> in "
"I<si_signo>, with I<si_code> set to I<(eventE<lt>E<lt>8)\\ |\\ SIGTRAP>."
msgstr ""
#. type: SS
-#: build/C/man2/ptrace.2:1186
+#: build/C/man2/ptrace.2:1252
#, no-wrap
msgid "Syscall-stops"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1199
+#: build/C/man2/ptrace.2:1265
msgid ""
"If the tracee was restarted by B<PTRACE_SYSCALL>, the tracee enters syscall-"
"enter-stop just prior to entering any system call. If the tracer restarts "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1213
+#: build/C/man2/ptrace.2:1279
msgid ""
"Other possibilities are that the tracee may stop in a B<PTRACE_EVENT> stop, "
"exit (if it entered B<_exit>(2) or B<exit_group>(2)), be killed by "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1228
+#: build/C/man2/ptrace.2:1294
msgid ""
"Syscall-enter-stop and syscall-exit-stop are observed by the tracer as "
"B<waitpid>(2) returning with I<WIFSTOPPED(status)> true, and I<WSTOPSIG"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1234
+#: build/C/man2/ptrace.2:1300
msgid ""
"Syscall-stops can be distinguished from signal-delivery-stop with B<SIGTRAP> "
"by querying B<PTRACE_GETSIGINFO> for the following cases:"
msgstr ""
#. type: TP
-#: build/C/man2/ptrace.2:1234
+#: build/C/man2/ptrace.2:1300
#, no-wrap
msgid "I<si_code> E<lt>= 0"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1246
+#: build/C/man2/ptrace.2:1312
msgid ""
"B<SIGTRAP> was delivered as a result of a user-space action, for example, a "
"system call (B<tgkill>(2), B<kill>(2), B<sigqueue>(3), etc.), expiration of "
msgstr ""
#. type: TP
-#: build/C/man2/ptrace.2:1246
+#: build/C/man2/ptrace.2:1312
#, no-wrap
msgid "I<si_code> == SI_KERNEL (0x80)"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1250
+#: build/C/man2/ptrace.2:1316
msgid "B<SIGTRAP> was sent by the kernel."
msgstr ""
#. type: TP
-#: build/C/man2/ptrace.2:1250
+#: build/C/man2/ptrace.2:1316
#, no-wrap
msgid "I<si_code> == SIGTRAP or I<si_code> == (SIGTRAP|0x80)"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1253
+#: build/C/man2/ptrace.2:1319
msgid "This is a syscall-stop."
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1258
+#: build/C/man2/ptrace.2:1324
msgid ""
"However, syscall-stops happen very often (twice per system call), and "
"performing B<PTRACE_GETSIGINFO> for every syscall-stop may be somewhat "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1281
+#: build/C/man2/ptrace.2:1347
msgid ""
"Some architectures allow the cases to be distinguished by examining "
"registers. For example, on x86, I<rax> == -B<ENOSYS> in syscall-enter-"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1287
+#: build/C/man2/ptrace.2:1353
msgid ""
"Using the B<PTRACE_O_TRACESYSGOOD> option is the recommended method to "
"distinguish syscall-stops from other kinds of ptrace-stops, since it is "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1298
+#: build/C/man2/ptrace.2:1364
msgid ""
"Syscall-enter-stop and syscall-exit-stop are indistinguishable from each "
"other by the tracer. The tracer needs to keep track of the sequence of "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1303
+#: build/C/man2/ptrace.2:1369
msgid ""
"If after syscall-enter-stop, the tracer uses a restarting command other than "
"B<PTRACE_SYSCALL>, syscall-exit-stop is not generated."
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1315
+#: build/C/man2/ptrace.2:1381
msgid ""
"B<PTRACE_GETSIGINFO> on syscall-stops returns B<SIGTRAP> in I<si_signo>, "
"with I<si_code> set to B<SIGTRAP> or I<(SIGTRAP|0x80)>."
msgstr ""
#. type: SS
-#: build/C/man2/ptrace.2:1315
+#: build/C/man2/ptrace.2:1381
#, no-wrap
msgid "PTRACE_SINGLESTEP, PTRACE_SYSEMU, PTRACE_SYSEMU_SINGLESTEP stops"
msgstr ""
#. document stops occurring with PTRACE_SINGLESTEP, PTRACE_SYSEMU,
#. PTRACE_SYSEMU_SINGLESTEP
#. type: Plain text
-#: build/C/man2/ptrace.2:1321
+#: build/C/man2/ptrace.2:1387
msgid "[Details of these kinds of stops are yet to be documented.]"
msgstr ""
#. type: SS
-#: build/C/man2/ptrace.2:1321
+#: build/C/man2/ptrace.2:1387
#, no-wrap
msgid "Informational and restarting ptrace commands"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1331
+#: build/C/man2/ptrace.2:1397
msgid ""
"Most ptrace commands (all except B<PTRACE_ATTACH>, B<PTRACE_SEIZE>, "
"B<PTRACE_TRACEME>, B<PTRACE_INTERRUPT>, and B<PTRACE_KILL>) require the "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1336
+#: build/C/man2/ptrace.2:1402
msgid ""
"When the tracee is in ptrace-stop, the tracer can read and write data to the "
"tracee using informational commands. These commands leave the tracee in "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1348
+#: build/C/man2/ptrace.2:1414
#, no-wrap
msgid ""
" ptrace(PTRACE_PEEKTEXT/PEEKDATA/PEEKUSER, pid, addr, 0);\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1360
+#: build/C/man2/ptrace.2:1426
msgid ""
"Note that some errors are not reported. For example, setting signal "
"information (I<siginfo>) may have no effect in some ptrace-stops, yet the "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1362
+#: build/C/man2/ptrace.2:1428
msgid "The call"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1364
+#: build/C/man2/ptrace.2:1430
#, no-wrap
msgid " ptrace(PTRACE_SETOPTIONS, pid, 0, PTRACE_O_flags);\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1373
+#: build/C/man2/ptrace.2:1439
msgid ""
"affects one tracee. The tracee's current flags are replaced. Flags are "
"inherited by new tracees created and \"auto-attached\" via active "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1376
+#: build/C/man2/ptrace.2:1442
msgid ""
"Another group of commands makes the ptrace-stopped tracee run. They have "
"the form:"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1378
+#: build/C/man2/ptrace.2:1444
#, no-wrap
msgid " ptrace(cmd, pid, 0, sig);\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1399
+#: build/C/man2/ptrace.2:1465
msgid ""
"where I<cmd> is B<PTRACE_CONT>, B<PTRACE_LISTEN>, B<PTRACE_DETACH>, "
"B<PTRACE_SYSCALL>, B<PTRACE_SINGLESTEP>, B<PTRACE_SYSEMU>, or "
msgstr ""
#. type: SS
-#: build/C/man2/ptrace.2:1399
+#: build/C/man2/ptrace.2:1465
#, no-wrap
msgid "Attaching and detaching"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1401
+#: build/C/man2/ptrace.2:1467
msgid "A thread can be attached to the tracer using the call"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1403
+#: build/C/man2/ptrace.2:1469
#, no-wrap
msgid " ptrace(PTRACE_ATTACH, pid, 0, 0);\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1405 build/C/man2/ptrace.2:1895
+#: build/C/man2/ptrace.2:1471 build/C/man2/ptrace.2:1968
msgid "or"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1407
+#: build/C/man2/ptrace.2:1473
#, no-wrap
msgid " ptrace(PTRACE_SEIZE, pid, 0, PTRACE_O_flags);\n"
msgstr ""
#. FIXME: Describe how to attach to a thread which is already
#. group-stopped.
#. type: Plain text
-#: build/C/man2/ptrace.2:1432
+#: build/C/man2/ptrace.2:1498
msgid ""
"B<PTRACE_ATTACH> sends B<SIGSTOP> to this thread. If the tracer wants this "
"B<SIGSTOP> to have no effect, it needs to suppress it. Note that if other "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1439
+#: build/C/man2/ptrace.2:1505
msgid ""
"Since attaching sends B<SIGSTOP> and the tracer usually suppresses it, this "
"may cause a stray B<EINTR> return from the currently executing system call "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1451
+#: build/C/man2/ptrace.2:1517
msgid ""
"Since Linux 3.4, B<PTRACE_SEIZE> can be used instead of B<PTRACE_ATTACH>. "
"B<PTRACE_SEIZE> does not stop the attached process. If you need to stop it "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1453
+#: build/C/man2/ptrace.2:1519
msgid "The request"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1455
+#: build/C/man2/ptrace.2:1521
#, no-wrap
msgid " ptrace(PTRACE_TRACEME, 0, 0, 0);\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1461
+#: build/C/man2/ptrace.2:1527
msgid ""
"turns the calling thread into a tracee. The thread continues to run "
"(doesn't enter ptrace-stop). A common practice is to follow the "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1463
+#: build/C/man2/ptrace.2:1529
#, no-wrap
msgid " raise(SIGSTOP);\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1466
+#: build/C/man2/ptrace.2:1532
msgid ""
"and allow the parent (which is our tracer now) to observe our signal-"
"delivery-stop."
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1490
+#: build/C/man2/ptrace.2:1556
msgid ""
"If the B<PTRACE_O_TRACEFORK>, B<PTRACE_O_TRACEVFORK>, or "
"B<PTRACE_O_TRACECLONE> options are in effect, then children created by, "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1492
+#: build/C/man2/ptrace.2:1558
msgid "Detaching of the tracee is performed by:"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1494
+#: build/C/man2/ptrace.2:1560
#, no-wrap
msgid " ptrace(PTRACE_DETACH, pid, 0, sig);\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1502
+#: build/C/man2/ptrace.2:1568
msgid ""
"B<PTRACE_DETACH> is a restarting operation; therefore it requires the tracee "
"to be in ptrace-stop. If the tracee is in signal-delivery-stop, a signal "
#. FIXME: Describe how to detach from a group-stopped tracee so that it
#. doesn't run, but continues to wait for SIGCONT.
#. type: Plain text
-#: build/C/man2/ptrace.2:1526
+#: build/C/man2/ptrace.2:1592
msgid ""
"If the tracee is running when the tracer wants to detach it, the usual "
"solution is to send B<SIGSTOP> (using B<tgkill>(2), to make sure it goes to "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1534
+#: build/C/man2/ptrace.2:1600
msgid ""
"If the tracer dies, all tracees are automatically detached and restarted, "
"unless they were in group-stop. Handling of restart from group-stop is "
msgstr ""
#. type: SS
-#: build/C/man2/ptrace.2:1534
+#: build/C/man2/ptrace.2:1600
#, no-wrap
msgid "execve(2) under ptrace"
msgstr ""
#. and the new program is executed in the thread group leader.
#. In kernel 3.1 sources, see fs/exec.c::de_thread()
#. type: Plain text
-#: build/C/man2/ptrace.2:1553
+#: build/C/man2/ptrace.2:1619
msgid ""
"When one thread in a multithreaded process calls B<execve>(2), the kernel "
"destroys all other threads in the process, and resets the thread ID of the "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1563
+#: build/C/man2/ptrace.2:1629
msgid ""
"All other threads stop in B<PTRACE_EVENT_EXIT> stop, if the "
"B<PTRACE_O_TRACEEXIT> option was turned on. Then all other threads except "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1571
+#: build/C/man2/ptrace.2:1637
msgid ""
"The execing tracee changes its thread ID while it is in the B<execve>(2). "
"(Remember, under ptrace, the \"pid\" returned from B<waitpid>(2), or fed "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1577
+#: build/C/man2/ptrace.2:1643
msgid ""
"Then a B<PTRACE_EVENT_EXEC> stop happens, if the B<PTRACE_O_TRACEEXEC> "
"option was turned on."
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1598
+#: build/C/man2/ptrace.2:1664
msgid ""
"If the thread group leader has reported its B<PTRACE_EVENT_EXIT> stop by "
"this time, it appears to the tracer that the dead thread leader \"reappears "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1601
+#: build/C/man2/ptrace.2:1667
msgid ""
"All of the above effects are the artifacts of the thread ID change in the "
"tracee."
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1621
+#: build/C/man2/ptrace.2:1687
msgid ""
"The B<PTRACE_O_TRACEEXEC> option is the recommended tool for dealing with "
"this situation. First, it enables B<PTRACE_EVENT_EXEC> stop, which occurs "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1627
+#: build/C/man2/ptrace.2:1693
msgid ""
"When the tracer receives B<PTRACE_EVENT_EXEC> stop notification, it is "
"guaranteed that except this tracee and the thread group leader, no other "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1635
+#: build/C/man2/ptrace.2:1701
msgid ""
"On receiving the B<PTRACE_EVENT_EXEC> stop notification, the tracer should "
"clean up all its internal data structures describing the threads of this "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1637
+#: build/C/man2/ptrace.2:1703
#, no-wrap
msgid " thread ID == thread group ID == process ID.\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1641
+#: build/C/man2/ptrace.2:1707
msgid "Example: two threads call B<execve>(2) at the same time:"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1652
+#: build/C/man2/ptrace.2:1718
#, no-wrap
msgid ""
"*** we get syscall-enter-stop in thread 1: **\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1675
+#: build/C/man2/ptrace.2:1741
msgid ""
"If the B<PTRACE_O_TRACEEXEC> option is I<not> in effect for the execing "
"tracee, the kernel delivers an extra B<SIGTRAP> to the tracee after B<execve>"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1694
+#: build/C/man2/ptrace.2:1760
msgid ""
"Usually, the tracer (for example, B<strace>(1)) would not want to show this "
"extra post-execve B<SIGTRAP> signal to the user, and would suppress its "
msgstr ""
#. type: SS
-#: build/C/man2/ptrace.2:1694
+#: build/C/man2/ptrace.2:1760
#, no-wrap
msgid "Real parent"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1701
+#: build/C/man2/ptrace.2:1767
msgid ""
"The ptrace API (ab)uses the standard UNIX parent/child signaling over "
"B<waitpid>(2). This used to cause the real parent of the process to stop "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1704
+#: build/C/man2/ptrace.2:1770
msgid ""
"Many of these bugs have been fixed, but as of Linux 2.6.38 several still "
"exist; see BUGS below."
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1706
+#: build/C/man2/ptrace.2:1772
msgid "As of Linux 2.6.38, the following is believed to work correctly:"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1714
+#: build/C/man2/ptrace.2:1780
msgid ""
"exit/death by signal is reported first to the tracer, then, when the tracer "
"consumes the B<waitpid>(2) result, to the real parent (to the real parent "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1728
+#: build/C/man2/ptrace.2:1791
#, fuzzy
#| msgid ""
#| "On success, B<PTRACE_PEEK*> requests return the requested data, while "
#| "such requests to determine whether or not an error occurred."
msgid ""
"On success, B<PTRACE_PEEK*> requests return the requested data, while other "
-"requests return zero. On error, all requests return -1, and I<errno> is set "
-"appropriately. Since the value returned by a successful B<PTRACE_PEEK*> "
-"request may be -1, the caller must clear I<errno> before the call, and then "
-"check it afterward to determine whether or not an error occurred."
+"requests return zero. (On Linux, this is done in the libc wrapper around "
+"ptrace system call. On the system call level, B<PTRACE_PEEK*> requests have "
+"a different API: they store the result at the address specified by I<data> "
+"parameter, and return value is the error flag.)"
+msgstr ""
+"成功すると、 B<PTRACE_PEEK*> の場合は要求したデータを返し、 それ以外の場合は "
+"0 を返す。 エラーの場合は -1 を返し、 I<errno> が適切に設定される。 "
+"B<PTRACE_PEEK*> が成功して返す値も -1 になることがあるため、 そのような要求"
+"の場合には、呼び出し元は I<errno> を調べ、エラーか発生したのかどうかを判断し"
+"なければならない。"
+
+#. type: Plain text
+#: build/C/man2/ptrace.2:1801
+#, fuzzy
+#| msgid ""
+#| "On success, B<PTRACE_PEEK*> requests return the requested data, while "
+#| "other requests return zero. On error, all requests return -1, and "
+#| "I<errno> is set appropriately. Since the value returned by a successful "
+#| "B<PTRACE_PEEK*> request may be -1, the caller must check I<errno> after "
+#| "such requests to determine whether or not an error occurred."
+msgid ""
+"On error, all requests return -1, and I<errno> is set appropriately. Since "
+"the value returned by a successful B<PTRACE_PEEK*> request may be -1, the "
+"caller must clear I<errno> before the call, and then check it afterward to "
+"determine whether or not an error occurred."
msgstr ""
"成功すると、 B<PTRACE_PEEK*> の場合は要求したデータを返し、 それ以外の場合は "
"0 を返す。 エラーの場合は -1 を返し、 I<errno> が適切に設定される。 "
"なければならない。"
#. type: Plain text
-#: build/C/man2/ptrace.2:1732
+#: build/C/man2/ptrace.2:1805
msgid ""
"(i386 only) There was an error with allocating or freeing a debug register."
msgstr "(i386 のみ) デバッグレジスタの確保または解放でエラーが発生した。"
#. type: Plain text
-#: build/C/man2/ptrace.2:1743
+#: build/C/man2/ptrace.2:1816
#, fuzzy
#| msgid ""
#| "There was an attempt to read from or write to an invalid area in the "
"的に B<EIO> を返したり B<EFAULT> を返したりすることがある。"
#. type: Plain text
-#: build/C/man2/ptrace.2:1746
+#: build/C/man2/ptrace.2:1819
msgid "An attempt was made to set an invalid option."
msgstr "不正なオプションを設定しようとした。"
#. type: Plain text
-#: build/C/man2/ptrace.2:1753
+#: build/C/man2/ptrace.2:1826
#, fuzzy
#| msgid ""
#| "I<request> is invalid, or an attempt was made to read from or write to an "
"開の要求で不正なシグナルを指定した。"
#. type: Plain text
-#: build/C/man2/ptrace.2:1766
+#: build/C/man2/ptrace.2:1839
#, fuzzy
#| msgid ""
#| "The specified process cannot be traced. This could be because the parent "
"る、 または B<init>(8) プロセス (PID が 1) である。"
#. type: Plain text
-#: build/C/man2/ptrace.2:1771
+#: build/C/man2/ptrace.2:1844
#, fuzzy
#| msgid ""
#| "The specified process does not exist, or is not currently being traced by "
"ない (停止していることが必要な要求の場合)。"
#. type: Plain text
-#: build/C/man2/ptrace.2:1773
+#: build/C/man2/ptrace.2:1846
msgid "SVr4, 4.3BSD."
msgstr "SVr4, 4.3BSD."
#. type: Plain text
-#: build/C/man2/ptrace.2:1788
+#: build/C/man2/ptrace.2:1861
#, fuzzy
#| msgid ""
#| "Although arguments to B<ptrace>() are interpreted according to the "
#. See commit 00cd5c37afd5f431ac186dd131705048c0a11fdb
#. type: Plain text
-#: build/C/man2/ptrace.2:1793
+#: build/C/man2/ptrace.2:1866
#, fuzzy
#| msgid "B<init>(8), the process with PID 1, may not be traced."
msgid ""
#. See http://lkml.org/lkml/2008/5/8/375
#. type: Plain text
-#: build/C/man2/ptrace.2:1800
+#: build/C/man2/ptrace.2:1873
#, fuzzy
#| msgid ""
#| "The layout of the contents of memory and the USER area are quite OS- and "
"に一致しないこともありえる。"
#. type: Plain text
-#: build/C/man2/ptrace.2:1803
+#: build/C/man2/ptrace.2:1876
#, fuzzy
#| msgid ""
#| "The size of a \"word\" is determined by the OS variant (e.g., for 32-bit "
"では 32 ビットである、など。)"
#. type: Plain text
-#: build/C/man2/ptrace.2:1811
+#: build/C/man2/ptrace.2:1884
#, fuzzy
#| msgid ""
#| "This page documents the way the B<ptrace>() call works currently in "
"を使うと OS やアーキテクチャに非常に依存したものになる。"
#. type: Plain text
-#: build/C/man2/ptrace.2:1822
+#: build/C/man2/ptrace.2:1895
#, fuzzy
#| msgid ""
#| "On hosts with 2.6 kernel headers, B<PTRACE_SETOPTIONS> is declared with a "
"を B<PTRACE_OLDSETOPTIONS> に定義し直すことで対処できる。"
#. type: Plain text
-#: build/C/man2/ptrace.2:1825
+#: build/C/man2/ptrace.2:1898
msgid ""
"Group-stop notifications are sent to the tracer, but not to real parent. "
"Last confirmed on 2.6.38.6."
#. why it is so.
#. FIXME: ^^^ need to test/verify this scenario
#. type: Plain text
-#: build/C/man2/ptrace.2:1856
+#: build/C/man2/ptrace.2:1929
msgid ""
"If a thread group leader is traced and exits by calling B<_exit>(2), a "
"B<PTRACE_EVENT_EXIT> stop will happen for it (if requested), but the "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1866
+#: build/C/man2/ptrace.2:1939
msgid ""
"A B<SIGKILL> signal may still cause a B<PTRACE_EVENT_EXIT> stop before "
"actual signal death. This may be changed in the future; B<SIGKILL> is meant "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1884
+#: build/C/man2/ptrace.2:1957
msgid ""
"Some system calls return with B<EINTR> if a signal was sent to a tracee, but "
"delivery was suppressed by the tracer. (This is very typical operation: it "
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1886
+#: build/C/man2/ptrace.2:1959
#, no-wrap
msgid " strace -p E<lt>process-IDE<gt>\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1889
+#: build/C/man2/ptrace.2:1962
msgid "then, instead of the usual and expected one-line output such as"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1892
+#: build/C/man2/ptrace.2:1965
#, no-wrap
msgid " restart_syscall(E<lt>... resuming interrupted call ...E<gt>_\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1898
+#: build/C/man2/ptrace.2:1971
#, no-wrap
msgid " select(6, [5], NULL, [5], NULL_\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1902
+#: build/C/man2/ptrace.2:1975
msgid ""
"('_' denotes the cursor position), you observe more than one line. For "
"example:"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1906
+#: build/C/man2/ptrace.2:1979
#, no-wrap
msgid ""
" clock_gettime(CLOCK_MONOTONIC, {15370, 690928118}) = 0\n"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1927
+#: build/C/man2/ptrace.2:2000
msgid ""
"What is not visible here is that the process was blocked in B<epoll_wait>"
"(2) before B<strace>(1) has attached to it. Attaching caused B<epoll_wait>"
msgstr ""
#. type: Plain text
-#: build/C/man2/ptrace.2:1941
+#: build/C/man2/ptrace.2:2014
msgid ""
"B<gdb>(1), B<strace>(1), B<clone>(2), B<execve>(2), B<fork>(2), B<gettid>"
"(2), B<sigaction>(2), B<tgkill>(2), B<vfork>(2), B<waitpid>(2), B<exec>(3), "
#| "week the soft limit counts as hard limit."
msgid ""
"The quota system can be used to set per-user and per-group limits on the "
-"amount of disk space used on a file system. For each user and/or group, a "
-"soft limit and a hard limit can be set for each file system. The hard limit "
+"amount of disk space used on a filesystem. For each user and/or group, a "
+"soft limit and a hard limit can be set for each filesystem. The hard limit "
"can't be exceeded. The soft limit can be exceeded, but warnings will "
"ensue. Moreover, the user can't exceed the soft limit for more than one "
"week (by default) at a time; after this time, the soft limit counts as a "
#: build/C/man2/quotactl.2:79
msgid ""
"The I<special> argument is a pointer to a null-terminated string containing "
-"the pathname of the (mounted) block special device for the file system being "
+"the pathname of the (mounted) block special device for the filesystem being "
"manipulated."
msgstr ""
#. type: Plain text
#: build/C/man2/quotactl.2:98
msgid ""
-"Turn on quotas for a file system. The I<id> argument is the identification "
+"Turn on quotas for a filesystem. The I<id> argument is the identification "
"number of the quota format to be used. Currently, there are three supported "
"quota formats:"
msgstr ""
#: build/C/man2/quotactl.2:121
msgid ""
"The I<addr> argument points to the pathname of a file containing the quotas "
-"for the file system. The quota file must exist; it is normally created with "
+"for the filesystem. The quota file must exist; it is normally created with "
"the B<quotacheck>(8) program. This operation requires privilege "
"(B<CAP_SYS_ADMIN>)."
msgstr ""
#. type: Plain text
#: build/C/man2/quotactl.2:131
msgid ""
-"Turn off quotas for a file system. The I<addr> and I<id> arguments are "
+"Turn off quotas for a filesystem. The I<addr> and I<id> arguments are "
"ignored. This operation requires privilege (B<CAP_SYS_ADMIN>)."
msgstr ""
#. type: Plain text
#: build/C/man2/quotactl.2:308
msgid ""
-"Get quota format used on the specified file system. The I<addr> argument "
+"Get quota format used on the specified filesystem. The I<addr> argument "
"should be a pointer to a 4-byte buffer where the format number will be "
"stored."
msgstr ""
#. type: Plain text
#: build/C/man2/quotactl.2:319
msgid ""
-"Update the on-disk copy of quota usages for a file system. If I<special> is "
-"NULL, then all file systems with active quotas are sync'ed. The I<addr> and "
+"Update the on-disk copy of quota usages for a filesystem. If I<special> is "
+"NULL, then all filesystems with active quotas are sync'ed. The I<addr> and "
"I<id> arguments are ignored."
msgstr ""
#. type: Plain text
#: build/C/man2/quotactl.2:342
msgid ""
-"For XFS file systems making use of the XFS Quota Manager (XQM), the above "
+"For XFS filesystems making use of the XFS Quota Manager (XQM), the above "
"commands are bypassed and the following commands are used:"
msgstr ""
#. type: Plain text
#: build/C/man2/quotactl.2:363
msgid ""
-"Turn on quotas for an XFS file system. XFS provides the ability to turn on/"
+"Turn on quotas for an XFS filesystem. XFS provides the ability to turn on/"
"off quota limit enforcement with quota accounting. Therefore, XFS expects "
"I<addr> to be a pointer to an I<unsigned int> that contains either the flags "
"B<XFS_QUOTA_UDQ_ACCT> and/or B<XFS_QUOTA_UDQ_ENFD> (for user quota), or "
#. type: Plain text
#: build/C/man2/quotactl.2:374
msgid ""
-"Turn off quotas for an XFS file system. As with B<Q_QUOTAON>, XFS file "
-"systems expect a pointer to an I<unsigned int> that specifies whether quota "
-"accounting and/or limit enforcement need to be turned off. This operation "
-"requires privilege (B<CAP_SYS_ADMIN>)."
+"Turn off quotas for an XFS filesystem. As with B<Q_QUOTAON>, XFS "
+"filesystems expect a pointer to an I<unsigned int> that specifies whether "
+"quota accounting and/or limit enforcement need to be turned off. This "
+"operation requires privilege (B<CAP_SYS_ADMIN>)."
msgstr ""
#. type: TP
#. type: Plain text
#: build/C/man2/quotactl.2:408
msgid ""
-"Returns an I<fs_quota_stat> structure containing XFS file system specific "
+"Returns an I<fs_quota_stat> structure containing XFS filesystem specific "
"quota information. This is useful for finding out how much space is used to "
"store quota information, and also to get quotaon/off status of a given local "
-"XFS file system."
+"XFS filesystem."
msgstr ""
#. type: TP
#: build/C/man2/quotactl.2:419
msgid ""
"There is no command equivalent to B<Q_SYNC> for XFS since B<sync>(1) writes "
-"quota information to disk (in addition to the other file system metadata "
-"that it writes out)."
+"quota information to disk (in addition to the other filesystem metadata that "
+"it writes out)."
msgstr ""
#. type: Plain text
#: build/C/man2/quotactl.2:465
msgid ""
"No disk quota is found for the indicated user. Quotas have not been turned "
-"on for this file system."
+"on for this filesystem."
msgstr ""
#. type: Plain text
#: build/C/man2/quotactl.2:495
msgid ""
"The quota file pointed to by I<addr> exists, but is not a regular file; or, "
-"the quota file pointed to by I<addr> exists, but is not on the file system "
+"the quota file pointed to by I<addr> exists, but is not on the filesystem "
"pointed to by I<special>."
msgstr ""
"process is sharing memory with other processes or threads, then 0 is written "
"at the address specified in I<clear_child_tid> and the kernel performs the "
"following operation:"
-msgstr "I<clear_child_tid> が NULL でないプロセスが終了すると、そのプロセスが他のプロセスまたはスレッドとメモリを共有していれば、 I<clear_child_tid> で指定されたアドレスに 0 が書き込まれ、カーネルは以下の処理を実行する。"
+msgstr ""
+"I<clear_child_tid> が NULL でないプロセスが終了すると、そのプロセスが他のプロ"
+"セスまたはスレッドとメモリを共有していれば、 I<clear_child_tid> で指定された"
+"アドレスに 0 が書き込まれ、カーネルは以下の処理を実行する。"
#. type: Plain text
#: build/C/man2/set_tid_address.2:84
"The effect of this operation is to wake a single process that is performing "
"a futex wait on the memory location. Errors from the futex wake operation "
"are ignored."
-msgstr "この処理の結果、このメモリアドレスに対する futex wait を実行しているプロセスを一つ起こす (wake)。 futex wake 操作でのエラーは無視される。"
+msgstr ""
+"この処理の結果、このメモリアドレスに対する futex wait を実行しているプロセス"
+"を一つ起こす (wake)。 futex wake 操作でのエラーは無視される。"
#. type: Plain text
#: build/C/man2/set_tid_address.2:91
#. splice() in append mode was broken
#. type: Plain text
#: build/C/man2/splice.2:155
+#, fuzzy
+#| msgid ""
+#| "Target file system doesn't support splicing; target file is opened in "
+#| "append mode; neither of the descriptors refers to a pipe; or offset given "
+#| "for nonseekable device."
msgid ""
-"Target file system doesn't support splicing; target file is opened in append "
+"Target filesystem doesn't support splicing; target file is opened in append "
"mode; neither of the descriptors refers to a pipe; or offset given for "
"nonseekable device."
msgstr ""
"B<int vm86(unsigned long >I<fn>B<, struct vm86plus_struct *>I<v86>B<);>"
#. type: Plain text
-#: build/C/man2/vm86.2:46
+#: build/C/man2/vm86.2:48
msgid ""
"The system call B<vm86>() was introduced in Linux 0.97p2. In Linux 2.1.15 "
"and 2.0.28 it was renamed to B<vm86old>(), and a new B<vm86>() was "
"た。 I<struct vm86_struct> の定義は 1.1.8 と 1.1.9 で変更された。"
#. type: Plain text
-#: build/C/man2/vm86.2:50
+#: build/C/man2/vm86.2:52
msgid ""
"These calls cause the process to enter VM86 mode (virtual-8086 in Intel "
"literature), and are used by B<dosemu>."
"ド) へと移行する。 これらのコールは B<dosemu> で使用される。"
#. type: Plain text
-#: build/C/man2/vm86.2:52
+#: build/C/man2/vm86.2:54
msgid "VM86 mode is an emulation of real mode within a protected mode task."
msgstr ""
"VM86 モードはプロテクトモードタスクにおける リアルモードのエミュレーションで"
"ある。"
#. type: Plain text
-#: build/C/man2/vm86.2:62
+#: build/C/man2/vm86.2:64
msgid ""
"This return value is specific to i386 and indicates a problem with getting "
"user-space data."
"あったことを示す。"
#. type: Plain text
-#: build/C/man2/vm86.2:66
+#: build/C/man2/vm86.2:68
msgid ""
"This return value indicates the call is not implemented on the present "
"architecture."
"この返り値は、このコールが現在のアーキテクチャで実装されていないことを示す。"
#. type: Plain text
-#: build/C/man2/vm86.2:71
+#: build/C/man2/vm86.2:73
msgid ""
"Saved kernel stack exists. (This is a kernel sanity check; the saved stack "
"should exist only within vm86 mode itself.)"
"い。)"
#. type: Plain text
-#: build/C/man2/vm86.2:74
+#: build/C/man2/vm86.2:76
msgid ""
"This call is specific to Linux on 32-bit Intel processors, and should not be "
"used in programs intended to be portable."
msgid "B<splice>(2), B<tee>(2)"
msgstr "B<splice>(2), B<tee>(2)"
+#~ msgid "2012-03-05"
+#~ msgstr "2012-03-05"
+
+#~ msgid "2013-07-16"
+#~ msgstr "2013-07-16"
+
+#~ msgid "2013-03-15"
+#~ msgstr "2013-03-15"
+
+#~ msgid "B<futex>(7)"
+#~ msgstr "B<futex>(7)"
+
+#, fuzzy
+#~| msgid "The I<subcmd> value is one of the following:"
+#~ msgid "The I<flags> argument takes one of the following values:"
+#~ msgstr "I<subcmd> の値は以下のいずれかである"
+
#~ msgid ""
#~ "Depending on which operation was executed, the returned value for a "
#~ "successful call can have differing meanings."
#~ "I<type> が既知の quota の形式ではない。もしくは、 I<special> デバイスが見"
#~ "付からなかった。"
-#~ msgid "Cannot read or write the quota file."
-#~ msgstr "quota ファイルへの読み書きが出来ない。"
-
#~ msgid "Too many open files: cannot open quota file."
#~ msgstr "ファイルをオープンしすぎている: quota ファイルをオープン出来ない。"