-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Roland McGrath
authored and
Linus Torvalds
committed
Jul 26, 2008
1 parent
12bd62b
commit b39d949
Showing
3 changed files
with
86 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
--- | ||
refs/heads/master: 267e2a9c71b8e088ac307f9549f71468e86e26c1 | ||
refs/heads/master: 88ac2921a71f788ed693bcd44731dd6bc1994640 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
/* | ||
* Tracing hooks | ||
* | ||
* Copyright (C) 2008 Red Hat, Inc. All rights reserved. | ||
* | ||
* This copyrighted material is made available to anyone wishing to use, | ||
* modify, copy, or redistribute it subject to the terms and conditions | ||
* of the GNU General Public License v.2. | ||
* | ||
* This file defines hook entry points called by core code where | ||
* user tracing/debugging support might need to do something. These | ||
* entry points are called tracehook_*(). Each hook declared below | ||
* has a detailed kerneldoc comment giving the context (locking et | ||
* al) from which it is called, and the meaning of its return value. | ||
* | ||
* Each function here typically has only one call site, so it is ok | ||
* to have some nontrivial tracehook_*() inlines. In all cases, the | ||
* fast path when no tracing is enabled should be very short. | ||
* | ||
* The purpose of this file and the tracehook_* layer is to consolidate | ||
* the interface that the kernel core and arch code uses to enable any | ||
* user debugging or tracing facility (such as ptrace). The interfaces | ||
* here are carefully documented so that maintainers of core and arch | ||
* code do not need to think about the implementation details of the | ||
* tracing facilities. Likewise, maintainers of the tracing code do not | ||
* need to understand all the calling core or arch code in detail, just | ||
* documented circumstances of each call, such as locking conditions. | ||
* | ||
* If the calling core code changes so that locking is different, then | ||
* it is ok to change the interface documented here. The maintainer of | ||
* core code changing should notify the maintainers of the tracing code | ||
* that they need to work out the change. | ||
* | ||
* Some tracehook_*() inlines take arguments that the current tracing | ||
* implementations might not necessarily use. These function signatures | ||
* are chosen to pass in all the information that is on hand in the | ||
* caller and might conceivably be relevant to a tracer, so that the | ||
* core code won't have to be updated when tracing adds more features. | ||
* If a call site changes so that some of those parameters are no longer | ||
* already on hand without extra work, then the tracehook_* interface | ||
* can change so there is no make-work burden on the core code. The | ||
* maintainer of core code changing should notify the maintainers of the | ||
* tracing code that they need to work out the change. | ||
*/ | ||
|
||
#ifndef _LINUX_TRACEHOOK_H | ||
#define _LINUX_TRACEHOOK_H 1 | ||
|
||
#include <linux/sched.h> | ||
#include <linux/ptrace.h> | ||
|
||
#endif /* <linux/tracehook.h> */ |