Hi,
Just took a quick look at the generated html. Found some small problems,
you know I am not native speaker of English. Maybe some are inaccurate.
Chapter 1. utrace concepts
The first of these is that unrelated tracing engines "not interfere"
with each other.
**verb**
The second important property is that tracing "be" as noninvasive as
possible to the normal operation of the system overall and of the traced
thread in particular.
**verb**
Even when you explicitly want the "pertrubation" of making the traced
thread block,
**typo**
Chapter 2. utrace core API
This call may block the caller until target stays stopped, so it must be
called only after the caller is sure target is about to "unschedule".
**typo**
utrace_finish_examine - "prepare to examine thread state"
**incorrect description**
Chapter 4. Kernel Internals
tracehook_prepare_release_task - task is being reaped, clean up tracing
tracehook_finish_release_task - task is being reaped, clean up tracing
**same description**
tracehook_tracer_task —
Returns NULL if "noone" is tracing task, or the struct task_struct
pointer to its tracer.
**typo**
tracehook_finish_clone —
return value from "tracehook_clone_prepare"
**incorrect function name**
tracehook_report_clone —
return value from "tracehook_clone_prepare"
The trace value is that returned by "tracehook_clone_prepare".
**incorrect function name**
Suspend the child here if desired, and block in
"tracehook_clone_complete". This must prevent the child from
self-reaping if "tracehook_clone_complete" uses the child pointer
**incorrect function name**
tracehook_report_clone_complete —
return value from "tracehook_clone_prepare"
**incorrect function name**
Regards,
Wenji