Print this page
12743 man page spelling mistakes
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/man/man4/tnf_kernel_probes.4
+++ new/usr/src/man/man4/tnf_kernel_probes.4
1 1 '\" te
2 2 .\" Copyright 1999 Sun Microsystems, Inc. All Rights Reserved.
3 3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
4 4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
5 5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 -.TH TNF_KERNEL_PROBES 4 "Nov 8, 1999"
6 +.TH TNF_KERNEL_PROBES 4 "May 16, 2020"
7 7 .SH NAME
8 8 tnf_kernel_probes \- TNF kernel probes
9 9 .SH DESCRIPTION
10 -.sp
11 -.LP
12 10 The set of probes (trace instrumentation points) available in the standard
13 11 kernel. The probes log trace data to a kernel trace buffer in Trace Normal
14 12 Form (TNF). Kernel probes are controlled by \fBprex\fR(1). A snapshot of the
15 13 kernel trace buffer can be made using \fBtnfxtract\fR(1) and examined using
16 14 \fBtnfdump\fR(1).
17 15 .sp
18 16 .LP
19 17 Each probe has a \fIname\fR and is associated with a set of symbolic
20 18 \fIkeys\fR, or \fIcategories\fR. These are used to select and control probes
21 19 from \fBprex\fR(1). A probe that is enabled for tracing generates a \fBTNF\fR
22 20 record, called an \fIevent record\fR. An event record contains two common
23 21 members and may contain other probe-specific data members.
24 22 .SS "Common Members"
25 -.sp
26 23 .in +2
27 24 .nf
28 25 \fBtnf_probe_event\fR \fItag\fR
29 26 \fBtnf_time_delta\fR \fItime_delta\fR
30 27 .fi
31 28 .in -2
32 29
33 30 .sp
34 31 .ne 2
35 32 .na
36 33 \fB\fItag\fR\fR
37 34 .ad
38 35 .RS 14n
39 36 Encodes \fBTNF\fR references to two other records:
40 37 .sp
41 38 .ne 2
42 39 .na
43 40 \fB\fItag\fR\fR
44 41 .ad
45 42 .RS 12n
46 43 Describes the layout of the event record.
47 44 .RE
48 45
49 46 .sp
50 47 .ne 2
51 48 .na
52 49 \fB\fIschedule\fR\fR
53 50 .ad
54 51 .RS 12n
55 52 Identifies the writing thread and also contains a 64-bit base time in
56 53 nanoseconds.
57 54 .RE
58 55
59 56 .RE
60 57
61 58 .sp
62 59 .ne 2
↓ open down ↓ |
27 lines elided |
↑ open up ↑ |
63 60 .na
64 61 \fB\fItime_delta\fR\fR
65 62 .ad
66 63 .RS 14n
67 64 A 32-bit time offset from the base time; the sum of the two times is the actual
68 65 time of the event.
69 66 .RE
70 67
71 68 .SS "Threads"
72 69 .SS "\fBthread_create\fR"
73 -.sp
74 70 .in +2
75 71 .nf
76 72 \fBtnf_kthread_id\fR \fItid\fR
77 73 \fBtnf_pid\fR \fIpid\fR
78 74 \fBtnf_symbol\fR \fIstart_pc\fR
79 75 .fi
80 76 .in -2
81 77
82 78 .sp
83 79 .LP
84 80 Thread creation event.
85 81 .sp
86 82 .ne 2
87 83 .na
88 84 \fB\fItid\fR\fR
89 85 .ad
90 86 .RS 12n
91 87 The thread identifier for the new thread.
92 88 .RE
93 89
94 90 .sp
95 91 .ne 2
96 92 .na
97 93 \fB\fIpid\fR\fR
98 94 .ad
99 95 .RS 12n
100 96 The process identifier for the new thread.
101 97 .RE
102 98
↓ open down ↓ |
19 lines elided |
↑ open up ↑ |
103 99 .sp
104 100 .ne 2
105 101 .na
106 102 \fB\fIstart_pc\fR\fR
107 103 .ad
108 104 .RS 12n
109 105 The kernel address of its start routine.
110 106 .RE
111 107
112 108 .SS "\fBthread_state\fR"
113 -.sp
114 109 .in +2
115 110 .nf
116 111 \fBtnf_kthread_id\fR \fItid\fR
117 112 \fBtnf_microstate\fR \fIstate\fR
118 113 .fi
119 114 .in -2
120 115
121 116 .sp
122 117 .LP
123 118 Thread microstate transition events.
124 119 .sp
125 120 .ne 2
126 121 .na
127 122 \fB\fItid\fR\fR
128 123 .ad
129 124 .RS 9n
130 125 Optional; if it is absent, the event is for the writing thread, otherwise the
131 126 event is for the specified thread.
132 127 .RE
133 128
134 129 .sp
135 130 .ne 2
136 131 .na
137 132 \fB\fIstate\fR\fR
138 133 .ad
139 134 .RS 9n
140 135 Indicates the thread state:
141 136 .RS +4
142 137 .TP
143 138 .ie t \(bu
144 139 .el o
145 140 Running in user mode.
146 141 .RE
147 142 .RS +4
148 143 .TP
149 144 .ie t \(bu
150 145 .el o
151 146 Running in system mode.
152 147 .RE
153 148 .RS +4
154 149 .TP
155 150 .ie t \(bu
156 151 .el o
157 152 Asleep waiting for a user-mode lock.
158 153 .RE
159 154 .RS +4
160 155 .TP
161 156 .ie t \(bu
162 157 .el o
163 158 Asleep on a kernel object.
164 159 .RE
165 160 .RS +4
166 161 .TP
167 162 .ie t \(bu
168 163 .el o
169 164 Runnable (waiting for a cpu).
170 165 .RE
171 166 .RS +4
172 167 .TP
173 168 .ie t \(bu
↓ open down ↓ |
50 lines elided |
↑ open up ↑ |
174 169 .el o
175 170 Stopped.
176 171 .RE
177 172 The values of this member are defined in <\fBsys/msacct.h\fR>. Note that to
178 173 reduce trace output, transitions between the \fIsystem\fR and \fIuser\fR
179 174 microstates that are induced by system calls are not traced. This information
180 175 is implicit in the system call entry and exit events.
181 176 .RE
182 177
183 178 .SS "thread_exit"
184 -.sp
185 -.LP
186 179 Thread termination event for writing thread. This probe has no data members
187 180 other than the common members.
188 181 .SS "Scheduling"
189 -.sp
190 -.LP
191 182 \fB\fR
192 183 .SS "thread_queue"
193 -.sp
194 184 .in +2
195 185 .nf
196 186 \fBtnf_kthread_id\fR \fItid\fR
197 187 \fBtnf_cpuid\fR \fIcpuid\fR
198 188 \fBtnf_long\fR \fIpriority\fR
199 189 \fBtnf_ulong\fR \fIqueue_length\fR
200 190 .fi
201 191 .in -2
202 192
203 193 .sp
204 194 .LP
205 195 Thread scheduling events. These are triggered when a runnable thread is placed
206 196 on a dispatch queue.
207 197 .sp
208 198 .ne 2
209 199 .na
210 200 \fB\fIcpuid\fR\fR
211 201 .ad
212 202 .RS 16n
213 203 Specifies the cpu to which the queue is attached.
214 204 .RE
215 205
216 206 .sp
217 207 .ne 2
218 208 .na
219 209 \fB\fIpriority\fR\fR
220 210 .ad
221 211 .RS 16n
222 212 The (global) dispatch priority of the thread.
223 213 .RE
224 214
225 215 .sp
↓ open down ↓ |
22 lines elided |
↑ open up ↑ |
226 216 .ne 2
227 217 .na
228 218 \fB\fIqueue_length\fR\fR
229 219 .ad
230 220 .RS 16n
231 221 The current length of the cpu's dispatch queue.
232 222 .RE
233 223
234 224 .SS "Blocking"
235 225 .SS "\fBthread_block\fR"
236 -.sp
237 226 .in +2
238 227 .nf
239 228 \fBtnf_opaque\fR \fIreason\fR
240 229 \fBtnf_symbols\fR \fIstack\fR
241 230 .fi
242 231 .in -2
243 232
244 233 .sp
245 234 .LP
246 235 Thread blockage event. This probe captures a partial stack backtrace when the
247 236 current thread blocks.
248 237 .sp
249 238 .ne 2
250 239 .na
251 240 \fB\fIreason\fR\fR
252 241 .ad
253 242 .RS 11n
254 243 The address of the object on which the thread is blocking.
255 244 .RE
256 245
257 246 .sp
258 247 .ne 2
↓ open down ↓ |
12 lines elided |
↑ open up ↑ |
259 248 .na
260 249 \fB\fIsymbols\fR\fR
261 250 .ad
262 251 .RS 11n
263 252 References a \fBTNF\fR array of kernel addresses representing the PCs on the
264 253 stack at the time the thread blocks.
265 254 .RE
266 255
267 256 .SS "System Calls"
268 257 .SS "\fBsyscall_start\fR"
269 -.sp
270 258 .in +2
271 259 .nf
272 260 \fBtnf_sysnum\fR \fIsysnum\fR
273 261 .fi
274 262 .in -2
275 263
276 264 .sp
277 265 .LP
278 266 System call entry event.
279 267 .sp
280 268 .ne 2
281 269 .na
282 270 \fB\fIsysnum\fR\fR
283 271 .ad
284 272 .RS 10n
285 273 The system call number. The writing thread implicitly enters the \fIsystem\fR
286 274 microstate with this event.
287 275 .RE
288 276
289 277 .SS "\fBsyscall_end\fR"
290 -.sp
291 278 .in +2
292 279 .nf
293 280 \fBtnf_long\fR \fIrval1\fR
294 281 \fBtnf_long\fR \fIrval2\fR
295 282 \fBtnf_long\fR \fIerrno\fR
296 283 .fi
297 284 .in -2
298 285
299 286 .sp
300 287 .LP
301 288 System call exit event.
302 289 .sp
303 290 .ne 2
304 291 .na
305 292 \fB\fIrval1\fR and \fIrval2\fR\fR
306 293 .ad
307 294 .RS 19n
308 295 The two return values of the system call
309 296 .RE
310 297
311 298 .sp
312 299 .ne 2
313 300 .na
314 301 \fB\fIerrno\fR\fR
↓ open down ↓ |
14 lines elided |
↑ open up ↑ |
315 302 .ad
316 303 .RS 19n
317 304 The error return.
318 305 .RE
319 306
320 307 .sp
321 308 .LP
322 309 The writing thread implicitly enters the \fIuser\fR microstate with this event.
323 310 .SS "Page Faults"
324 311 .SS "\fBaddress_fault\fR"
325 -.sp
326 312 .in +2
327 313 .nf
328 314 \fBtnf_opaque\fR \fIaddress\fR
329 315 \fBtnf_fault_type\fR \fIfault_type\fR
330 316 \fBtnf_seg_access\fR \fIaccess\fR
331 317 .fi
332 318 .in -2
333 319
334 320 .sp
335 321 .LP
336 322 Address-space fault event.
337 323 .sp
338 324 .ne 2
339 325 .na
340 326 \fB\fIaddress\fR\fR
341 327 .ad
342 328 .RS 14n
343 329 Gives the faulting virtual address.
344 330 .RE
345 331
346 332 .sp
347 333 .ne 2
348 334 .na
349 335 \fB\fIfault_type\fR\fR
350 336 .ad
351 337 .RS 14n
352 338 Gives the fault type: invalid page, protection fault, software requested
353 339 locking or unlocking.
354 340 .RE
355 341
356 342 .sp
↓ open down ↓ |
21 lines elided |
↑ open up ↑ |
357 343 .ne 2
358 344 .na
359 345 \fB\fIaccess\fR\fR
360 346 .ad
361 347 .RS 14n
362 348 Gives the desired access protection: read, write, execute or create. The values
363 349 for these two members are defined in <\fBvm/seg_enum.h\fR>.
364 350 .RE
365 351
366 352 .SS "\fBmajor_fault\fR"
367 -.sp
368 353 .in +2
369 354 .nf
370 355 \fBtnf_opaque\fR \fIvnode\fR
371 356 \fBtnf_offset\fR \fIoffset\fR
372 357 .fi
373 358 .in -2
374 359
375 360 .sp
376 361 .LP
377 362 Major page fault event. The faulting page is mapped to the file given by the
378 363 \fIvnode\fR member, at the given \fIoffset\fR into the file. (The faulting
379 364 virtual address is in the most recent \fBaddress_fault\fR event for the writing
380 365 thread.)
381 366 .SS "\fBanon_private\fR"
382 -.sp
383 367 .in +2
384 368 .nf
385 369 \fBtnf_opaque\fR \fIaddress\fR
386 370 .fi
387 371 .in -2
388 372
389 373 .sp
390 374 .LP
391 375 Copy-on-write page fault event.
392 376 .sp
393 377 .ne 2
394 378 .na
395 379 \fB\fIaddress\fR\fR
396 380 .ad
397 381 .RS 11n
398 382 The virtual address at which the new page is mapped.
399 383 .RE
400 384
401 385 .SS "\fBanon_zero\fR"
402 -.sp
403 386 .in +2
404 387 .nf
405 388 \fBtnf_opaque\fR \fIaddress\fR
406 389 .fi
407 390 .in -2
408 391
409 392 .sp
410 393 .LP
411 394 Zero-fill page fault event.
412 395 .sp
413 396 .ne 2
414 397 .na
415 398 \fB\fIaddress\fR\fR
416 399 .ad
417 400 .RS 11n
418 401 The virtual address at which the new page is mapped.
419 402 .RE
420 403
421 404 .SS "\fBpage_unmap\fR"
422 -.sp
423 405 .in +2
424 406 .nf
425 407 \fBtnf_opaque\fR \fIvnode\fR
426 408 \fBtnf_offset\fR \fIoffset\fR
427 409 .fi
428 410 .in -2
429 411
430 412 .sp
431 413 .LP
432 414 Page unmapping event. This probe marks the unmapping of a file system page
433 415 from the system.
434 416 .sp
↓ open down ↓ |
2 lines elided |
↑ open up ↑ |
435 417 .ne 2
436 418 .na
437 419 \fB\fIvnode\fR and \fIoffset\fR\fR
438 420 .ad
439 421 .RS 20n
440 422 Identifies the file and offset of the page being unmapped.
441 423 .RE
442 424
443 425 .SS "Pageins and Pageouts"
444 426 .SS "\fBpagein\fR"
445 -.sp
446 427 .in +2
447 428 .nf
448 429 \fBtnf_opaque\fR \fIvnode\fR
449 430 \fBtnf_offset\fR \fIoffset\fR
450 431 \fBtnf_size\fR \fIsize\fR
451 432 .fi
452 433 .in -2
453 434
454 435 .sp
455 436 .LP
456 437 Pagein start event. This event signals the initiation of pagein I/O.
457 438 .sp
458 439 .ne 2
459 440 .na
460 441 \fB\fIvnode\fRand\fIoffset\fR\fR
461 442 .ad
462 443 .RS 18n
463 -Identifyies the file and offset to be paged in.
444 +Identifies the file and offset to be paged in.
464 445 .RE
465 446
466 447 .sp
467 448 .ne 2
468 449 .na
469 450 \fB\fIsize\fR\fR
470 451 .ad
471 452 .RS 18n
472 453 Specifies the number of bytes to be paged in.
473 454 .RE
474 455
475 456 .SS "\fBpageout\fR"
476 -.sp
477 457 .in +2
478 458 .nf
479 459 \fBtnf_opaque\fR \fIvnode\fR
480 460 \fBtnf_ulong\fR \fIpages_pageout\fR
481 461 \fBtnf_ulong\fR \fIpages_freed\fR
482 462 \fBtnf_ulong\fR \fIpages_reclaimed\fR
483 463 .fi
484 464 .in -2
485 465
486 466 .sp
487 467 .LP
488 468 Pageout completion event. This event signals the completion of pageout I/O.
489 469 .sp
490 470 .ne 2
491 471 .na
492 472 \fB\fIvnode\fR\fR
493 473 .ad
494 474 .RS 19n
495 475 Identifies the file of the pageout request.
496 476 .RE
497 477
498 478 .sp
499 479 .ne 2
500 480 .na
501 481 \fB\fIpages_pageout\fR\fR
502 482 .ad
503 483 .RS 19n
504 484 The number of pages written out.
505 485 .RE
506 486
507 487 .sp
508 488 .ne 2
509 489 .na
510 490 \fB\fIpages_freed\fR\fR
511 491 .ad
512 492 .RS 19n
513 493 The number of pages freed after being written out.
514 494 .RE
515 495
516 496 .sp
↓ open down ↓ |
30 lines elided |
↑ open up ↑ |
517 497 .ne 2
518 498 .na
519 499 \fB\fIpages_reclaimed\fR\fR
520 500 .ad
521 501 .RS 19n
522 502 The number of pages reclaimed after being written out.
523 503 .RE
524 504
525 505 .SS "Page Daemon (Page Stealer)"
526 506 .SS "\fBpageout_scan_start\fR"
527 -.sp
528 507 .in +2
529 508 .nf
530 509 \fBtnf_ulong\fR \fIpages_free\fR
531 510 \fBtnf_ulong\fR \fIpages_needed\fR
532 511 .fi
533 512 .in -2
534 513
535 514 .sp
536 515 .LP
537 516 Page daemon scan start event. This event signals the beginning of one
538 517 iteration of the page daemon.
539 518 .sp
540 519 .ne 2
541 520 .na
542 521 \fB\fIpages_free\fR\fR
543 522 .ad
544 523 .RS 16n
545 524 The number of free pages in the system.
546 525 .RE
547 526
↓ open down ↓ |
10 lines elided |
↑ open up ↑ |
548 527 .sp
549 528 .ne 2
550 529 .na
551 530 \fB\fIpages_needed\fR\fR
552 531 .ad
553 532 .RS 16n
554 533 The number of pages desired free.
555 534 .RE
556 535
557 536 .SS "\fBpageout_scan_end\fR"
558 -.sp
559 537 .in +2
560 538 .nf
561 539 \fBtnf_ulong\fR \fIpages_free\fR
562 540 \fBtnf_ulong\fR \fIpages_scanned\fR
563 541 .fi
564 542 .in -2
565 543
566 544 .sp
567 545 .LP
568 546 Page daemon scan end event. This event signals the end of one iteration of the
569 547 page daemon.
570 548 .sp
571 549 .ne 2
572 550 .na
573 551 \fB\fIpages_free\fR\fR
574 552 .ad
575 553 .RS 17n
576 554 The number of free pages in the system.
577 555 .RE
578 556
579 557 .sp
580 558 .ne 2
↓ open down ↓ |
12 lines elided |
↑ open up ↑ |
581 559 .na
582 560 \fB\fIpages_scanned\fR\fR
583 561 .ad
584 562 .RS 17n
585 563 The number of pages examined by the page daemon. (Potentially more pages will
586 564 be freed when any queued pageout requests complete.)
587 565 .RE
588 566
589 567 .SS "Swapper"
590 568 .SS "\fBswapout_process\fR"
591 -.sp
592 569 .in +2
593 570 .nf
594 571 \fBtnf_pid\fR \fIpid\fR
595 572 \fBtnf_ulong\fR \fIpage_count\fR
596 573 .fi
597 574 .in -2
598 575
599 576 .sp
600 577 .LP
601 578 Address space swapout event. This event marks the swapping out of a process
602 579 address space.
603 580 .sp
604 581 .ne 2
605 582 .na
606 583 \fB\fIpid\fR\fR
607 584 .ad
608 585 .RS 14n
609 586 Identifies the process.
610 587 .RE
611 588
↓ open down ↓ |
10 lines elided |
↑ open up ↑ |
612 589 .sp
613 590 .ne 2
614 591 .na
615 592 \fB\fIpage_count\fR\fR
616 593 .ad
617 594 .RS 14n
618 595 Reports the number of pages either freed or queued for pageout.
619 596 .RE
620 597
621 598 .SS "\fBswapout_lwp\fR"
622 -.sp
623 599 .in +2
624 600 .nf
625 601 \fBtnf_pid\fR \fIpid\fR
626 602 \fBtnf_lwpid\fR \fIlwpid\fR
627 603 \fBtnf_kthread_id\fR \fItid\fR
628 604 \fBtnf_ulong\fR \fIpage_count\fR
629 605 .fi
630 606 .in -2
631 607
632 608 .sp
633 609 .LP
634 610 Light-weight process swapout event. This event marks the swapping out of an
635 611 \fBLWP\fR and its stack.
636 612 .sp
637 613 .ne 2
638 614 .na
639 615 \fB\fIpid\fR\fR
640 616 .ad
641 617 .RS 14n
642 618 The \fBLWP's\fR process identifier
643 619 .RE
644 620
645 621 .sp
646 622 .ne 2
647 623 .na
648 624 \fB\fIlwpid\fR\fR
649 625 .ad
650 626 .RS 14n
651 627 The \fBLWP\fR identifier
652 628 .RE
653 629
654 630 .sp
655 631 .ne 2
656 632 .na
657 633 \fB\fItid\fR \fImember\fR\fR
658 634 .ad
659 635 .RS 14n
660 636 The \fBLWP's\fR kernel thread identifier.
661 637 .RE
662 638
↓ open down ↓ |
30 lines elided |
↑ open up ↑ |
663 639 .sp
664 640 .ne 2
665 641 .na
666 642 \fB\fIpage_count\fR\fR
667 643 .ad
668 644 .RS 14n
669 645 The number of pages swapped out.
670 646 .RE
671 647
672 648 .SS "\fBswapin_lwp\fR"
673 -.sp
674 649 .in +2
675 650 .nf
676 651 \fBtnf_pid\fR \fIpid\fR
677 652 \fBtnf_lwpid\fR \fIlwpid\fR
678 653 \fBtnf_kthread_id\fR \fItid\fR
679 654 \fBtnf_ulong\fR \fIpage_count\fR
680 655 .fi
681 656 .in -2
682 657
683 658 .sp
684 659 .LP
685 660 Light-weight process swapin event. This event marks the swapping in of an
686 661 \fBLWP\fR and its stack.
687 662 .sp
688 663 .ne 2
689 664 .na
690 665 \fB\fIpid\fR\fR
691 666 .ad
692 667 .RS 14n
693 668 The \fBLWP's\fR process identifier.
694 669 .RE
695 670
696 671 .sp
697 672 .ne 2
698 673 .na
699 674 \fB\fIlwpid\fR\fR
700 675 .ad
701 676 .RS 14n
702 677 The \fBLWP\fR identifier.
703 678 .RE
704 679
705 680 .sp
706 681 .ne 2
707 682 .na
708 683 \fB\fItid\fR\fR
709 684 .ad
710 685 .RS 14n
711 686 The \fBLWP's\fR kernel thread identifier.
712 687 .RE
713 688
714 689 .sp
↓ open down ↓ |
31 lines elided |
↑ open up ↑ |
715 690 .ne 2
716 691 .na
717 692 \fB\fIpage_count\fR\fR
718 693 .ad
719 694 .RS 14n
720 695 The number of pages swapped in.
721 696 .RE
722 697
723 698 .SS "Local I/O"
724 699 .SS "\fBstrategy\fR"
725 -.sp
726 700 .in +2
727 701 .nf
728 702 \fBtnf_device\fR \fIdevice\fR
729 703 \fBtnf_diskaddr\fR \fIblock\fR
730 704 \fBtnf_size\fR \fIsize\fR
731 705 \fBtnf_opaque\fR \fIbuf\fR
732 706 \fBtnf_bioflags\fR \fI flags\fR
733 707 .fi
734 708 .in -2
735 709
736 710 .sp
737 711 .LP
738 712 Block I/O strategy event. This event marks a call to the \fBstrategy\fR(9E)
739 713 function of a block device driver.
740 714 .sp
741 715 .ne 2
742 716 .na
743 717 \fB\fIdevice\fR\fR
744 718 .ad
745 719 .RS 10n
746 720 Contains the major and minor numbers of the device.
747 721 .RE
748 722
749 723 .sp
750 724 .ne 2
751 725 .na
752 726 \fB\fIblock\fR\fR
753 727 .ad
754 728 .RS 10n
755 729 The logical block number to be accessed on the device.
756 730 .RE
757 731
758 732 .sp
759 733 .ne 2
760 734 .na
761 735 \fB\fIsize\fR\fR
762 736 .ad
763 737 .RS 10n
764 738 The size of the I/O request.
765 739 .RE
766 740
767 741 .sp
768 742 .ne 2
769 743 .na
770 744 \fB\fIbuf\fR\fR
771 745 .ad
772 746 .RS 10n
773 747 The kernel address of the \fBbuf\fR(9S) structure associated with the transfer.
774 748 .RE
775 749
↓ open down ↓ |
40 lines elided |
↑ open up ↑ |
776 750 .sp
777 751 .ne 2
778 752 .na
779 753 \fB\fIflags\fR\fR
780 754 .ad
781 755 .RS 10n
782 756 The \fBbuf\fR(9S) flags associated with the transfer.
783 757 .RE
784 758
785 759 .SS "\fBbiodone\fR"
786 -.sp
787 760 .in +2
788 761 .nf
789 762 \fBtnf_device\fR \fIdevice\fR
790 763 \fBtnf_diskaddr\fR \fIblock\fR
791 764 \fBtnf_opaque\fR \fIbuf\fR
792 765 .fi
793 766 .in -2
794 767
795 768 .sp
796 769 .LP
797 770 Buffered I/O completion event. This event marks calls to the \fBbiodone\fR(9F)
798 771 function.
799 772 .sp
800 773 .ne 2
801 774 .na
802 775 \fB\fIdevice\fR\fR
803 776 .ad
804 777 .RS 10n
805 778 Contains the major and minor numbers of the device.
806 779 .RE
807 780
808 781 .sp
809 782 .ne 2
810 783 .na
811 784 \fB\fIblock\fR\fR
812 785 .ad
813 786 .RS 10n
814 787 The logical block number accessed on the device.
815 788 .RE
816 789
↓ open down ↓ |
20 lines elided |
↑ open up ↑ |
817 790 .sp
818 791 .ne 2
819 792 .na
820 793 \fB\fIbuf\fR\fR
821 794 .ad
822 795 .RS 10n
823 796 The kernel address of the \fBbuf\fR(9S) structure associated with the transfer.
824 797 .RE
825 798
826 799 .SS "\fBphysio_start\fR"
827 -.sp
828 800 .in +2
829 801 .nf
830 802 \fBtnf_device\fR \fIdevice\fR
831 803 \fBtnf_offset\fR \fIoffset\fR
832 804 \fBtnf_size\fR \fIsize\fR
833 805 \fBtnf_bioflags\fR \fIrw\fR
834 806 .fi
835 807 .in -2
836 808
837 809 .sp
838 810 .LP
839 811 Raw I/O start event. This event marks entry into the \fBphysio\fR(9F)
840 -fufnction which performs unbuffered I/O.
812 +function which performs unbuffered I/O.
841 813 .sp
842 814 .ne 2
843 815 .na
844 816 \fB\fIdevice\fR\fR
845 817 .ad
846 818 .RS 10n
847 819 Contains the major and minor numbers of the device of the transfer.
848 820 .RE
849 821
850 822 .sp
851 823 .ne 2
852 824 .na
853 825 \fB\fIoffset\fR\fR
854 826 .ad
855 827 .RS 10n
856 828 The logical offset on the device for the transfer.
857 829 .RE
858 830
859 831 .sp
860 832 .ne 2
861 833 .na
862 834 \fB\fIsize\fR\fR
863 835 .ad
864 836 .RS 10n
865 837 The number of bytes to be transferred.
866 838 .RE
867 839
↓ open down ↓ |
17 lines elided |
↑ open up ↑ |
868 840 .sp
869 841 .ne 2
870 842 .na
871 843 \fB\fIrw\fR\fR
872 844 .ad
873 845 .RS 10n
874 846 The direction of the transfer: read or write (see \fBbuf\fR(9S)).
875 847 .RE
876 848
877 849 .SS "\fBphysio_end\fR"
878 -.sp
879 850 .in +2
880 851 .nf
881 852 \fBtnf_device\fR \fIdevice\fR
882 853 .fi
883 854 .in -2
884 855
885 856 .sp
886 857 .LP
887 -Raw I/O end event. This event marks exit from the \fBphysio\fR(9F) fufnction.
858 +Raw I/O end event. This event marks exit from the \fBphysio\fR(9F) function.
888 859 .sp
889 860 .ne 2
890 861 .na
891 862 \fB\fIdevice\fR\fR
892 863 .ad
893 864 .RS 10n
894 865 The major and minor numbers of the device of the transfer.
895 866 .RE
896 867
897 868 .SH USAGE
898 -.sp
899 -.LP
900 869 Use the \fBprex\fR utility to control kernel probes. The standard \fBprex\fR
901 870 commands to list and manipulate probes are available to you, along with
902 871 commands to set up and manage kernel tracing.
903 872 .sp
904 873 .LP
905 874 Kernel probes write trace records into a kernel trace buffer. You must copy the
906 875 buffer into a TNF file for post-processing; use the \fBtnfxtract\fR utility for
907 876 this.
908 877 .sp
909 878 .LP
910 879 You use the \fBtnfdump\fR utility to examine a kernel trace file. This is
911 880 exactly the same as examining a user-level trace file.
912 881 .sp
913 882 .LP
914 883 The steps you typically follow to take a kernel trace are:
915 884 .RS +4
916 885 .TP
917 886 1.
918 887 Become superuser (\fBsu\fR).
919 888 .RE
920 889 .RS +4
921 890 .TP
922 891 2.
923 892 Allocate a kernel trace buffer of the desired size (\fBprex\fR).
924 893 .RE
925 894 .RS +4
926 895 .TP
927 896 3.
928 897 Select the probes you want to trace and enable (\fBprex\fR).
929 898 .RE
930 899 .RS +4
931 900 .TP
932 901 4.
933 902 Turn kernel tracing on (\fBprex\fR).
934 903 .RE
935 904 .RS +4
936 905 .TP
937 906 5.
938 907 Run your application.
939 908 .RE
940 909 .RS +4
941 910 .TP
942 911 6.
943 912 Turn kernel tracing off (\fBprex\fR).
944 913 .RE
945 914 .RS +4
946 915 .TP
947 916 7.
948 917 Extract the kernel trace buffer (\fBtnfxtract\fR).
949 918 .RE
950 919 .RS +4
951 920 .TP
952 921 8.
953 922 Disable all probes (\fBprex\fR).
954 923 .RE
955 924 .RS +4
956 925 .TP
957 926 9.
958 927 Deallocate the kernel trace buffer (\fBprex\fR).
959 928 .RE
960 929 .RS +4
↓ open down ↓ |
51 lines elided |
↑ open up ↑ |
961 930 .TP
962 931 10.
963 932 Examine the trace file (\fBtnfdump\fR).
964 933 .RE
965 934 .sp
966 935 .LP
967 936 A convenient way to follow these steps is to use two shell windows; run an
968 937 interactive \fBprex\fR session in one, and run your application and
969 938 \fBtnfxtract\fR in the other.
970 939 .SH SEE ALSO
971 -.sp
972 -.LP
973 940 \fBprex\fR(1), \fBtnfdump\fR(1), \fBtnfxtract\fR(1), \fBlibtnfctl\fR(3TNF),
974 941 \fBTNF_PROBE\fR(3TNF), \fBtracing\fR(3TNF), \fBstrategy\fR(9E),
975 942 \fBbiodone\fR(9F), \fBphysio\fR(9F), \fBbuf\fR(9S)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX