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








Reply via email to